48
Agenda 18:00 Registration 18:30 .NET Compact Framework 19:00 ‘Whidbey’ for Devices 19:30 Break / Refreshments 19:55 Source O2 Developer program 20:15 Top PocketPC support questions & Q&A 21:00 Event Close

Agenda 18:00Registration 18:30.NET Compact Framework 19:00‘Whidbey’ for Devices 19:30Break / Refreshments 19:55Source O2 Developer program 20:15Top PocketPC

Embed Size (px)

Citation preview

Page 1: Agenda 18:00Registration 18:30.NET Compact Framework 19:00‘Whidbey’ for Devices 19:30Break / Refreshments 19:55Source O2 Developer program 20:15Top PocketPC

Agenda

18:00 Registration

18:30 .NET Compact Framework

19:00 ‘Whidbey’ for Devices

19:30 Break / Refreshments

19:55 Source O2 Developer program

20:15 Top PocketPC support questions & Q&A

21:00 Event Close

Page 2: Agenda 18:00Registration 18:30.NET Compact Framework 19:00‘Whidbey’ for Devices 19:30Break / Refreshments 19:55Source O2 Developer program 20:15Top PocketPC

NET Compact Framework for Mobile Developers

Marcus [email protected]://blogs.msdn.com/marcpe

Page 3: Agenda 18:00Registration 18:30.NET Compact Framework 19:00‘Whidbey’ for Devices 19:30Break / Refreshments 19:55Source O2 Developer program 20:15Top PocketPC

The slides for this eventwill be posted at:

www.microsoft.com/uk/msdn/postevents

Page 4: Agenda 18:00Registration 18:30.NET Compact Framework 19:00‘Whidbey’ for Devices 19:30Break / Refreshments 19:55Source O2 Developer program 20:15Top PocketPC

Agenda

Orientation

Mobile Platform

.NET Compact Framework

Page 5: Agenda 18:00Registration 18:30.NET Compact Framework 19:00‘Whidbey’ for Devices 19:30Break / Refreshments 19:55Source O2 Developer program 20:15Top PocketPC

Mobility platforms

Smartphone• Information

consumption

• Primarily data viewing

• Integrated phone with PDA

• Interoperability with Exchange

• .NET Compact Framework

• ASP.NET mobile controls

Notebook PC• Complex document

authoring, editing and reading

• Keyboard centric at the desk

• Keyboard and mouse input methods

• Full .NET framework available

Windows CE + Windows MobileWindows CE + Windows Mobile Windows XPWindows XP

Tablet PC• Complex document

authoring, editing and active reading

• Note taking and ink annotating

• Keyboard centric at the desk, pen & keyboard away from the desk

• Keyboard, mouse plus pen, ink, and speech input methods

• Full .NET framework preinstalled

Pocket PC Phone• Information

consumption

• View and enter data

• Integrated with phone

• Interoperability with Office, Exchange and SQL Server

• .NET Compact Framework

• ASP.NET mobile controls

Windows CEWindows CE

Smart Personal Objects

• One-way network

• Information consumption

Page 6: Agenda 18:00Registration 18:30.NET Compact Framework 19:00‘Whidbey’ for Devices 19:30Break / Refreshments 19:55Source O2 Developer program 20:15Top PocketPC

Pocket PC devices

Typical specifications:Processor 300MHz – 624MHz

RAM 32Mb – 128Mb

Up to 4.8Gb via CompactFlash

Up to 1.0Gb via SD

PDA form factor

RAM based storage

Touch screen with stylus input

.NET Compact Framework in ROM

Pocket Office, Internet Explorer and Media Player

Connectivity via Bluetooth, IrDA and WiFi

Phone Edition devices add GSM and GPRS

Page 7: Agenda 18:00Registration 18:30.NET Compact Framework 19:00‘Whidbey’ for Devices 19:30Break / Refreshments 19:55Source O2 Developer program 20:15Top PocketPC

Smartphone devices

Typical specifications:Processor 132MHz – 206MHz

RAM 16Mb – 32Mb

Up to 1.0Gb via SD

Phone form factor

Non-volatile flash storage

Rigid screen (keypad input)

.NET Compact Framework in ROM

Pocket Outlook, Internet Explorer, MediaPlayer, SMS and MMS

Connectivity via Bluetooth and IrDA

Tri-band GSM and GPRS

Page 8: Agenda 18:00Registration 18:30.NET Compact Framework 19:00‘Whidbey’ for Devices 19:30Break / Refreshments 19:55Source O2 Developer program 20:15Top PocketPC

Mobile application approaches Microsoft mobile development

Local Local CodeCode

Mobile Web Mobile Web PagesPages

Software Platform (Pocket Software Platform (Pocket PC, Smartphone, etc.)PC, Smartphone, etc.)

Mobile Web Mobile Web BrowserBrowser

ASP.NET Mobile ASP.NET Mobile ControlsControls

.NET Compact .NET Compact Framework and Framework and

Native APIsNative APIs

Page 9: Agenda 18:00Registration 18:30.NET Compact Framework 19:00‘Whidbey’ for Devices 19:30Break / Refreshments 19:55Source O2 Developer program 20:15Top PocketPC

Mobile application approaches Microsoft mobile development

Smart Device Smart Device ProgrammabilityProgrammability

Local Local CodeCode

Software Platform (Pocket Software Platform (Pocket PC, Smartphone, etc.)PC, Smartphone, etc.)

Mobile Web Mobile Web BrowserBrowser

.NET Compact .NET Compact Framework and Framework and

Native APIsNative APIs

Page 10: Agenda 18:00Registration 18:30.NET Compact Framework 19:00‘Whidbey’ for Devices 19:30Break / Refreshments 19:55Source O2 Developer program 20:15Top PocketPC

Device emulators

Visual Studio .NET 2003 includes a Pocket PC 2002 emulator as standard

Other emulators are available via SDKs

Page 11: Agenda 18:00Registration 18:30.NET Compact Framework 19:00‘Whidbey’ for Devices 19:30Break / Refreshments 19:55Source O2 Developer program 20:15Top PocketPC

Agenda

Orientation

Mobile Platform

.NET Compact Framework

Page 12: Agenda 18:00Registration 18:30.NET Compact Framework 19:00‘Whidbey’ for Devices 19:30Break / Refreshments 19:55Source O2 Developer program 20:15Top PocketPC

Windows CE

Hard real-time pre-emptive multitasking kernel

Interprocess communication (IPC), sync objects

Memory mapped files, message queues and fibres

Virtual memory with hardware access protection

Installable ISRs, multimedia timers, DMA APIs

More flexibility for drivers and applications

ComponentisedTuneable for resource constrained devicesSpecialised through Platform Builder

Pocket PC and Smartphone are specialisations

Page 13: Agenda 18:00Registration 18:30.NET Compact Framework 19:00‘Whidbey’ for Devices 19:30Break / Refreshments 19:55Source O2 Developer program 20:15Top PocketPC

Windows Mobile SE

Enable OEM innovation

Minimise developer impact

Native use:

GetSystemMetrics

SCALEX, SCALEY macros

WM_SETTINGCHANGE and WM_SIZE

ChangeDisplayOrientationEx

Managed use:

Form.Resize

Page 14: Agenda 18:00Registration 18:30.NET Compact Framework 19:00‘Whidbey’ for Devices 19:30Break / Refreshments 19:55Source O2 Developer program 20:15Top PocketPC

Pocket PC screen sizes

(support for .24 .22 and .18 dot pitch)

Page 15: Agenda 18:00Registration 18:30.NET Compact Framework 19:00‘Whidbey’ for Devices 19:30Break / Refreshments 19:55Source O2 Developer program 20:15Top PocketPC

Pocket PC screen sizes

Page 16: Agenda 18:00Registration 18:30.NET Compact Framework 19:00‘Whidbey’ for Devices 19:30Break / Refreshments 19:55Source O2 Developer program 20:15Top PocketPC

Smartphone screen sizes

Page 17: Agenda 18:00Registration 18:30.NET Compact Framework 19:00‘Whidbey’ for Devices 19:30Break / Refreshments 19:55Source O2 Developer program 20:15Top PocketPC

Agenda

Orientation

Mobile Platform

.NET Compact Framework

Page 18: Agenda 18:00Registration 18:30.NET Compact Framework 19:00‘Whidbey’ for Devices 19:30Break / Refreshments 19:55Source O2 Developer program 20:15Top PocketPC

Compact Framework design goals

Target mobile and embedded devices

Portable subset of .NET Framework

No new ‘compact’ namespaces

C# and Visual Basic .NET compiler support

Leverage Visual Studio .NET

Run managed .EXEs and .DLLs directly

Debug with Visual Studio .NET

Peacefully co-exist with host OS

Run on native threads, P/Invoke to native code

Page 19: Agenda 18:00Registration 18:30.NET Compact Framework 19:00‘Whidbey’ for Devices 19:30Break / Refreshments 19:55Source O2 Developer program 20:15Top PocketPC

Compact CLR common features

Verifiable type safe executionNo uninitialised variables, unsafe casts, bad array indexing or bad pointer arithmetic

Garbage collectionNo reference counting and no leaks

JIT compilation

Error handling with exceptions

Common type systemCall, inherit, and source-level debug across different languages

Page 20: Agenda 18:00Registration 18:30.NET Compact Framework 19:00‘Whidbey’ for Devices 19:30Break / Refreshments 19:55Source O2 Developer program 20:15Top PocketPC

Compact CLR differencesNo COM Interop

Good support for calling native DLLs

Can call COM objects through DLL wrappers

Can’t write COM / ActiveX in C# or Visual Basic

No install-time JIT (nGen)

No reflection emit

No remotingClient web services are fully supported

No generic serialisationDataSets can be serialised to XML

Subsets of other areas of functionality

Page 21: Agenda 18:00Registration 18:30.NET Compact Framework 19:00‘Whidbey’ for Devices 19:30Break / Refreshments 19:55Source O2 Developer program 20:15Top PocketPC

DEMO

Create a Web Service

Create a Pocket PC 2003 client application

Deploy the application to the Pocket PC 2003 emulator

Page 22: Agenda 18:00Registration 18:30.NET Compact Framework 19:00‘Whidbey’ for Devices 19:30Break / Refreshments 19:55Source O2 Developer program 20:15Top PocketPC

Questions?

Page 23: Agenda 18:00Registration 18:30.NET Compact Framework 19:00‘Whidbey’ for Devices 19:30Break / Refreshments 19:55Source O2 Developer program 20:15Top PocketPC

Visual Studio 2005 (‘Whidbey’) for devices

Marcus [email protected]://blogs.msdn.com/marcpe

Page 24: Agenda 18:00Registration 18:30.NET Compact Framework 19:00‘Whidbey’ for Devices 19:30Break / Refreshments 19:55Source O2 Developer program 20:15Top PocketPC

Windows Mobile roadmap

Devices

VS 2005(C#, VB.NET, C++)

eVC 3 (C++)eVC 4 (C++)VS .NET 2003(C#, VB.NET)

eVC 3 (C++)eVB 3 (VB)

eVC 3 (C++)eVB 3 (VB)Tools

PPC + PE 2003SP 2003

PPC + PE 2002SP 2002

PPC 2000Platforms

+ .NET CF Whidbey,New native runtimes,

1st class managed code,Notification Manager, DirectX, Location

APIs, Dr Watson

+ .NET Compact Framework,Bluetooth,

SMS

+ MFC,Connection Manager

Win32,POOMAPIs

Macallan4.23.03.0CE OS

SP v NextQVGA, Standard

PPC + PE v NextVGA, Landscape, Square, Standard

Page 25: Agenda 18:00Registration 18:30.NET Compact Framework 19:00‘Whidbey’ for Devices 19:30Break / Refreshments 19:55Source O2 Developer program 20:15Top PocketPC

Agenda

Visual Studio 2005 for DevicesOverviewNative developmentManaged development Improvements

Compact Framework 2.0Overview

Page 26: Agenda 18:00Registration 18:30.NET Compact Framework 19:00‘Whidbey’ for Devices 19:30Break / Refreshments 19:55Source O2 Developer program 20:15Top PocketPC

Visual Studio 2005 Device Initiatives

Goals: Desktop integrationExtend feature set

General language and IDE benefit: Generics, InteliSense, code snippetsIntegrating Managed and Native development in same toolset.New forms designer and emulation environments.

Page 27: Agenda 18:00Registration 18:30.NET Compact Framework 19:00‘Whidbey’ for Devices 19:30Break / Refreshments 19:55Source O2 Developer program 20:15Top PocketPC

Leveraging Desktop Features

NativeATL and MFC Class Libs and WizardsV8.0 CompilersResource EditorProject Properties and Settings

ManagedDesigner WYSIWYG

Forms

User Controls

Data

Partial ClassesInherited Forms

BothVS Project System, MSI and CAB projects

Page 28: Agenda 18:00Registration 18:30.NET Compact Framework 19:00‘Whidbey’ for Devices 19:30Break / Refreshments 19:55Source O2 Developer program 20:15Top PocketPC

Native Development

Native C++ for Devices feature will include:Application and Class WizardsSDK integrationResource EditorRemote deployment/debuggingNative frameworks (MFC / ATL)EmulatorHelp

Page 29: Agenda 18:00Registration 18:30.NET Compact Framework 19:00‘Whidbey’ for Devices 19:30Break / Refreshments 19:55Source O2 Developer program 20:15Top PocketPC

My first My first Native AppNative App

Page 30: Agenda 18:00Registration 18:30.NET Compact Framework 19:00‘Whidbey’ for Devices 19:30Break / Refreshments 19:55Source O2 Developer program 20:15Top PocketPC

Managed DevelopmentLanguages: C#, VB .NETManaged/Native Projects in one solutionIntegrated Smartphone supportWYSIWYG Forms Designer

Catch inherited but unsupported properties, methods and eventsSupport for custom controls and inherited forms

More accurate IntelliSenseData Designer

SQL Mobile Data-Management Tools

New EmulatorCAB and Setup ProjectsRemote Tools

Registry, process viewer, file viewer, heap walker, etc…

Page 31: Agenda 18:00Registration 18:30.NET Compact Framework 19:00‘Whidbey’ for Devices 19:30Break / Refreshments 19:55Source O2 Developer program 20:15Top PocketPC

Emulator Features

ARM CPU instruction set

ActiveSync support

Shared Folder support

Four COM ports

Portrait and landscape orientation support

Page 32: Agenda 18:00Registration 18:30.NET Compact Framework 19:00‘Whidbey’ for Devices 19:30Break / Refreshments 19:55Source O2 Developer program 20:15Top PocketPC

My first My first Managed AppManaged App

Page 33: Agenda 18:00Registration 18:30.NET Compact Framework 19:00‘Whidbey’ for Devices 19:30Break / Refreshments 19:55Source O2 Developer program 20:15Top PocketPC

Compact Framework 2.0

Page 34: Agenda 18:00Registration 18:30.NET Compact Framework 19:00‘Whidbey’ for Devices 19:30Break / Refreshments 19:55Source O2 Developer program 20:15Top PocketPC

.NET Compact Framework Today…

Service Pack 3 ImprovementsDownload it today from MSDNFocus on Stability: WM 2003 SEFrom SP 2:

~ 40% faster XML~ 20% faster ADO.NETForeColor and BackColor!!!

Developer AdoptionFourth most active .NET newsgroupDeveloper Focused Web sites like

http://www.OpenNetCF.orghttp://www.dotnetdn.com/http://www.pocketPCDN.com

http://msdn.microsoft.com/mobility/Information direct from product team members

http://blogs.msdn.com/windowsmobile

Page 35: Agenda 18:00Registration 18:30.NET Compact Framework 19:00‘Whidbey’ for Devices 19:30Break / Refreshments 19:55Source O2 Developer program 20:15Top PocketPC

Compact Framework 2.0Goals:

Side by side with CF 1.0More desktop & device classesImproved Interoperability

Faster executionCOM Interoperability: Runtime Callable Wrappers (RCW)New Controls: MonthCalendar, NotificationBubble, UserControlSQL CE Mobile: Pocket PC and SmartphoneNew Classes: System.Messaging, Cryptography, Phone and PIM wrappers

.NETCF 1.0.NETCF 1.0(ROM)(ROM)

.NETCF 1.0.NETCF 1.0(ROM)(ROM)

.NETCF .NETCF 2.02.0

.NETCF .NETCF 2.02.0

Page 36: Agenda 18:00Registration 18:30.NET Compact Framework 19:00‘Whidbey’ for Devices 19:30Break / Refreshments 19:55Source O2 Developer program 20:15Top PocketPC

Extensibility.NET Compact Framework 2.0

COM InteroperabilityRuntime Callable Wrappers (RCW) provide proxies for native COM objects

RCW support integrated into the Visual Studioshell

Enhanced Type MarshallingAdditional types – arrays, strings, structuresEmbedded arrays – structs with char[], array[]MarshalAs – type hinting

System.Windows.FormsControl.Handle – retrieve window handle

Page 37: Agenda 18:00Registration 18:30.NET Compact Framework 19:00‘Whidbey’ for Devices 19:30Break / Refreshments 19:55Source O2 Developer program 20:15Top PocketPC

Language Support.NET Compact Framework 2.0

New language features make youmore productive

GenericsAnonymous methodsIteratorsPartial Types

Page 38: Agenda 18:00Registration 18:30.NET Compact Framework 19:00‘Whidbey’ for Devices 19:30Break / Refreshments 19:55Source O2 Developer program 20:15Top PocketPC

Windows.Forms Controls

DateTimePicker

MonthCalendar

DocumentList

LinkLabel

Notification Bubble

Help

WebBrowser

DataContainer

UserControl

Page 39: Agenda 18:00Registration 18:30.NET Compact Framework 19:00‘Whidbey’ for Devices 19:30Break / Refreshments 19:55Source O2 Developer program 20:15Top PocketPC

A look at the A look at the controlscontrols

Page 40: Agenda 18:00Registration 18:30.NET Compact Framework 19:00‘Whidbey’ for Devices 19:30Break / Refreshments 19:55Source O2 Developer program 20:15Top PocketPC

Smartphone Features.NET Compact Framework 2.0

Data SupportSQL MobileDataGrid

Textbox IME switching

InputModeEditor

Enable multiple menu items on left softkey

Page 41: Agenda 18:00Registration 18:30.NET Compact Framework 19:00‘Whidbey’ for Devices 19:30Break / Refreshments 19:55Source O2 Developer program 20:15Top PocketPC

Displays And Layout.NET Compact Framework 2.0

Orientation SupportDocking and Anchoring

Tip – use panels to group controls

AutoScroll property – forms, panels

Suspend/Resume Layout methods

ChangeOrientation method

Resolution SupportAutomatic scaling

Graphics DpiX/DpiY

Page 42: Agenda 18:00Registration 18:30.NET Compact Framework 19:00‘Whidbey’ for Devices 19:30Break / Refreshments 19:55Source O2 Developer program 20:15Top PocketPC

System.Drawing.NET Compact Framework 2.0

BitmapsBitmap.LockBits(…)Image.Save(…)

png, jpg, bmp, tif, gif

Bitmap Pattern Brushes

Create font from LOGFONT structure

Custom Pens

Rotated text Rotated text using LOGFONT using LOGFONT

Page 43: Agenda 18:00Registration 18:30.NET Compact Framework 19:00‘Whidbey’ for Devices 19:30Break / Refreshments 19:55Source O2 Developer program 20:15Top PocketPC

Class Libraries

Serial PortFour ports nowSupported in the emulator

Generic collections

CryptographyaZ#S- ghro @*rw --v<E[1~Encrypt System.Messaging messages, passwords

Page 44: Agenda 18:00Registration 18:30.NET Compact Framework 19:00‘Whidbey’ for Devices 19:30Break / Refreshments 19:55Source O2 Developer program 20:15Top PocketPC

Support for custom delegatesReturn valuesCustom parameters

Asynchronous supportBeginInvoke/EndInvoke

Exception for cross-thread GUI callsunique to .NET Compact Framework

Control.Invoke.NET Compact Framework 2.0

IAsyncResult result = this.BeginInvoke(myDelegate,

new object[]{“hello”});// do other processing here while thread

runsint returnCode = (int)this.EndInvoke(result);

public delegate int myDelegate(string s);

Page 45: Agenda 18:00Registration 18:30.NET Compact Framework 19:00‘Whidbey’ for Devices 19:30Break / Refreshments 19:55Source O2 Developer program 20:15Top PocketPC

Filling the gapsFilling the gaps

Page 46: Agenda 18:00Registration 18:30.NET Compact Framework 19:00‘Whidbey’ for Devices 19:30Break / Refreshments 19:55Source O2 Developer program 20:15Top PocketPC

Summary

You can make great device applications today with Visual Studio .NET 2003

Whidbey introduces large improvements in device application design, unifying it with desktop experience

.NET Compact Framework 2.0 is about next generation features and productivity enhancers.

Page 47: Agenda 18:00Registration 18:30.NET Compact Framework 19:00‘Whidbey’ for Devices 19:30Break / Refreshments 19:55Source O2 Developer program 20:15Top PocketPC

Attend a free chat or web casthttp://www.microsoft.com/communities/chats/default.mspx http://www.microsoft.com/usa/webcasts/default.asp

List of newsgroupshttp://communities2.microsoft.com/communities/newsgroups/en-us/default.aspx

MS Community Siteshttp://www.microsoft.com/communities/default.mspx

Locate Local User Groupshttp://www.microsoft.com/communities/usergroups/default.mspx

Community siteshttp://www.microsoft.com/communities/related/default.mspx

Community Resources

Page 48: Agenda 18:00Registration 18:30.NET Compact Framework 19:00‘Whidbey’ for Devices 19:30Break / Refreshments 19:55Source O2 Developer program 20:15Top PocketPC

© 2005 Microsoft Corporation. All rights reserved.© 2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.