Mobile Devolpment Slides


Published on

These are the slides from the msdn event

Published in: Self Improvement, Technology
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Hello and welcome to an introduction to Windows Mobile 6 development. I’m [name]. We’ve got lots to cover today so let’s get started!
  • Mobile Devolpment Slides

    1. 1. Windows Mobile 6 Development Geoffrey Emery Inventor [email_address]
    2. 2. Live Fun
    3. 3. Tagging For Mobile Download App now Demo To follow
    4. 4. Warning…. <ul><li>Warning I am not a Microsoft Employee </li></ul>
    5. 5. Congratulations <ul><li>I am not a MicroSoft Employee </li></ul><ul><li>This a true life recount of My Dev Experiences over the last two weeks </li></ul>
    6. 6. Market Overview <ul><li>Mobile software is one of the fastest-growing development arenas. </li></ul><ul><li>Windows Mobile is among the top players </li></ul><ul><ul><li>Over 28 million devices shipped in 2008! </li></ul></ul><ul><li>Apple shipped 13 million phones last year - forbes </li></ul>
    7. 7. Windows Mobile 6 Devices <ul><ul><li>Windows Mobile 6 Standard (non Touch) </li></ul></ul><ul><ul><li>Windows Mobile 6 Professional </li></ul></ul><ul><ul><li>(touch) </li></ul></ul>Windows Mobile 6 Classic (non Phone)
    8. 8. The Future Is Touch
    9. 9. The Next Level Of Touch
    10. 10. Still not convinced?
    11. 12. Understanding Your Devolopment Choices and making the right decision <ul><li>.NET Compact Framework – RUNS ON YOUR PHONE </li></ul><ul><ul><li>You are building a mobile application that must support occasionally connected or offline scenarios. </li></ul></ul><ul><ul><li>You are building a mobile application that will run on the client to maximize performance and responsiveness. </li></ul></ul><ul><li>ASP.NET for Mobile – IT’S A WEBSITE </li></ul><ul><ul><li>You are building an application that can rely on 100-percent network connectivity. </li></ul></ul><ul><ul><li>Your team has ASP.NET expertise and you want to target a wide range of mobile devices. </li></ul></ul><ul><ul><li>You are building an application that must have no client-side installation or plug-independencies. </li></ul></ul><ul><ul><li>You want to support the widest possible range of devices. </li></ul></ul><ul><ul><li>You want to use as few device resources as possible. </li></ul></ul><ul><li>Silverlight for Mobile – WINNER – RUNS ON YOUR PHONE AND WEBSITE </li></ul><ul><ul><li>You are building a Web application and want to leverage the rich visualization and UI </li></ul></ul><ul><ul><li>capabilities of Silverlight. </li></ul></ul><ul><ul><li>The devices you are targeting have easy access to or already have the Silverlight plug-ininstalled. </li></ul></ul>
    12. 14. NET Compact Framework <ul><li>Managed-code stack (.NET Compact Framework 3.5) sits on top of native architecture </li></ul><ul><li>Cellular, GPS, and other device services wrapped with .NET </li></ul>OEM Applications OEM Extensions Application Compact Framework Class Libraries Execution Engine PAL Host operating system Native Code Managed Code
    13. 15. .NET Compact Framework and SQL Compact <ul><li>Language support </li></ul><ul><ul><li>Create solutions in C# or VB.NET </li></ul></ul><ul><li>Broad feature inclusion: </li></ul><ul><ul><li>LINQ (to dataset and objects) </li></ul></ul><ul><ul><li>Windows Communication Foundation </li></ul></ul><ul><li>SQL Server Compact 3.5 </li></ul><ul><ul><li>Royalty-free redist </li></ul></ul>
    14. 16. Windows Mobile 6 SDK Emulator Images
    15. 18. Cellular Emulator and Hopper <ul><li>Cellular Emulator allows you to </li></ul><ul><ul><li>Target both voice and data connectivity scenarios. </li></ul></ul><ul><ul><li>Explore different wireless network conditions in GSM/GPRS and UMTS networks. </li></ul></ul><ul><li>Hopper Test Tool </li></ul><ul><ul><li>Stresses all applications available through menu with random keystrokes, or only your application. </li></ul></ul>
    16. 19. GPS Support <ul><li>Fake GPS: an NMEA .txt file simulates the movement of the device in space. </li></ul><ul><ul><li>Configure it to test location-targeted functions. </li></ul></ul><ul><ul><li>Dixies.txt </li></ul></ul><ul><ul><li>Fakegpsdata.txt </li></ul></ul><ul><li>Note that for Windows Mobile Standard, you can configure GPS using the SDK’s GPSSettings.exe program </li></ul><ul><ul><li>Professional and Classic have this utility built in. </li></ul></ul>
    17. 20. Data Access Technologies Summary <ul><li>ADO.NET provides general retrieval, update, and management of data. On </li></ul><ul><ul><li>Windows Mobile, ADO.NET includes providers for Microsoft® SQL Server®, and Microsoft® </li></ul></ul><ul><ul><li>SQL Server® Compact Edition. </li></ul></ul><ul><li>ADO.NET Sync Services. ADO.NET Sync Services is a provider included in the Microsoft Sync </li></ul><ul><ul><li>Framework synchronization for ADO.NET-enabled databases. It enables data synchronization to be built in occasionally connected applications. It period ically gathers information from the client database and synchronizes it with the server database. </li></ul></ul><ul><li>Language-Integrated Query (LINQ). LINQ provides class libraries that extend C# and </li></ul><ul><ul><li>Microsoft Visual Basic® with native language syntax for queries. Queries can be performed against a variety of data formats, including DataSet (LINQ to DataSet), XML (LINQ to XM L), in-memory objects (LINQ to Objects),.Understand that LINQ is primarily a query technology supported by different assemblies throughout the .NET Framework. For example, LINQ to Entities/ LINQ TO SQL is included with the ADO.NET Entity Framework assemblies; LINQ to XML is included with the System.Xml assemblies; and LINQ to Objects is included with the .NET core system assemblies. </li></ul></ul>
    18. 21. DAL Best Practices <ul><li>ADO.NET </li></ul><ul><ul><li>Are on a mobile device and want to access data through SQL Server Compact Edition. </li></ul></ul><ul><ul><li>Need to use low-level APIs for full control over data access in your application. </li></ul></ul><ul><ul><li>Are building an application that needs to support a disconnected data-access experience. </li></ul></ul><ul><li>ADO.NET Sync Services </li></ul><ul><ul><li>Consider using ADO.NET Sync Services if you: </li></ul></ul><ul><ul><li>Need to build an application that supports occasionally connected scenarios. </li></ul></ul><ul><ul><li>Need collaboration between databases. </li></ul></ul><ul><ul><li>Are using Windows Mobile and want to sync with a central database server. </li></ul></ul><ul><li>LINQ to DataSets </li></ul><ul><ul><li>Want to execute queries against a Dataset, including queries that join tables. </li></ul></ul><ul><ul><li>Want to use a common query language instead of writing iterative code. </li></ul></ul><ul><li>LINQ to Objects </li></ul><ul><ul><li>• Need to execute queries against a collection. </li></ul></ul><ul><ul><li>• Want to execute queries against file directories. </li></ul></ul><ul><ul><li>• Want to execute queries against in-memory objects using the LINQ syntax. </li></ul></ul><ul><li>LINQ to XML </li></ul><ul><ul><li>• Are using XML data in your application. </li></ul></ul><ul><ul><li>• Want to execute queries against XML data using the LINQ syntax. </li></ul></ul>
    19. 22. .Net Tips <ul><li>Remember to install Mobile Center (or ActiveSync) and Virtual PC </li></ul><ul><ul><li>You don’t need them to deploy projects </li></ul></ul><ul><ul><li>But you do need them for internet connectivity </li></ul></ul><ul><li>When you create a new Smart Device project, ignore the dropdown above the templates frame that lets you choose a target framework version . </li></ul><ul><li>You can always choose another mobile device template by changing the Form Factor property. </li></ul>
    20. 23. Vista Issues <ul><li>Do NOT install ActiveSync. </li></ul><ul><ul><li>You need Windows Mobile Device Center for device synchronization. </li></ul></ul><ul><li>Install Visual Studio 2008 SP1. </li></ul><ul><li>If the SDK samples do not build, copy them to a different location. </li></ul>
    21. 24. ASP.NET for Mobile
    22. 25. Bad Designs For Touch
    23. 26. Good Designs For Touch
    24. 27. My Space Redesigned For Touch
    25. 28. Internet Explorer 6 Mobile <ul><li>Jscript v5.7, ported from Internet Explorer 8 for the desktop. </li></ul><ul><ul><li>Much better support for AJAX applications. </li></ul></ul><ul><li>Improved fidelity, text wrap, touch-and-gesture pan support </li></ul><ul><ul><li>WML, Adobe Flash Lite 3.1 for Flash applications. </li></ul></ul><ul><li>Easy switch between Mobile and Desktop modes </li></ul><ul><ul><li>Both can be targeted with User Agent strings. </li></ul></ul>
    26. 30. Request Header <ul><li>Mobile Mode says... </li></ul><ul><ul><li>User-Agenet: Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 8.12; MSIEMobile 6.0) </li></ul></ul><ul><li>Used to say... </li></ul><ul><ul><li>User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 7.11) </li></ul></ul><ul><li>Desktop Mode says... </li></ul><ul><ul><li>User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) </li></ul></ul><ul><li>(Same as Internet Explorer 6 for PC.) </li></ul>
    27. 31. Coding Best Practices <ul><li>Use separate HTML, CSS, and JScript files. </li></ul><ul><li>Load JScript at the end of the page that’s not needed for layout. </li></ul><ul><li>Do not ask the browser to resize via <img>. </li></ul><ul><li>Streaming video should not be larger than the screen resolution. </li></ul><ul><li>Choose the right bit rate </li></ul><ul><ul><li>EDGE and 3G networks. </li></ul></ul>
    28. 32. New Offerings Here Today <ul><li>My Phone - a backup and storage service for your phone. </li></ul><ul><li>Recite Tag - a note taking and search application for Windows Mobile phones </li></ul><ul><li>Mesh For Mobile – almost </li></ul><ul><li>Tag – 2d color bar code </li></ul><ul><li>Live Sync </li></ul>
    29. 33. Windows Mobile 7 <ul><li>Windows 7 </li></ul><ul><ul><li>A Focus On Touch... </li></ul></ul><ul><ul><li>... And Gestures </li></ul></ul><ul><ul><li>A New Media Interface </li></ul></ul>
    30. 34. Final Thoughts <ul><li>Writing apps for your phone is fun! </li></ul><ul><li>Writing mobile web pages is challenging but well worth it.. </li></ul>
    31. 35. Contact Information <ul><li>@- [email_address] </li></ul><ul><li>Blog - </li></ul>
    32. 36. Last Fun
    33. 37. What You Need <ul><li>Visual Studio 2008 Professional SP1 </li></ul><ul><ul><li>Alternative: Visual Studio 2005 SP1. </li></ul></ul><ul><li>Windows Vista </li></ul><ul><ul><li>Windows XP SP2, Windows Server 2003, or Windows Server 2008 will also work. </li></ul></ul><ul><li>Windows Mobile Device Center for Vista </li></ul><ul><ul><li>ActiveSync 4.5 for Windows XP or Windows Server 2003 </li></ul></ul>
    34. 38. What You Need (cont.) <ul><li>Two separate Windows Mobile 6 SDKs </li></ul><ul><ul><li>Windows Mobile 6 Standard SDK for smartphones </li></ul></ul><ul><ul><li>Windows Mobile 6 Professional SDK for all Pocket PCs </li></ul></ul><ul><li>Windows Mobile 6.1.4 Device Emulator Images </li></ul>
    35. 39. Install and Configuration <ul><li>Install Visual Studio 2008 SP1 First. </li></ul><ul><ul><li>Be sure to include support for Mobile Development </li></ul></ul><ul><ul><li>And SQL Compact </li></ul></ul><ul><li>Then Windows Mobile 6 Refresh. </li></ul><ul><li>Finally, the new 6.1.4 Emulators </li></ul><ul><li>You’ll need to install Virtual PC 2007 for networking support </li></ul><ul><ul><li>Even within a virtual image </li></ul></ul><ul><ul><li>Don’t forget to set the connection type as DMA instead of Bluetooth </li></ul></ul>