Upload
diego-oconnor
View
218
Download
3
Tags:
Embed Size (px)
Citation preview
Mobile Application Mobile Application DevelopmentDevelopment
20052005
ByBySam NasrSam Nasr
July 25, 2006July 25, 2006
www.ClevelandDotNet.info
AgendaAgenda
IntroductionIntroduction Mobile PlatformMobile Platform .Net Compact Framework.Net Compact Framework DemoDemo Data ManagementData Management Web ServicesWeb Services Q&AQ&A FeedbackFeedback
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
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
Thin ClientsThin Clients
VS.VS.
Fat ClientFat Client
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
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
.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
.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
DemoDemo
Data Data ManagementManagement
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
SQL Mobile SQL Mobile SynchronizationSynchronization
Remote Data Access (RDA)Remote Data Access (RDA)
Merge ReplicationMerge Replication
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")
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“)
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
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.
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
.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
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
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
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
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)