Upload
randall-thomas
View
218
Download
5
Tags:
Embed Size (px)
Citation preview
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
NET Compact Framework for Mobile Developers
Marcus [email protected]://blogs.msdn.com/marcpe
The slides for this eventwill be posted at:
www.microsoft.com/uk/msdn/postevents
Agenda
Orientation
Mobile Platform
.NET Compact Framework
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
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
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
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
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
Device emulators
Visual Studio .NET 2003 includes a Pocket PC 2002 emulator as standard
Other emulators are available via SDKs
Agenda
Orientation
Mobile Platform
.NET Compact Framework
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
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
Pocket PC screen sizes
(support for .24 .22 and .18 dot pitch)
Pocket PC screen sizes
Smartphone screen sizes
Agenda
Orientation
Mobile Platform
.NET Compact Framework
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
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
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
DEMO
Create a Web Service
Create a Pocket PC 2003 client application
Deploy the application to the Pocket PC 2003 emulator
Questions?
Visual Studio 2005 (‘Whidbey’) for devices
Marcus [email protected]://blogs.msdn.com/marcpe
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
Agenda
Visual Studio 2005 for DevicesOverviewNative developmentManaged development Improvements
Compact Framework 2.0Overview
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.
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
Native Development
Native C++ for Devices feature will include:Application and Class WizardsSDK integrationResource EditorRemote deployment/debuggingNative frameworks (MFC / ATL)EmulatorHelp
My first My first Native AppNative App
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…
Emulator Features
ARM CPU instruction set
ActiveSync support
Shared Folder support
Four COM ports
Portrait and landscape orientation support
My first My first Managed AppManaged App
Compact Framework 2.0
.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
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
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
Language Support.NET Compact Framework 2.0
New language features make youmore productive
GenericsAnonymous methodsIteratorsPartial Types
Windows.Forms Controls
DateTimePicker
MonthCalendar
DocumentList
LinkLabel
Notification Bubble
Help
WebBrowser
DataContainer
UserControl
A look at the A look at the controlscontrols
Smartphone Features.NET Compact Framework 2.0
Data SupportSQL MobileDataGrid
Textbox IME switching
InputModeEditor
Enable multiple menu items on left softkey
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
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
Class Libraries
Serial PortFour ports nowSupported in the emulator
Generic collections
CryptographyaZ#S- ghro @*rw --v<E[1~Encrypt System.Messaging messages, passwords
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);
Filling the gapsFilling the gaps
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.
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
© 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.