|
![]() |
|||
|
||||
OverviewBring Your iPhone Apps and Skills to Windows Phone 7–or Build Apps for Both Mobile Platforms at Once If you’ve been developing for the competitive iPhone marketplace, this book will help you leverage your iOS skills on a fast-growing new platform: Windows Phone 7 (WP7). If you’re a .NET programmer, it will help you build advanced WP7 mobile solutions that reflect valuable lessons learned by iOS developers. If you’re a mobile development manager, it offers indispensable insights for planning cross-platform projects. Kevin Hoffman guides you through the entire WP7 Software Development Kit (SDK), showing how it resembles Apple’s iOS SDK, where it differs, and how to build production-quality WP7 apps that sell. Step by step, you’ll master each technology you’ll need, including C#, Silverlight, and XAML. Every new concept is introduced along with all the tools and background needed to apply it. Hoffman’s practical insights extend into every facet of WP7 development: building user interfaces; hardware and device services; WP7’s unique Application Tiles; Push Notifications; the Phone Execution Model, local storage, smart clients, Model-View-View Model (MVVM) design, security, social gaming, testing, debugging, deployment, and more. A pleasure to read and packed with realistic examples, this is the most useful WP7 development book you can find. · Compare Apple’s Objective-C and Microsoft’s C#: “second cousins twice removed” · Build rich, compelling user interfaces based on Silverlight, XAML, and events · Move from Apple’s Xcode to Visual Studio 2010 and from Interface Builder to Expression Blend · Leverage hardware and device services, including the accelerometer, GPS, photos, contacts, e-mail, and SMS · Create dynamic application Tiles to appear on the Start screen · “Push” raw data notifications to running apps · Understand and use the WP7 phone execution model · Efficiently store and retrieve data on WP7 phones · Build “smart clients” that sync locally stored data with web services · Manage growing app complexity through “separation of concerns” and MVVM · Successfully deploy apps to the Marketplace Full Product DetailsAuthor: Kevin HoffmanPublisher: Pearson Education (US) Imprint: Addison-Wesley Educational Publishers Inc Dimensions: Width: 22.60cm , Height: 1.70cm , Length: 18.00cm Weight: 0.526kg ISBN: 9780672334344ISBN 10: 0672334348 Pages: 336 Publication Date: 11 August 2011 Audience: Professional and scholarly , Professional & Vocational Format: Paperback Publisher's Status: Out of Print Availability: In Print ![]() Limited stock is available. It will be ordered for you and shipped pending supplier's limited stock. Table of ContentsChapter 1: Introduction 1 Who Are You and Why Should I Care? 1 Why Should I Read This Book? 2 What’s in This Book? 3 Chapter 2: C# and Objective-C: Second Cousins Twice Removed 9 The Origin of Objective-C 9 The Origin of C# 10 Language Basics 11 Core Syntax 11 Method Calls and Message Passing 14 Memory Management 15 Reference Counting and Object Ownership 15 Garbage Collection 16 Cleaning Up After Yourself–Object Finalization 18 Chapter 3: Object-Oriented Programming 21 Why OOP? 21 Building a Class 22 Encapsulating Data 23 Adding Behavior 26 Inheritance 28 Programming with Contracts 32 Namespaces Versus Naming Conventions 35 Extending Other People’s Classes 35 Chapter 4: Event-Driven Programming 39 What Is Event-Driven Programming? 39 Using the Delegate Pattern in Objective-C 40 Using Events in C# 42 Global Events and NSNotifications 46 Chapter 5: Rendering and View System Basics 51 Review of the UIKit View System 51 Displaying Graphics and Rendering in iOS 52 Introduction to XAML and Silverlight 53 Introduction to Silverlight Layout and Rendering 55 The Two-Pass Mantra: Measure and Arrange 55 Chapter 6: From Xcode to Visual Studio 59 Xcode and iOS Application Development 59 Getting Started with Visual Studio 2010 62 Introduction to Visual Studio 2010 63 Chapter 7: Introducing Expression Blend 69 Overview of Apple’s Interface Builder 69 Introduction to Expression Blend 72 Blend Tutorial–Working with Visual States 76 Chapter 8: Using Basic UI Elements 83 Using the Basic Controls 83 Using Text Blocks 84 Accepting User Input with TextBoxes 86 Working with Buttons 88 Accepting Other Forms of User Input 91 Displaying Images 93 Using a Basic List Box 94 Performing Basic Animations 97 Introduction to Layout in Silverlight 100 Painting on Canvas 100 Working with the StackPanel 101 Using the Grid Control 101 Chapter 9: Using Advanced UI Elements 105 Migrating from Navigation Bars 105 Using the Silverlight Navigation System 107 Spicing Up Navigation Events with Animation 111 Migrating from Tab Bar Applications 115 Using the Pivot Control 115 Using a Panorama Application 118 Using the Application Bar 120 Chapter 10: Using Hardware and Device Services 125 Review of Device Capabilities 125 Using Launchers 127 Using the Save Phone Number Task 128 Using the Save Email Address Task 129 Using the Search Task 130 Launching a Web Browser 131 Launching the Media Player 131 Launching the Phone Application 132 Sending a Text Message 132 Composing an Email Message 133 Using Choosers 133 Using the Phone Number Chooser Task 134 Using the Email Address Chooser Task 134 Choosing or Capturing Photos on the Device 135 Using Hardware Services and Sensors 136 Controlling Vibration 136 Accessing a Radio Tuner 137 Using the Accelerometer 138 Using the GPS 141 Chapter 11: Introduction to Application Tiles 145 What Is a Tile? 145 Creating Your First Tile 147 Working with Tile Schedules 148 Using Remote Background Images 151 Chapter 12: Using Push Notifications 153 Review of Apple Push Notification Services (APNS) 153 WP7 Push Notifications Overview 155 Using Toast Notifications 156 Using Raw Notifications 162 Using Tile Notifications 165 Chapter 13: The Phone Execution Model 169 Multitasking on iOS 4 169 Introducing the Phone Execution Model 171 Application Life Cycle Walkthrough 171 Managing Application and Page State 175 Chapter 14: Local Storage on the Phone 181 Core Data on the iPhone 181 Reading and Writing Local Data with WP7 184 Isolated Storage 101 185 Building a Storage-Backed Databound Application 186 Chapter 15: Building Smart Clients 197 Consuming RESTful Services 197 Why LINQ to XML Is Your New Best Friend 198 Consuming WCF Services 204 Chapter 16: Separating Your Concerns 207 A Brief History of MVC 208 Introduction to MVVM 211 Working with MVVM Light for WP7 212 Building a View Model 213 Yes, But Will It Blend? 218 Working with Commands 220 Sending Messages with MVVM Light 223 Look Ma, No Code-Behind! 225 Using Service Providers 227 The AutoMapper 230 Chapter 17: Unit Testing and TDD 233 What Is Test-Driven Development? 233 Red, Green, Refactor 234 Mocks and Stubs 235 Unit Testing iOS Applications 237 Logic Testing 238 Application Testing 239 Unit Testing Windows Phone 7 Applications 239 Working with nUnit 240 Working with the Silverlight Unit Test Framework 241 Mocking and Stubbing 246 Arrange, Act, Assert 248 Refactor. Again. 250 Chapter 18: Building Connected Social Games 253 Features of Connected Mobile Gaming Platforms 254 Lobbies and Matchmakers 254 Leaderboards and Achievements 255 Turn-Based Game Play 256 Real-Time Multiplayer Gaming 257 Overview of Apple’s Game Center and GameKit API 257 Achievements 257 Leaderboards 258 Networking API 258 In-Game Voice Chat 259 Connected Gaming Options for WP7 259 Lobbies and Matchmakers 259 Leaderboards and Achievements 261 Turn-Based Game Play 263 Real-Time Multiplayer Gaming 264 Chapter 19: Securing WP7 Applications 267 What Is a Secure Application? 267 A Fool and His Money 268 WP7 Secure by Default 269 Protecting Data 270 Protecting Intellectual Property 275 Chapter 20: Debugging and Troubleshooting 279 Debugging and Tuning iOS Applications 279 Debugging 101 280 Debugging Windows Phone 7 Applications 281 Using Breakpoints 281 Logging and the Debug Class 284 Using Static Analysis 285 Chapter 21: Deploying Applications to the Marketplace 289 Introducing Zombie Apocalypse Trainer 289 Registering and Deploying to Test Devices 292 Prepping Your Application for Submission 294 Submitting an App to the Marketplace 296 Earning Money with the Mobile Advertising SDK 300 Index 301ReviewsAuthor InformationKevin Hoffman (Windsor, CT) is an enterprise programmer who has extensive experience with both Windows Phone 7/Windows Mobile and Apple’s iPhone platforms. Currently chief systems architect for Oakleaf Waste Management, he specializes in mobile and cloud development. He writes The .NET Addict’s Blog, served as editor-in-chief of iPhone Developer’s Journal, presented twice at Apple’s World Wide Developer’s Conference, and has authored and co-authored several books, including WPF Control Development Unleashed: Building Advanced User Experiences and ASP.NET 4 Unleashed. Tab Content 6Author Website:Countries AvailableAll regions |