25
2/1/2005 1 Mobile Development Mobile Development with with Ekaraj Ekaraj Kongswangwongsa Kongswangwongsa Developer Evangelist Developer Evangelist Microsoft (Thailand) Limited Microsoft (Thailand) Limited

Mobile Development with .NET...2/1/2005 5 Mobile Application Approaches Architectural Advantages Offline functionality Local execution Local data Rich user experience Multimedia Elaborate

  • Upload
    others

  • View
    12

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Mobile Development with .NET...2/1/2005 5 Mobile Application Approaches Architectural Advantages Offline functionality Local execution Local data Rich user experience Multimedia Elaborate

2/1/2005 1

Mobile Development Mobile Development

withwith

EkarajEkaraj KongswangwongsaKongswangwongsa

Developer EvangelistDeveloper Evangelist

Microsoft (Thailand) LimitedMicrosoft (Thailand) Limited

Page 2: Mobile Development with .NET...2/1/2005 5 Mobile Application Approaches Architectural Advantages Offline functionality Local execution Local data Rich user experience Multimedia Elaborate

2/1/2005 2

Mobile application scenarios

Mobile application approaches

Building mobile Web applications

Building smart device applications

AgendaAgenda

Page 3: Mobile Development with .NET...2/1/2005 5 Mobile Application Approaches Architectural Advantages Offline functionality Local execution Local data Rich user experience Multimedia Elaborate

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

Page 4: Mobile Development with .NET...2/1/2005 5 Mobile Application Approaches Architectural Advantages Offline functionality Local execution Local data Rich user experience Multimedia Elaborate

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

Page 5: Mobile Development with .NET...2/1/2005 5 Mobile Application Approaches Architectural Advantages Offline functionality Local execution Local data Rich user experience Multimedia Elaborate

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

Page 6: Mobile Development with .NET...2/1/2005 5 Mobile Application Approaches Architectural Advantages Offline functionality Local execution Local data Rich user experience Multimedia Elaborate

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

Page 7: Mobile Development with .NET...2/1/2005 5 Mobile Application Approaches Architectural Advantages Offline functionality Local execution Local data Rich user experience Multimedia Elaborate

2/1/2005 7

Building Mobile Web Applications

Page 8: Mobile Development with .NET...2/1/2005 5 Mobile Application Approaches Architectural Advantages Offline functionality Local execution Local data Rich user experience Multimedia Elaborate

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

Page 9: Mobile Development with .NET...2/1/2005 5 Mobile Application Approaches Architectural Advantages Offline functionality Local execution Local data Rich user experience Multimedia Elaborate

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

Page 10: Mobile Development with .NET...2/1/2005 5 Mobile Application Approaches Architectural Advantages Offline functionality Local execution Local data Rich user experience Multimedia Elaborate

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

Page 11: Mobile Development with .NET...2/1/2005 5 Mobile Application Approaches Architectural Advantages Offline functionality Local execution Local data Rich user experience Multimedia Elaborate

2/1/2005 11

Building Mobile Web Building Mobile Web AppApp

Page 12: Mobile Development with .NET...2/1/2005 5 Mobile Application Approaches Architectural Advantages Offline functionality Local execution Local data Rich user experience Multimedia Elaborate

2/1/2005 12

Video

Realizing Potential with .NET Realizing Potential with .NET

MobilityMobility

Page 13: Mobile Development with .NET...2/1/2005 5 Mobile Application Approaches Architectural Advantages Offline functionality Local execution Local data Rich user experience Multimedia Elaborate

2/1/2005 13

Building Smart Device Applications

Page 14: Mobile Development with .NET...2/1/2005 5 Mobile Application Approaches Architectural Advantages Offline functionality Local execution Local data Rich user experience Multimedia Elaborate

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

Page 15: Mobile Development with .NET...2/1/2005 5 Mobile Application Approaches Architectural Advantages Offline functionality Local execution Local data Rich user experience Multimedia Elaborate

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

Page 16: Mobile Development with .NET...2/1/2005 5 Mobile Application Approaches Architectural Advantages Offline functionality Local execution Local data Rich user experience Multimedia Elaborate

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

Page 17: Mobile Development with .NET...2/1/2005 5 Mobile Application Approaches Architectural Advantages Offline functionality Local execution Local data Rich user experience Multimedia Elaborate

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

Page 18: Mobile Development with .NET...2/1/2005 5 Mobile Application Approaches Architectural Advantages Offline functionality Local execution Local data Rich user experience Multimedia Elaborate

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

Page 19: Mobile Development with .NET...2/1/2005 5 Mobile Application Approaches Architectural Advantages Offline functionality Local execution Local data Rich user experience Multimedia Elaborate

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

Page 20: Mobile Development with .NET...2/1/2005 5 Mobile Application Approaches Architectural Advantages Offline functionality Local execution Local data Rich user experience Multimedia Elaborate

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

Page 21: Mobile Development with .NET...2/1/2005 5 Mobile Application Approaches Architectural Advantages Offline functionality Local execution Local data Rich user experience Multimedia Elaborate

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

Page 22: Mobile Development with .NET...2/1/2005 5 Mobile Application Approaches Architectural Advantages Offline functionality Local execution Local data Rich user experience Multimedia Elaborate

2/1/2005 22

Building Smart Building Smart Device AppDevice App

Page 23: Mobile Development with .NET...2/1/2005 5 Mobile Application Approaches Architectural Advantages Offline functionality Local execution Local data Rich user experience Multimedia Elaborate

2/1/2005 23

Video

Realizing Potential with .NET Realizing Potential with .NET

MobilityMobility

Page 24: Mobile Development with .NET...2/1/2005 5 Mobile Application Approaches Architectural Advantages Offline functionality Local execution Local data Rich user experience Multimedia Elaborate

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

Page 25: Mobile Development with .NET...2/1/2005 5 Mobile Application Approaches Architectural Advantages Offline functionality Local execution Local data Rich user experience Multimedia Elaborate

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.