Introduzione allo sviluppo con .NET Compact Framework Roberto Brunetti [email protected] http://blogs.devLeap.com/rob http://thinkmobile.it/blogs/rob Marco Frontini [email protected] www.softandroll.it http://thinkmobile.it/blogs/front Fabio Santini [email protected] www.fsantini.net http://thinkmobile.it/blogs/fabiosantini …in questa sessione… Mobile & .NET Compact Framework … il MOBILE … Luigi 16 … il MOBILE … Arte Contemporanea Microsoft Mobility Platform Pocket PC Phone Smartphone • Integrated phone with PDA Smart Personal Objects • One-way network • Information consumption • Data viewing • Interoperability with Exchange • .NET compact framework • Integrated PDA with phone • View and some data entry • Interoperability with Office, Exchange and SQL Server • .NET compact framework Tablet PC Notebook PC • Complex document authoring, editing and reading • Keyboard centric at the desk • Keyboard and mouse input methods • Full .NET framework available Windows CE+ Increased Functionality • 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 • Pen, ink, handwriting and speech recognition API’s Windows XP Panoramica su Windows CE Win CE, Pocket PC, Windows Mobile, Cosa sono? • Windows CE un OS Modulare • Windows CE 3.0 (CF supportato solo su Pocket PC) • Handheld PC 2000 (CF non è supportato) • Windows CE .NET 4.2 • Windows for Pocket PC 2000-2002 (basato su Windows CE 3.0) • Windows Mobile 2003 (basato su CE .NET 4.2) • Windows Mobile 2003 SE (basato su CE .NET 4.21) Roadmap 2002 Visual Studio .NET Compact Framework 2003 2004 2005 Visual Studio 2005 Visual Studio 2003 1.0 1.0 SP1 Size Smartphone Portability Compatibility 1.0 SP2 Perf update Landscape Autoscroll Bug fixes 1.0 SP3 Bug fixes 2.0 Generics COM interop Controls MD3DM Performance (redist) (redist) Pocket PC Smartphone Windows CE PPC 2002 3.0 SP 2002 4.1 WM 2003 4.2 WM 2003 SE 5.0 WM 2005 Architettura Architettura SW Features delle varie versioni • Windows CE (la base) una shell stile windows…non sempre utilizzabile • Pocket PC una shell specifica • Pocket PC Phone Edition • Smartphone Hardware • Processori: ARM, StrongARM, MIPS, Intel PXA, SH3, ecc. • Comunicazione: IrDA, Bluetooth, USB, Seriale • Memoria: RAM-ROM, SD, CF (esecuzione diretta dalla ROM) Visual Studio 2003 Tipologie di progetto • PocketPC, CE.NET e Smartphone: Differenze Applicazioni console, in PocketPC e SP non sono supportate (occorre caricare manualmente la console.dll) Si possono creare applicazioni senza UI Diverso posizionamento e gestione dei controlli Attenzione al ClientRectangle con CE • • • • Menu Toolbar (no Smartphone) Tab Control (su Smartphone ListView+Forms) ListView, TreeView (Smartphone) Visual Studio 2003 Architettura di un progetto • Piattaforme supportate Project Properties Output File Folder Deployment Device Device Options DEMO #1 Progetti PocketPC, CE.NET, Smartphone Strumenti • Compact Framework SDK C:\Programmi\Microsoft Visual Studio .NET 2003\CompactFrameworkSDK • SDKs Pocket PC 2003 SDK + Emulators 2003 SE Smartphone 2003 SDK + Emulators 2003 SE • Tools Power Toys C:\Programmi\Windows Mobile Developer Power Toys Remote Tools C:\Programmi\Windows CE Tools\Common\Platman\bin Windows CE Utilities (debug su custom CE devices) DEMO #2 Tools C:\Programmi\Microsoft Visual Studio .NET 2003\CompactFrameworkSDK C:\Programmi\Windows CE Tools C:\Programmi\Windows Mobile Developer Power Toys C:\Programmi\Windows CE Tools\Common\Platman\bin Differenze con la versione Full .NET CF è un sottoinsieme della versione Full Differenze • • • • Tipi (molte classi sono state omesse) Method Overloads (molti Overloads sono stati tralasciati) Web Services (solo client) NGen (manca) Namespaces mancanti • • • • • • • Classi legate alla stampa (Crystal, PrintDialog, etc.) System.Xml.XPath namespace ed Extensible Stylesheet Language Transformation (XSLT) Binary Serialization Microsoft.Win32.Registry namespace COM Interop GDI+ Remoting Linguaggi • per ora solo C# e VB.NET Il codice è sempre IL compilato a runtime con il JIT, esiste la GAC Namespaces e tipi specifici del CF • • • • • • System.Net.IrDA namespace System.Data.SqlServerCe System.SR <System.Windows.Forms.DataGrid.dll> Microsoft.WindowsCE.Forms.dll Input Panel • Bluetooth purtroppo assente • Class Library Comparison Tool ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.1033/dv_spchk/html/NET_Compact_Framework.htm Windows Forms .NET Compact Framework 1.x • • • • • Controlli supportati e non TabIndex, TabStop Gestione dell’Input Panel Activation e Deactivation (Pocket PC) Common dialogs OpenFileDialog, SaveFileDialog: solo un livello sotto My Documents ColorDialog, FontDialog: non sono supportate Smartphone: non sono supportate • Custom Controls • Data Binding DEMO #3 Win Forms, TabIndex, InputPanel, Activation-Deactivation Accesso ai dati • Locale con XML • Files, Streams File, FileInfo, Directory, DirectoryInfo BinaryReader/Writer, StreamReader/Writer, FileStream, NetworkStream, MemoryStream, StringReader/Writer • Encodings, System.Text.Encoding • Remoto con WebRequest (HttpWebRequest) • Remoto con Web Services • Locale con SQL CE • Remoto con SQL Server 2000 • RDA DEMO #4 Lettura files e DataBinding Configurazione ambiente di sviluppo e Debug • Emulatore, configurazione per accesso alla rete e al web • Loopback adapter • Debug e Trace, limiti con CF • ActiveSync 3.5 fino a CE 4.1, 3.7 fino a CE 4.2, 4.0 per CE 5.0 DEMO #5 Configurazione ambiente di sviluppo © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY. Content created by 3 Leaf Solutions