net compact framework 2.0 visual studio 2005 aali alikoski academic developer evangelist, microsoft...
TRANSCRIPT
.NET Compact Framework 2.0Visual Studio 2005Aali Alikoski
Academic Developer Evangelist, Microsoft Oy
http://blogs.msdn.com/aalialikoski
Mobiiliohjelmointipäivä TTY 19.12.2005
Agenda
Microsoftin mobiilivisio
.NET mobiilikehityksessä
Windows Mobile 5 ja Compact Framework 2.0 uutuudet
Visual Studio 2005 työkaluna (demo)
Microsoftin mobiilivisio
Pääpaino ”bisnessovelluksissa”
Mobiilisovellukset eivät ole saarekkeita
Vaan tyypillisesti laajemman taustajärjestelmän laajennoksia
Esim Pocket Outlook
Yhtenäinen kehitysympäristö
Mobiiliohjelmointi samanlaista kuin kaikki muukin (Win, Web, jne)
Kun osaat yhden, osaat kaikki
IntroductionWindows Mobile 5.0
Next generation of Windows Mobile
Successor to Windows Mobile 2003 Second Edition
New naming reflects Windows CE platform version
Codenamed ‘Magneto’ during development
Effectively ‘Windows Mobile 2005’
Release products now shipping
Windows Mobile 5.0 Pocket PC OS and SDK
Windows Mobile 5.0 Smartphone OS and SDK
ActiveSync 4.1
Pocket PC Phone vs Smartphone
Pocket PC Phone Edition
Touch Screen
PDA Form Factor
32 - 128MB RAM, ~200 - 400MHz CPU
Smartphone
No Touch Screen
Phone Form Factor
Durable Like a Phone
16-32MB RAM, ~125 - 200MHz CPU
Both
Storage on Flash
Multimedia Features
Pocket Outlook, Pocket Internet Explorer
GSM/GPRS, CDMA, WCDMA, 3G Radio
SD Card
More…
.NET mobiilikehityksessä
Development For Mobile DevicesDevelopment Platform Overview
Local CodeRemote Web Pages
Visual Studio .NETVisual Studio .NET
.NET Framework.NET Framework
Mobile Web Browser
Mobile Web Browser
.NET CompactFramework
.NET CompactFramework
Client-sideRich Apps
Server-side Web Apps
Gaining Momentum
Devices with Microsoft .NET Devices with Microsoft .NET Compact Framework Compact Framework in ROMin ROM
.NET Compact Framework.NET Compact Frameworkdevelopersdevelopers
Downloads of Downloads of V1 Service PacksV1 Service Packs
10 million+10 million+
200,000+200,000+
600,000+600,000+
.NET Managed Development The Common Language Runtime
Class LoaderClass Loader
IL to NativeIL to NativeCompilersCompilers
CodeCodeManagerManager
GarbageGarbageCollectorCollector
Security EngineSecurity Engine Debug EngineDebug Engine
Type CheckerType Checker Exception ManagerException Manager
Thread SupportThread Support COM MarshalerCOM Marshaler
Base Class Library SupportBase Class Library Support
The .NET Compact Framework
VisualVisualStudioStudio
Windows CEWindows CE
Low level operating system-specific Low level operating system-specific functionalityfunctionality
ThreadsThreads MemoryMemory File I/OFile I/O
NetworkingNetworking LocalizationLocalization
CLRCLR
Type systemType system LoaderLoader JIT CompilerJIT Compiler
Execution Engine provides type-safe Execution Engine provides type-safe runtime for managed coderuntime for managed code
Garbage collectorGarbage collector DebuggerDebugger
FXFX
Rich class libraries to make your life Rich class libraries to make your life easy!easy!
GUI: Forms GUI: Forms GUI: Drawing (2D & 3D)GUI: Drawing (2D & 3D) CollectionsCollections IO, Networking, CryptoIO, Networking, Crypto
Native interopNative interop Web servicesWeb services Data & XmlData & Xml GlobalizationGlobalization
The .NET Compact Framework Comparisons with the Desktop Framework
Both
Modern, managed runtime environments
Greatly enhance developer productivity
Provide both C# and VB.NET languages*
Major releases in Visual Studio
Full .NET Framework
Extremely rich, scalable, secure, powerful
.NET Compact Framework
Preserves essence of full .NET Framework
Optimized for small size, portability
Web Services support
Compact Framework supports client-side Web Services development
The same model as in full framework
Mobile platform has its own specialities that need special consideration (although getting better all the time)
Low speed network
Lower processing power
The .NET Compact FrameworkSmaller but still powerful
28% of the surface area in 8% of the size
OmittedServer functionality (ASP.NET)
Functionality rare for a device (Remoting)
Expensive functionality (Reflection Emit)
Individual properties, methods, events – classes factored at member level
Managed C++, J#
The .NET Compact FrameworkImplementation
CopyCopyGround-up rewriteGround-up rewrite Snapshot & ModifySnapshot & Modify
Windows.FormsWindows.Forms
System.Web.ServicesSystem.Web.Services
Microsoft.DirectX.Microsoft.DirectX.Direct3DMobileDirect3DMobile
System.DrawingSystem.Drawing
Execution EngineExecution Engine
JIT, GC, Loader, JIT, GC, Loader, assembly cacheassembly cache
System.NetSystem.Net
System.IOSystem.IO
System.ResourcesSystem.Resources
System.ThreadingSystem.Threading Microsoft.Win32.Microsoft.Win32.RegistryRegistry
System.CryptographySystem.Cryptography
System.IO.PortsSystem.IO.Ports
System.StringSystem.String
System.TextSystem.Text
System.GlobalizationSystem.Globalization
System.MessagingSystem.Messaging
System.XmlSystem.Xml
System.DataSystem.Data
System.Text.RegexSystem.Text.Regex
Microsoft.VisualBasicMicrosoft.VisualBasic
System.CollectionsSystem.Collections
System.Generic.System.Generic.CollectionsCollections
86% scope 86% scope of Full .NET of Full .NET FrameworkFramework
91% scope 91% scope of Full .NET of Full .NET FrameworkFramework
The .NET Compact FrameworkHow do you get it?
OEMs
Adaptation Kits (and AKUs)
Platform Builder (and PB Updates)
Developers
Microsoft Visual Studio (and SPs)
Developer Redistributable on microsoft.com
.NET Developer Platform SDK (New!)
End Users
In ROM on their device
In the setup of their applications
End User Redistributable on microsoft.com
Windows Mobile 5 ja Compact Framework 2.0 uutuudet
Kehittäjän näkökulmasta
Development PlatformOverview
Windows Mobile 5.0 extends developer support
New native APIs and functions
New managed APIs
Many updates of interest to developers
User interface operation and appearance
File system and program storage
Database functionality
Application integration
New security model
Development PlatformNew Native APIs
ActiveSync
Start and stop ActiveSync process
Digital Rights Management (DRM)
Common interface to wide range of DRM engines
Global Positioning System (GPS)
Shared access to GPS via GPS Intermediate Driver
Graphics
Direct3D Mobile (D3DM), DirectDraw, DirectShow
Development PlatformNew Managed APIs
Configuration Manager
Configure virtually all aspects of device
Messaging
Support for both email and SMS messages
Outlook Mobile
Access to Pocket Outlook Object Model (POOM)
Telephony
Exposes basic telephone behaviour
Development PlatformNew Common Functionality
Camera Capture API
Camera capture dialog for still and video images
Pocket Outlook enhancements
Contact selection dialog, custom properties, event notifications, mail application management
State and Notification Broker
Unified information storage and event notification
Picture selection dialog
Easy to use picture selection facility
New in Compact Framework 2.0
Same things as in the full 2.0 framework
Generics
Partial classes
Anonymous methods
Subset of VB.NET ”My” namespace
More UI controls
Smartphone
Pocket PC
What Version 2.0 Will BringAdditional Managed Libraries from the OS
New in Windows Mobile 5.0
WindowsMobile.PocketOutlook
Appointments, contacts, tasks
Messaging – Email and SMS
WindowsMobile.Status
Track System State
WindowsMobile.Telephony
Initiate calls
Visual Studio 2005 kehitysvälineenä
Demo
Sovellus joka reagoi vastaamatta jääneisiin puheluihinTunnistaa Contactin
Lähettää tekstiviestin soittajalle
Laittaa merkinnän kalenteriin
TekniikatCompact Framework 2.0
Windows Mobile 5
Kokeile!Soita 050 5673471
Laitan koodin jakoon lähiaikoina: http://blogs.msdn.com/aalialikoski
Linkkejä
www.microsoft.com/windowsmobile/5
msdn.microsoft.com/mobility/windowsmobile
© 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only.MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.