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