net compact framework 2.0 visual studio 2005 aali alikoski academic developer evangelist, microsoft...

26
.NET Compact Framework 2.0 Visual Studio 2005 Aali Alikoski Academic Developer Evangelist, Microsoft Oy [email protected] http://blogs.msdn.com/aalialikoski Mobiiliohjelmointipäivä TTY 19.12.2005

Upload: elvis-turlington

Post on 31-Mar-2015

240 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: NET Compact Framework 2.0 Visual Studio 2005 Aali Alikoski Academic Developer Evangelist, Microsoft Oy aali@microsoft.com

.NET Compact Framework 2.0Visual Studio 2005Aali Alikoski

Academic Developer Evangelist, Microsoft Oy

[email protected]

http://blogs.msdn.com/aalialikoski

Mobiiliohjelmointipäivä TTY 19.12.2005

Page 2: NET Compact Framework 2.0 Visual Studio 2005 Aali Alikoski Academic Developer Evangelist, Microsoft Oy aali@microsoft.com

Agenda

Microsoftin mobiilivisio

.NET mobiilikehityksessä

Windows Mobile 5 ja Compact Framework 2.0 uutuudet

Visual Studio 2005 työkaluna (demo)

Page 3: NET Compact Framework 2.0 Visual Studio 2005 Aali Alikoski Academic Developer Evangelist, Microsoft Oy aali@microsoft.com

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

Page 4: NET Compact Framework 2.0 Visual Studio 2005 Aali Alikoski Academic Developer Evangelist, Microsoft Oy aali@microsoft.com

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

Page 5: NET Compact Framework 2.0 Visual Studio 2005 Aali Alikoski Academic Developer Evangelist, Microsoft Oy aali@microsoft.com

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…

Page 6: NET Compact Framework 2.0 Visual Studio 2005 Aali Alikoski Academic Developer Evangelist, Microsoft Oy aali@microsoft.com

.NET mobiilikehityksessä

Page 7: NET Compact Framework 2.0 Visual Studio 2005 Aali Alikoski Academic Developer Evangelist, Microsoft Oy aali@microsoft.com

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

Page 8: NET Compact Framework 2.0 Visual Studio 2005 Aali Alikoski Academic Developer Evangelist, Microsoft Oy aali@microsoft.com

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+

Page 9: NET Compact Framework 2.0 Visual Studio 2005 Aali Alikoski Academic Developer Evangelist, Microsoft Oy aali@microsoft.com

.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

Page 10: NET Compact Framework 2.0 Visual Studio 2005 Aali Alikoski Academic Developer Evangelist, Microsoft Oy aali@microsoft.com

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

Page 11: NET Compact Framework 2.0 Visual Studio 2005 Aali Alikoski Academic Developer Evangelist, Microsoft Oy aali@microsoft.com

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

Page 12: NET Compact Framework 2.0 Visual Studio 2005 Aali Alikoski Academic Developer Evangelist, Microsoft Oy aali@microsoft.com

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

Page 13: NET Compact Framework 2.0 Visual Studio 2005 Aali Alikoski Academic Developer Evangelist, Microsoft Oy aali@microsoft.com

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#

Page 14: NET Compact Framework 2.0 Visual Studio 2005 Aali Alikoski Academic Developer Evangelist, Microsoft Oy aali@microsoft.com

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

Page 15: NET Compact Framework 2.0 Visual Studio 2005 Aali Alikoski Academic Developer Evangelist, Microsoft Oy aali@microsoft.com

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

Page 16: NET Compact Framework 2.0 Visual Studio 2005 Aali Alikoski Academic Developer Evangelist, Microsoft Oy aali@microsoft.com

Windows Mobile 5 ja Compact Framework 2.0 uutuudet

Kehittäjän näkökulmasta

Page 17: NET Compact Framework 2.0 Visual Studio 2005 Aali Alikoski Academic Developer Evangelist, Microsoft Oy aali@microsoft.com

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

Page 18: NET Compact Framework 2.0 Visual Studio 2005 Aali Alikoski Academic Developer Evangelist, Microsoft Oy aali@microsoft.com

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

Page 19: NET Compact Framework 2.0 Visual Studio 2005 Aali Alikoski Academic Developer Evangelist, Microsoft Oy aali@microsoft.com

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

Page 20: NET Compact Framework 2.0 Visual Studio 2005 Aali Alikoski Academic Developer Evangelist, Microsoft Oy aali@microsoft.com

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

Page 21: NET Compact Framework 2.0 Visual Studio 2005 Aali Alikoski Academic Developer Evangelist, Microsoft Oy aali@microsoft.com

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

Page 22: NET Compact Framework 2.0 Visual Studio 2005 Aali Alikoski Academic Developer Evangelist, Microsoft Oy aali@microsoft.com

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

Page 23: NET Compact Framework 2.0 Visual Studio 2005 Aali Alikoski Academic Developer Evangelist, Microsoft Oy aali@microsoft.com

Visual Studio 2005 kehitysvälineenä

Page 24: NET Compact Framework 2.0 Visual Studio 2005 Aali Alikoski Academic Developer Evangelist, Microsoft Oy aali@microsoft.com

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

Page 25: NET Compact Framework 2.0 Visual Studio 2005 Aali Alikoski Academic Developer Evangelist, Microsoft Oy aali@microsoft.com

Linkkejä

www.microsoft.com/windowsmobile/5

msdn.microsoft.com/mobility/windowsmobile

Page 26: NET Compact Framework 2.0 Visual Studio 2005 Aali Alikoski Academic Developer Evangelist, Microsoft Oy aali@microsoft.com

© 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only.MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.