| Title Page | 1 |
|---|
| Copyright Page | 2 |
|---|
| Contents at a Glance | 4 |
|---|
| Table of Contents | 5 |
|---|
| Foreword | 10 |
|---|
| About the Authors | 12 |
|---|
| About the Technical Reviewer | 13 |
|---|
| Acknowledgments | 14 |
|---|
| Introduction | 15 |
|---|
| Part 1: Platform Development and Distribution | 15 |
| Part 2: Cross-Platform Native Frameworks | 16 |
| Part 3: HTML Interfaces | 16 |
| Chapter 1 The Smartphone is the New PC | 17 |
|---|
| Application Marketplace | 18 |
| Increase in Mobile Usage and Trend Toward Smartphones | 18 |
| What is a Smartphone? | 20 |
| Smartphone Landscape | 20 |
| Cross-Platform Frameworks | 21 |
| The Branded Experience of Mobile Applications | 22 |
| Cross-Platform Development | 25 |
| Web Techniques | 26 |
| Cross-Platform Frameworks | 26 |
| About this Book | 29 |
| Part I Platform Development and Distribution | 31 |
|---|
| Chapter 2 iPhone | 32 |
|---|
| Introducing Xcode | 32 |
| iPhone Development Standard Practices | 33 |
| Building a Simple iPhone app | 33 |
| Create the Xcode Project | 34 |
| Create the Interface | 35 |
| Add UI Elements | 36 |
| Align the Text Greeting | 37 |
| Button and Text Field Layout | 37 |
| Writing the Controller Code | 38 |
| Connect the Code to the Views | 40 |
| Skinning an iPhone Web View | 41 |
| Installing the App on the Device | 44 |
| Using the Development Provisioning Assistant | 44 |
| Manually Setting Up iPhone Provisioning | 45 |
| Finding Your Device ID | 46 |
| Create the Provisioning Profile | 47 |
| Install the Provisioning Profile | 47 |
| Install and Run on the Device | 47 |
| Chapter 3 Android | 49 |
|---|
| Android Development | 50 |
| Setting Up The Development Environment With Eclipse | 50 |
| Building a Simple Android Application | 53 |
| Simple Application Using Android WebView | 60 |
| Building for an Android Device | 62 |
| Distribution on the Web | 64 |
| Android Market | 64 |
| Chapter 4 BlackBerry | 65 |
|---|
| BlackBerry Platform | 65 |
| Set Up for Classic Java Development | 66 |
| Building a Simple BlackBerry Application | 67 |
| Create the Eclipse Project | 67 |
| Create the Interface | 69 |
| Code Explained | 71 |
| Build and Test the Application | 72 |
| Simple User Interface Application Using a Label, Text Field, and Button | 72 |
| Code Explained | 74 |
| Simple Application Using BlackBerry Browser Field | 75 |
| Building for a BlackBerry Device | 76 |
| Over the Air (OTA) Distribution | 77 |
| BlackBerry App World | 77 |
| Chapter 5 Windows Mobile | 79 |
|---|
| Setting Up for Windows Mobile 6.5 Development | 80 |
| Building a Simple Windows Mobile App | 81 |
| Creating a Smart Device Project | 81 |
| Setting Up Base Functionality | 82 |
| Add a Button to the View | 83 |
| Customize the Button | 84 |
| Create a Click Event Handler | 85 |
| Deploying and Test your Application | 86 |
| Fleshing Out the Application | 87 |
| Embed a Web View in your Application | 89 |
| Create an HTML page | 89 |
| Add a WebBrowser Control | 89 |
| Load HTML in WebBrowser control | 90 |
| Packaging and Distributing Your App | 90 |
| Adding a CAB Project to the Solution | 91 |
| Customizing Your Product Name | 91 |
| Adding the Application to the CAB Project | 92 |
| Creating an Application Shortcut | 92 |
| Adding a Registry Entry | 92 |
| Building and Deploying the CAB File | 92 |
| Installing the CAB File | 93 |
| Distributing Your Application | 94 |
| Part 2 Cross-Platform Native Frameworks | 95 |
|---|
| Chapter 6 Rhodes | 96 |
|---|
| Development Architecture | 97 |
| Runtime Architecture | 98 |
| Device Capabilities and Native UI Elements | 99 |
| Database (Rhom) | 99 |
| Threading | 100 |
| Differences Between Rhodes and Rails | 101 |
| Creating a Rhodes App | 101 |
| Installation and Setup | 101 |
| Building a Rhodes Application | 102 |
| Running the Application | 104 |
| Running on the iPhone | 106 |
| Running on Android | 107 |
| Running on BlackBerry | 107 |
| Running on Windows Mobile 6 | 108 |
| Generating a Model | 108 |
| Debugging Tips | 113 |
| iPhone | 113 |
| BlackBerry | 114 |
| Android | 114 |
| Rhodes Device Capabilities | 114 |
| Contacts Example | 116 |
| Camera Example | 119 |
| Geolocation and Mapping Example | 121 |
| Creating the application | 122 |
| Chapter 7 RhoSync | 125 |
|---|
| How the Sync Server Works | 126 |
| Data Storage: Why Triples? | 126 |
| RhoSync Source Adapters | 127 |
| Initialize | 128 |
| Authenticating with Web S
|