Top Banner
Mobile Application Mobile Application Development Development 2005 2005 By By Sam Nasr Sam Nasr July 25, 2006 July 25, 2006 www.ClevelandDotNet.inf o
23
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Mobile Application Development 2005 By Sam Nasr July 25, 2006 .

Mobile Application Mobile Application DevelopmentDevelopment

20052005

ByBySam NasrSam Nasr

July 25, 2006July 25, 2006

www.ClevelandDotNet.info

Page 2: Mobile Application Development 2005 By Sam Nasr July 25, 2006 .

AgendaAgenda

IntroductionIntroduction Mobile PlatformMobile Platform .Net Compact Framework.Net Compact Framework DemoDemo Data ManagementData Management Web ServicesWeb Services Q&AQ&A FeedbackFeedback

Page 3: Mobile Application Development 2005 By Sam Nasr July 25, 2006 .

Windows Mobile DevicesWindows Mobile Devices Windows Mobile provides a variety of Windows Mobile provides a variety of

device typesdevice types Pocket PC Pocket PC SmartphoneSmartphone Pocket PC Phone EditionPocket PC Phone Edition

Page 4: Mobile Application Development 2005 By Sam Nasr July 25, 2006 .

Windows Mobile Windows Mobile PlatformPlatform

Common Win32 platform across device typesCommon Win32 platform across device types

Mobile versions of productivity toolsMobile versions of productivity tools Excel Mobile, Word Mobile, Pocket OutlookExcel Mobile, Word Mobile, Pocket Outlook

Simplified access to device extensionsSimplified access to device extensions Camera, GPS, PhoneCamera, GPS, Phone

Page 5: Mobile Application Development 2005 By Sam Nasr July 25, 2006 .

Thin ClientsThin Clients

VS.VS.

Fat ClientFat Client

Page 6: Mobile Application Development 2005 By Sam Nasr July 25, 2006 .

Developing Mobile Developing Mobile ApplicationsApplications

NET Compact Framework 2.0NET Compact Framework 2.0 Leverage desktop .NET Framework skills Leverage desktop .NET Framework skills Classes for forms, drawing, storage, net, data access, XMLClasses for forms, drawing, storage, net, data access, XML Optimized for smart devices (28% of coverage, 8% of size).Optimized for smart devices (28% of coverage, 8% of size). Full support for VB.NET and C# language featuresFull support for VB.NET and C# language features

Visual Studio 2005Visual Studio 2005 Development experience consistent with desktopDevelopment experience consistent with desktop Automated application deploymentAutomated application deployment Integrated device debuggingIntegrated device debugging Run managed .EXEs and .DLLs directlyRun managed .EXEs and .DLLs directly Debug with Visual Studio .NETDebug with Visual Studio .NET

EmulatorsEmulators Develop and debug applications without a deviceDevelop and debug applications without a device Emulator Manager provides centralized controlEmulator Manager provides centralized control

Page 7: Mobile Application Development 2005 By Sam Nasr July 25, 2006 .

Windows Mobile Windows Mobile Managed API’sManaged API’s

Focus on simplifying device developmentFocus on simplifying device development Encapsulate common device tasksEncapsulate common device tasks

Global Positioning System interactionGlobal Positioning System interaction Camera and picture managementCamera and picture management 3-D Graphics and multimedia support3-D Graphics and multimedia support

State and Notifications Broker (SNAPI)State and Notifications Broker (SNAPI) Common repository for device informationCommon repository for device information

Phone state, battery life, what song is playingPhone state, battery life, what song is playing Sends notifications of changes in device stateSends notifications of changes in device state

Network availability, arrival of phone callNetwork availability, arrival of phone call Arrival of SMS/email messageArrival of SMS/email message

Page 8: Mobile Application Development 2005 By Sam Nasr July 25, 2006 .

.NET Framework.NET Framework

SystemSystem

System.DataSystem.Data System.XmlSystem.Xml

System.WebSystem.Web

GlobalizationGlobalization

TextText

SecuritySecurity

CollectionsCollections

ResourcesResources

ReflectionReflection

NetNet

IOIO

ThreadingThreading

DiagnosticsDiagnostics

ServiceProcessServiceProcess

ConfigurationConfiguration

DesignDesign

ADO.NETADO.NET SqlClientSqlClient

Xslt/XPathXslt/XPath

XmlDocumentXmlDocument

RuntimeRuntimeInteropServicesInteropServices

RemotingRemoting

SerializationSerialization

SerializationSerialization

ConfigurationConfiguration SessionStateSessionState

CachingCaching SecuritySecurity

ServicesServicesDescriptionDescription

DiscoveryDiscovery

ProtocolsProtocols

UIUIHtmlControlsHtmlControls

WebControlsWebControls

System.DrawingSystem.Drawing

ImagingImaging

Drawing2DDrawing2D

TextTextPrintingPrinting

System.WinFormsSystem.WinForms

DesignDesign ComponentModelComponentModel

Reader/WritersReader/Writers

Page 9: Mobile Application Development 2005 By Sam Nasr July 25, 2006 .

.NET Compact .NET Compact FrameworkFramework

SystemSystem

System.DataSystem.Data System.XmlSystem.Xml

System.WebSystem.Web

GlobalizationGlobalization

TextText

SecuritySecurity

CollectionsCollections

ResourcesResources

ReflectionReflection

NetNet

IOIO

ThreadingThreading

DiagnosticsDiagnostics

ServiceProcessServiceProcess

ConfigurationConfiguration

DesignDesign

ADO.NETADO.NET

SqlServerCeSqlServerCe

SqlClientSqlClient

Xslt/XPathXslt/XPath

XmlDocumentXmlDocument

RuntimeRuntimeInteropServicesInteropServices

RemotingRemoting

SerializationSerialization

SerializationSerialization

ConfigurationConfiguration SessionStateSessionState

CachingCaching SecuritySecurity

ServicesServicesDescriptionDescription

DiscoveryDiscovery

ProtocolsProtocols

UIUIHtmlControlsHtmlControls

WebControlsWebControls

System.DrawingSystem.Drawing

ImagingImaging

Drawing2DDrawing2D

TextText

PrintingPrinting

System.WinFormsSystem.WinForms

DesignDesign ComponentModelComponentModel

Reader/WritersReader/Writers

Page 10: Mobile Application Development 2005 By Sam Nasr July 25, 2006 .

DemoDemo

Page 11: Mobile Application Development 2005 By Sam Nasr July 25, 2006 .

Data Data ManagementManagement

Page 12: Mobile Application Development 2005 By Sam Nasr July 25, 2006 .

Data ManagementData Management SQL Server 2005 Mobile Edition (SQL Mobile)SQL Server 2005 Mobile Edition (SQL Mobile)

Full featured database running locally on deviceFull featured database running locally on device inner/outer joins, transactions, locking, much moreinner/outer joins, transactions, locking, much more

Visual Studio 2005 supportVisual Studio 2005 support Server ExplorerServer Explorer

Create database, tables and indicesCreate database, tables and indices Modify schema and dataModify schema and data Database file can be located on device or desktopDatabase file can be located on device or desktop

Forms DesignerForms Designer Controls created directly from table schemaControls created directly from table schema Data view and edit forms can be auto generatedData view and edit forms can be auto generated

Page 13: Mobile Application Development 2005 By Sam Nasr July 25, 2006 .

SQL Mobile SQL Mobile SynchronizationSynchronization

Remote Data Access (RDA)Remote Data Access (RDA)

Merge ReplicationMerge Replication

Page 14: Mobile Application Development 2005 By Sam Nasr July 25, 2006 .

Remote Data Access Remote Data Access (RDA)(RDA)

Loosely-coupledLoosely-coupled

Retrieve data from server and track local Retrieve data from server and track local changeschanges

Send local changes back to serverSend local changes back to server

Very lightweight server costVery lightweight server cost

requires URL pointing to DLL to allow data requires URL pointing to DLL to allow data access. (i.e. access. (i.e. http://192.168.1.100/sqlmobile/sqlcesa30.dll")http://192.168.1.100/sqlmobile/sqlcesa30.dll")

Page 15: Mobile Application Development 2005 By Sam Nasr July 25, 2006 .

Merge ReplicationMerge Replication Tightly-coupled device and server schemaTightly-coupled device and server schema

Changes tracked on both device and serverChanges tracked on both device and server

Device and server changes reconciled on Device and server changes reconciled on synchsynch

Significant server costSignificant server cost

DB File (.SDF) stored in a folder on the DB File (.SDF) stored in a folder on the mobile device. (i.e. Data Source =" mobile device. (i.e. Data Source =" foldername + "RealEstate.sdf“)foldername + "RealEstate.sdf“)

Page 16: Mobile Application Development 2005 By Sam Nasr July 25, 2006 .

SQL Server EverywhereSQL Server Everywhere

••Essential relational database functionality in Essential relational database functionality in a compact footprinta compact footprint

••Ideal for mobile and desktop applications, Ideal for mobile and desktop applications, including occasionally connectedincluding occasionally connected

••Embeddable in applicationsEmbeddable in applications

••Free to download, develop, deploy, and Free to download, develop, deploy, and redistributeredistribute

Page 17: Mobile Application Development 2005 By Sam Nasr July 25, 2006 .

SQL Server EverywhereSQL Server Everywhere Increase Productivity:Increase Productivity: SQL Server Everywhere allows SQL Server Everywhere allows

developers and administrators to apply their existing SQL developers and administrators to apply their existing SQL Server skills and be immediately productive.Server skills and be immediately productive.

••Enables Deep Business Insight:Enables Deep Business Insight: SQL Server Everywhere, SQL Server Everywhere, together with Business Intelligence in SQL Server 2005, together with Business Intelligence in SQL Server 2005, allows you to extend your business insights further across allows you to extend your business insights further across the organization to distributed and mobile applications. the organization to distributed and mobile applications.

••Reliability For Mission-Critical Business:Reliability For Mission-Critical Business: Originally Originally built on SQL Mobile technology, SQL Server Everywhere has built on SQL Mobile technology, SQL Server Everywhere has self-healing and management technologies built designed to self-healing and management technologies built designed to handle instant off and dead battery scenarios. handle instant off and dead battery scenarios.

••Better Value Over Time:Better Value Over Time: As requirements and scale grow, As requirements and scale grow, SQL Server Everywhere can easily scale up to other editions SQL Server Everywhere can easily scale up to other editions of SQL Server.of SQL Server.

Page 18: Mobile Application Development 2005 By Sam Nasr July 25, 2006 .

Web Services & Mobile Web Services & Mobile AppsApps

Web services perfectly suited for mobile appsWeb services perfectly suited for mobile apps Can communicate with any enterprise platformCan communicate with any enterprise platform Well suited for “casual” connectivityWell suited for “casual” connectivity Inexpensive way to roll-out mobile solutionsInexpensive way to roll-out mobile solutions Provide internet access to enterprise resourcesProvide internet access to enterprise resources

Accessing web services same as on desktopAccessing web services same as on desktop Visual Studio Add Web Reference generates proxyVisual Studio Add Web Reference generates proxy Proxy class handles communications detailsProxy class handles communications details

Page 19: Mobile Application Development 2005 By Sam Nasr July 25, 2006 .

.Net Mobile Advantages.Net Mobile Advantages

• Managed Code environmentManaged Code environmentGarbage CollectionGarbage CollectionType safetyType safetyException HandlingException HandlingThreadingThreadingOrganized .Net ClassesOrganized .Net ClassesADO.Net IntegrationADO.Net IntegrationPlatform Invoke (P/Invoke) service Platform Invoke (P/Invoke) service Integration with Web ServicesIntegration with Web Services

• Single Vendor relationshipSingle Vendor relationship• Tight integration with Mobile API’sTight integration with Mobile API’s• Remote ViewerRemote Viewer• Rich Graphics UIRich Graphics UI• Faster application performanceFaster application performance

•High Productivity with Visual Studio.Net•Intellisense•Remote debugging•Common development experience•Emulators provide accurate debug and development experience•Separation of code, HTML, and scripts for easier debugging

•Multi-language support•Reduced application development time•Code Access Security•Tight integration with other MS products•Integration with SQL Server CE•ActiveSync

Page 20: Mobile Application Development 2005 By Sam Nasr July 25, 2006 .

SummarySummary

Windows Mobile DevelopmentWindows Mobile Development Common development experience with desktop Common development experience with desktop Emulators provide accurate debug and Emulators provide accurate debug and

development experiencedevelopment experience Data ManagementData Management

SQL Mobile provides reliable local data storeSQL Mobile provides reliable local data store RDA and Merge Replication provide server synchRDA and Merge Replication provide server synch Web services give easy access to server resourcesWeb services give easy access to server resources

Windows Mobile 5.0Windows Mobile 5.0 Simplifies common device tasksSimplifies common device tasks Standardizes system status and notificationStandardizes system status and notification

Page 21: Mobile Application Development 2005 By Sam Nasr July 25, 2006 .

Valuable ResourcesValuable Resources

Windows Mobile Developer CenterWindows Mobile Developer Centerhttp://msdn.microsoft.com/mobilityhttp://msdn.microsoft.com/mobility

FREE Mobile Developer Resource KitsFREE Mobile Developer Resource Kitshttp://msdn.microsoft.com/mobility/windowsmobile/howto/kits/http://msdn.microsoft.com/mobility/windowsmobile/howto/kits/

SQL Server 2005 Mobile EditionSQL Server 2005 Mobile Editionhttp://msdn.microsoft.com/mobility/sqlmobile/default.aspxhttp://msdn.microsoft.com/mobility/sqlmobile/default.aspx

Comparing RDA and Merge ReplicationComparing RDA and Merge Replicationhttp://msdn.microsoft.com/library/en-us/dnsql90/html/sql2k5mobile.asphttp://msdn.microsoft.com/library/en-us/dnsql90/html/sql2k5mobile.asp

Page 22: Mobile Application Development 2005 By Sam Nasr July 25, 2006 .

Additional InformationAdditional Information

Mobile Messaging Discussion Mobile Messaging Discussion http://www.microsoft.com/downloads/dhttp://www.microsoft.com/downloads/details.aspx?familyid=67c06122-17b2-4etails.aspx?familyid=67c06122-17b2-4268-9f71-a583ff7d5e17&displaylang=e268-9f71-a583ff7d5e17&displaylang=enn

How Microsoft IT Does Mobile How Microsoft IT Does Mobile Messaging (Level 300)Messaging (Level 300)

http://go.microsoft.com/fwlink/?LinkId=64http://go.microsoft.com/fwlink/?LinkId=64090090

Mobile Client Software Factory Mobile Client Software Factory (Patterns and Practices)(Patterns and Practices)

http://www.gotdotnet.com/codegallery/codhttp://www.gotdotnet.com/codegallery/codegallery.aspx?id=5bef2b5f-476a-488c-8d55egallery.aspx?id=5bef2b5f-476a-488c-8d55-9d41666a36f3-9d41666a36f3

Page 23: Mobile Application Development 2005 By Sam Nasr July 25, 2006 .

Upcoming EventsUpcoming Events

Tuesday, August 22, 2006 Tuesday, August 22, 2006 TechNet (8AM-Noon) and MSDN Events (1-TechNet (8AM-Noon) and MSDN Events (1-

5PM)5PM)

Tuesday, August 29, 2006 (Noon Tuesday, August 29, 2006 (Noon EST)EST)Live From Redmond: .NET Compact FraLive From Redmond: .NET Compact Framework 2.0: Optimizing for Performancemework 2.0: Optimizing for Performance

Tuesday, August 29, 2006Tuesday, August 29, 2006C#/VB.Net SIG (6:30 PM - 8:30 PM)C#/VB.Net SIG (6:30 PM - 8:30 PM)