View
12
Download
0
Category
Preview:
Citation preview
2/1/2005 1
Mobile Development Mobile Development
withwith
EkarajEkaraj KongswangwongsaKongswangwongsa
Developer EvangelistDeveloper Evangelist
Microsoft (Thailand) LimitedMicrosoft (Thailand) Limited
2/1/2005 2
Mobile application scenarios
Mobile application approaches
Building mobile Web applications
Building smart device applications
AgendaAgenda
2/1/2005 3
Mobile Application ApproachesMobile Application ApproachesOverviewOverview
Example: Field Service
• Online & offline functionality
• Interaction with device assets
• Richer user experience
Smart Device Experience
Example: Knowledge Worker
• Full screen real estate
• Desktop-compatible applications
• Rich editing and annotation
Full PC Experience
Example: News Headlines
• Many different devices
• Limited user input
• Brief, intermittent usage
Mobile Web Experience
XML Web servicesXML Web services
2/1/2005 4
MultiMulti--device applications too difficultdevice applications too difficult
•• Different form factorsDifferent form factors
•• Different device capabilitiesDifferent device capabilities
•• Different Web standardsDifferent Web standards
Local CodeLocal Code
Mobile Web PagesMobile Web Pages
Mobile Application ApproachesMobile Application ApproachesTraditional ChallengesTraditional Challenges
Device Operating SystemDevice Operating System
Mobile Web Mobile Web
BrowserBrowser
Very little skill reuseVery little skill reuse
•• Different platformsDifferent platforms
•• Different APIsDifferent APIs
•• Different languagesDifferent languages
2/1/2005 5
Mobile Application ApproachesMobile Application Approaches
Architectural AdvantagesArchitectural Advantages
Offline functionality
Local execution
Local data
Rich user experience
Multimedia
Elaborate UI
Integration with assets on the device
Credit card readers
Barcode scanners
GPS receivers
Telephony/messaging
Adaptive rendering
Dynamic support for many device/browser combinations
Support for low-end browser devices
Single code base
Simplified maintenance
Natural extension to existing Web sites
Server-side execution
No client deployment
No client execution
Advantages of mobile Web appsAdvantages of mobile Web apps Advantages of smart device appsAdvantages of smart device apps
2/1/2005 6
Mobile Application ApproachesMobile Application Approaches
Microsoft Mobile DevelopmentMicrosoft Mobile Development
Local CodeLocal CodeLocal CodeLocal CodeLocal CodeLocal CodeLocal CodeLocal Code
Mobile Web PagesMobile Web PagesMobile Web PagesMobile Web PagesMobile Web PagesMobile Web PagesMobile Web PagesMobile Web Pages
Device Operating SystemDevice Operating System
Mobile Web Mobile Web
BrowserBrowser
ASP.NET Mobile ASP.NET Mobile
ControlsControls
.NET Compact .NET Compact
FrameworkFramework
Smart Device Smart Device
ProgrammabilityProgrammability
2/1/2005 7
Building Mobile Web Applications
2/1/2005 8
Building Mobile Web ApplicationsBuilding Mobile Web ApplicationsVisual Studio and Visual Studio and
ASP.NET Mobile ControlsASP.NET Mobile Controls
Common Language RuntimeCommon Language Runtime
Base Class LibrariesBase Class Libraries
ADO.NET and XMLADO.NET and XML
ASP.NETASP.NETWeb FormsWeb Forms
Web Web ServicesServices
WindowsWindowsFormsForms
VisualVisualBasicBasic C++C++ C#C# J#J# ……
Visual Studio .NET
Visual Studio .NET
Mobile Web Mobile Web
ProgrammabilityProgrammability
•• Integrated IDEIntegrated IDE
•• Visual design and Visual design and
debuggingdebugging
•• Simple integration Simple integration
with data and XMLwith data and XML
ASP.NET Mobile ASP.NET Mobile
Controls Controls
•• Feature of ASP.NETFeature of ASP.NET
•• Adaptive rendering Adaptive rendering
for device propertiesfor device properties
•• Uses full .NET Uses full .NET
FrameworkFramework
2/1/2005 9
Building Mobile Web ApplicationsBuilding Mobile Web ApplicationsThe Adaptive Rendering ProcessThe Adaptive Rendering Process
1. HTTP1. HTTP
requestrequest
2. ASP.NET 2. ASP.NET
processingprocessing
3. ASP.NET result3. ASP.NET result4. Adaptive4. Adaptive
responseresponse
Returned as proper Returned as proper
browser protocolbrowser protocol•• HTMLHTML
•• cHTMLcHTML
•• WMLWML
•• XHTMLXHTML
Render ASPX pageRender ASPX page•• Process pageProcess page
•• Each control builds Each control builds
its own layoutits own layout
Discover device Discover device
capabilitiescapabilities•• Height and widthHeight and width
•• ColorColor
•• ImagesImages
•• Phone call abilityPhone call ability
2/1/2005 10
IISIIS
.NET Framework.NET Framework
Mobile Internet ToolkitMobile Internet Toolkit
Development Development
EnvironmentEnvironment ProductionProduction
CreateCreate
mobile Web Formmobile Web Form
IntegrateIntegrate
Business LogicBusiness Logic
Mobile Mobile
PresentationPresentation
Layer (controls)Layer (controls)
Test Test
Target DevicesTarget Devices
Post toPost to
Web ServersWeb Servers
HTTPHTTP
RequestRequestDeviceDevice
CapabilitiesCapabilities
Mobile Controls Mobile Controls
andand
Device AdaptersDevice Adapters
generate displaygenerate display
AddAdd
Device AdaptersDevice Adapters
Update DeviceUpdate Device
CapabilitiesCapabilities
HTTPHTTP
ResponseResponse
Mobile.aspxMobile.aspx
PagesPages
Device ExtensibilityDevice Extensibility
2/1/2005 11
Building Mobile Web Building Mobile Web AppApp
2/1/2005 12
Video
Realizing Potential with .NET Realizing Potential with .NET
MobilityMobility
2/1/2005 13
Building Smart Device Applications
2/1/2005 14
Platform OverviewPlatform Overview
Taking the .NET Framework to devices
.NET Compact Framework
Creating tools for devices
Visual Studio .NET 2003 integrated device support
Key bets
Mobile devices fundamental to the Web service ecosystem
Scale .NET down to devices
Support for open standards (Web and 3GPP)
Best of connected and disconnected
Enable great developer productivity
2/1/2005 15
Visual Studio .NETVisual Studio .NETBenefitsBenefits
Enables RAD development for devices
Design and code editing customized for devices
High fidelity device emulation
Rich debugging in the emulator or on device
Same C# and Visual Basic compiler
Device functionality fully integrated with Visual Studio
2/1/2005 16
.NET Compact Framework .NET Compact Framework BenefitsBenefits
Enables a range of truly mobile applications
Small amounts of code for real applications
Rich and extensible Windows Forms package
Offline/online data through XML Web Services, ADO.NET, and SQL Server CE
Single binary deployment for all Pocket PC and Windows CE .NET CPUs
Just-in-Time compiler provides close-to-native rather than interpreted performance
2/1/2005 17
Building Smart Device ApplicationsBuilding Smart Device ApplicationsVisual Studio .NET and Visual Studio .NET and
.NET Compact Framework.NET Compact Framework
Common Language RuntimeCommon Language Runtime
Base Class LibrariesBase Class Libraries
ADO.NET and XMLADO.NET and XML
ASP.NETASP.NETWeb FormsWeb Forms
Web Web ServicesServices
WindowsWindowsFormsForms
VisualVisualBasicBasic C++C++ C#C# J#J# ……
Visual Studio .NET
Visual Studio .NET
Smart Device Smart Device ProgrammabilityProgrammability
•• Targets .NET Targets .NET Compact FrameworkCompact Framework
•• Integrated IDEIntegrated IDE
•• EmulatorsEmulators
•• Remote debuggingRemote debugging
.NET Compact .NET Compact FrameworkFramework
•• Managed codeManaged code
•• Web servicesWeb services
•• Rich subset of .NET Rich subset of .NET Framework Class Framework Class LibrariesLibraries
2/1/2005 18
Building Smart Device AppsBuilding Smart Device AppsRemote DebuggingRemote Debugging
Same user experience as desktop
Compile application for device
Automatically deploys to selected device
Output Window used for deployment messages
Supported features include
On-device debugging
Breakpoints
Multi-language debugging
Call Stack, Watch windows
Command window – Immediate
2/1/2005 19
Building Smart Device Apps Building Smart Device Apps Device EmulationDevice Emulation
Robust, accurate device emulation
Runs Windows CE operating system on Windows XP
Emulates localized versions of the operating system
Emulates any Windows CE image
Supports device skins
2/1/2005 20
Building Smart Device Applications Building Smart Device Applications SQL ServerSQL Server™™ WindowsWindows®® CE Edition 2.0CE Edition 2.0
Enterprise backEnterprise back--end end (SAP, PeopleSoft, etc.)(SAP, PeopleSoft, etc.)
HTTPHTTP
IISIIS
XML / XML /
BizTalk / BizTalk /
CS 2002CS 2002
On-device data engine for Windows CE-powered devices
Rich replication and synchronization with SQL Server
Designed for high performance in resource-constrained environments
Managed .NET Compact Framework provider
2/1/2005 21
Application DeploymentApplication Deployment
Auto-generation of simple CAB files for ActiveSync
Include application and dependant references
Does not include the runtime
Does not include other products that the app requires (ex., SQL Server CE)
Temporary files are kept if user wants to customize the cab file contents
2/1/2005 22
Building Smart Building Smart Device AppDevice App
2/1/2005 23
Video
Realizing Potential with .NET Realizing Potential with .NET
MobilityMobility
2/1/2005 24
SummarySummary
Visual Studio .NET 2003 spans all mobile clients
ASP.NET mobile controls for the mobile Web
Available in all Visual Studio .NET 2003 SKUs
.NET Compact Framework for smart devices
Available in Visual Studio .NET 2003 Professional and up
SQL Server CE: http://www.microsoft.com/sql/ce
The full .NET Framework for PCs and Tablet PC
Available in all Visual Studio .NET 2003 SKUs
http://msdn.microsoft.com/vstudio/device
2/1/2005 25
©© 2003 Microsoft Corporation. All rights reserved.2003 Microsoft Corporation. All rights reserved.Microsoft, Visual C++, Visual Basic, IntelliSense, Visual StudioMicrosoft, Visual C++, Visual Basic, IntelliSense, Visual Studio, the Visual Studio logo, Windows, the Windows logo, and SQL Ser, the Visual Studio logo, Windows, the Windows logo, and SQL Server are either registered trademarks or ver are either registered trademarks or
trademarks of Microsoft Corporation in the United States and/or trademarks of Microsoft Corporation in the United States and/or other countries. The names of actual companies and products mentother countries. The names of actual companies and products mentioned herein may be the trademarks of ioned herein may be the trademarks of
their respective owners.their respective owners.
This presentation is for informational purposes only. Microsoft This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.makes no warranties, express or implied, in this summary.
Recommended