mobile devolpment slides

Post on 07-Nov-2014

2.649 Views

Category:

Self Improvement

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

These are the slides from the msdn event

TRANSCRIPT

Windows Mobile 6 Development

Geoffrey Emery

Inventor

biz@geoffreyemery.com

Live Fun

LiveFun.flv

Tagging For Mobile

http://gettag.mobiDownload App now Demo To follow

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..

Contact Information

• @- biz@geoffreyemery.com• Blog - blog.geoffreyemery.com

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

top related