La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Intro to Mobile Development using.NET Roberto Brunetti -

Presentazioni simili


Presentazione sul tema: "Intro to Mobile Development using.NET Roberto Brunetti -"— Transcript della presentazione:

1 Intro to Mobile Development using.NET Roberto Brunetti -

2 DevLeap Pure.NET Training Introduction to.NET Framework Architecting Apps in.NET Introduction to Web Services Introduction to ASP.NET Introduction to ADO.NET Core ASP.NET Core ADO.NET Core Web Services Core.NET Framework SOA Services with WSE2 ASP.NET 2.0 Preview/Core/Upgrade Intro to Mobility Dev Advanced Mobility Dev

3 DevLeap Training Sharepoint 2003 Development Data Warehouse e DTS OLAP Analysis Services Longhorn Preview WinFX Preview WCF (Indigo) Preview SQL 2005 Preview Introduction to ASP.NET WPF (Avalon) Preview SQL 2005 Analysis Services Preview SQL Server Reporting Services VSTS for Technicians

4 ThinkMobile.it Il 12/7/2005 ho aperto il sito Obiettivo: creare la comunità italiana per lo sviluppo in.NET su dispositivi Mobile.NET Compact Framework SQL Server for Windows CE Repliche dei dati Applicazioni Server-side Blogs – Forum

5 Scenari Utilizzo di Terminal Service Impatto zero sul Device Solo per Pocket PC Utilizzo di Internet Explorer Impatto zero sul Device Applicazione sul Device Installazione sul Device Semplice o complessa che sia Scenari Utilizzo Socket o Web Request - Vecchio stile Utilizzo di XML - Vecchio Stile Utilizzo di Web Service !!! Download e uso dei dati sul device !!!

6 La sfida Web Site

7 Problematiche Device Diversi Schermi diversi Dimensioni diverse Supporto Markup Language Diverso WML, HTML, XHTML, cHTML, HDML WAP Gateway gira le richieste in Http verso il server

8 Mobile Web HTML, WML, HDML, cHTML o XHTML ? Se HTML, quale versione ? 3.2 supportata da molti device ? 4.0 supportata da alcuni Uso Javascript lato client ? Sarebbe bello ma non funziona su tutti i device Due opzioni Usiamo il minimo comune denominatore Adattiamo il rendering per vari device...e quando ne esce uno nuovo ?

9 Altra problematica WML e HTML sono diversi ! Per la gestione dei form Per la gestione delle variabili In WML non esistono molti dei tag HTML Potremmo scrivere codice che testa il device (HTTP_USER_AGENT) e si comporta di conseguenza Che fare per ogni nuovo device che esce ? Ci potremmo fare una libreria e un file di configurazione

10 Mobile Controls Altra produttività Gestione semplice Supporto XML Web Services integrati Performance Device Extension Event-based Native / XSLT Sviluppo più complesso Nuovo codice per nuovi device Supporto XML (obbligatorio) No Web Services Utilizzo di standard Riutilizzo ASP 3.0 e altri ambienti ASP.NET, Mobile Controls Native / XSLT Mobile Web Browse ? Scelte Server-side Mobile Controls, XSLT o Hand Coded

11 ASP.NET Mobile Controls 1.1 Integrazione con VS.NET 2002/2003.NET Framework Services Framework ASP.NET Common Language Runtime System Services Windows Forms &.NET Compact Framework BaseDataDebug … Web Forms Mobile Web Forms Web Services Estendono ASP.NET per applicazioni mobile Multi-Device Multi-Language HTML/WML…

12 Supporto Device – 250 c.a. ACCESS Compact: NetFront 2.0, Fujitsu F503i, Mitsubishi D502i, Mitsubishi D503i, NEC N210i, NEC N502i, Sony SO503i Ericsson 2.0: Ericsson R380, Ericsson R320, Ericsson R520m, Ericsson T20s GoAmerica Go.Web: Compaq iPAQ H3650, Palm Vx, RIM Blackberry 857, RIM Blackberry 950, RIM Blackberry 957, Microsoft Mobile Explorer: Sony CMD-Z5, Sony CMD-J5, Benefon Q, Microsoft Pocket Internet Explorer: Casio Cassiopeia E-125, Compaq iPAQ H3630, Compaq iPAQ H3650, HP Jornada 720, Compaq iPAQ H3670 Nokia: Nokia 3330, Nokia 6210, Nokia 7110, Nokia 9110i Openwave UP.Browser 3.x: Audiovox CDM-9000, Ericsson R280LX, Hitachi C407H, Kyocera QCP 2035A, Kyocera QCP 3035, LG V111, Mitsubishi T250, Motorola StarTAC 7868W, Motorola TimePort P8767, Samsung SCH-6100, Samsung SCH-850, Samsung SCH-8500, Samsung UpRoar M100, Sanyo C401SA, Sanyo SCP- 4500, Sanyo SCP-5000, Sprint Touchpoint, Sprint Touchpoint 2200, Sprint Touchpoint 3000 Openwave UP.Browser 4.x: Alcatel One Touch 701, Audiovox CDM-135, Audiovox CDM-9100, Motorola i1000plus, Motorola i2000plus, Motorola i50sx, Motorola i85s, Motorola T2288, Motorola TimePort P7382i, Motorola TimePort P7389, Motorola V100, Motorola V120c, Motorola V2288, Motorola V60c, Siemens C35i, Siemens S35i, Siemens SL45 Miscellaneous Browsers: Handspring Visor Platinum (Qualcomm Eudora Internet Suite 2.1; Blazer 1.0 and Omnisky ), IBM WorkPad c505 (ilinx Xiino 1.01J), Kyocera QCP 6035 (Qualcomm Eudora 2.0), Nokia 9210 (Symbian Crystal 6.0), Palm VII (MyPalm 1.0), Palm Vx (AU-Systems and Omnisky ), Palm m505 (MyPalm 1.1), Panasonic P210i, Panasonic P502i, Sharp J-SH04 (Original Equipment Manufacturer's Version 3.0), Sharp Zaurus MI-E1 (Original Equipment Manufacturer's Version 6.1), Sony CLIE PEG-N700C (ilinz Palmscape 4.0SJ), Toshiba J-T05 (Original Equipment Manufacturer's Version 3.0),

13 Caratteristiche Adaptive Rendering Mobile Control Sviluppo Espongono Proprieta, Metodi, Eventi Adapter Producono lOutput Un adapter per ogni tipo di ML da inviare Inviano ML corretto Configurati nel machine.config Customization Modello estendibile per customizzare il rendering per un particolare device

14 Adaptive Rendering Calendario WML cHTMLHTML Calendar MobileCapabilities HTTP Request Invio super-TABLE HTML Mobile.ASPX Recupero Device Adapter Recupero info Browser e Device Selezione Device Adapter Recupero Device Adapter WAP ASP.NET and IIS Invio testo WML Inizializzazione Controlli

15 Web Form e Mobile Web Form Mobile Web Form Ciao Ciao Ciao Ciao Web Form

16 Text Display Controls Label Control Piccole quantità di info – read only TextBox Control Single-line input (text box) Demo Semplice Trace per diverso rendering

17 Navigazione Una pagina ASP.NET tradizionale contiene un solo form I device possono avere schermi ridottissimi Si possono costruire più form nella stessa pagina Evitando di avere tante pagine minuscole sul sito Utilizzando gli stesse entità (nomi di pagine) dellapplicazione Desktop Riutilizzando la stessa logica dellapplicazione Desktop

18 Transfer Controls Link control Testo con hyperlink Verso un form diverso (card in WML) Verso una pagina diversa Proprietà SoftkeyLabel (per telefonini) Go to Results NavigateUrl="#frmResults">Go to Results

19 Transfer Controls Command control Bottone tradizionale Può invocare eventi server-side Demo 03 Demo 04

20 Phone Call PhoneCall control Su browser o Pocket PC Visualizza il numero Genera solo il testo Sul un PPC Phone, SP Chiamata diretta A HREF verso il numero Su WAP Chiamata diretta Tag WML per la chiamata

21 List Control Utile per costruire Menù Può avere Text e Value Sul click viene scatenato ItemCommand

22 TextView Control Testo lungo Consente Bold Italic Salti pagina Paragrafi Anchor nel testo Supporta Paginazione

23 List e Selection List ListSelectionListObjectList DataboundOpzionale Obbligatorio PaginationSiNoSi DecorationNone, Bulleted, Numbered Dropdown, ListBox, Radio Button, CheckBox, MultiSelect Solo con Customization InteractiveOpzionaleSiOpzionale Controlli simili in ASP.NET DatalistListBox, CheckBox, CheckBoxList, RadioButton, RadioButtonList, & DropDownList Datagrid

24 ObjectList DataBinding Template Header Footer Item AlternatingItem Dettaglio automatico Demo IE Pocket PC SmartPhone

25 Un po di stile Aggiungere un po di informazioni di style 3 stili predefiniti title Error Subcommand Associabili con StyleReference Estendibile con propri stili Demo 07

26 Immagini

27 Casi particolari Se escono nuovi device ? Device Update dal sito Microsoft Comprende eventuali nuovi adapter Definizione device diretta da machine.config Se vogliamo cambiare qualcosa ? Proprerty Override Semplice Modificare valore proprietà in base al device Stesso Render Custom Adapter Riscriviamo il processo di Render Più complesso ma controllo totale

28 IIS.NET Framework 1.1 (ASP.NET) Sviluppo Produzione Creazione Web Form Business Logic Presentation Layer (controls) Layer (controls) TestDevice Invio in Produzione HTTPRequestDeviceCapabilitý Mobile Controls Device Adapter generano output Aggiunta Device Adapters Device Capability aggiornato HTTPResponse Mobile.aspx Device Extensibility WAPWAPWAPWAP

29 Device Update Siamo alla versione 4 per ASP.NET 1.x Sono cumulativi DU2 aggiunge Adapter per XHTML Le prossime versioni conterranno solo supporto a eventuali nuovi linguaggi Device Profiling Tool Step by Step online per creare la configurazione Restituisce il Spettacolo !!!

30 Custom Config CustomDevice.config in C:\WINDOWS\Microsoft.NET\Framework\v \CONFIG Edit machine.config Cercare browserCaps Add reference

31 MobileCapabilities Object ASP.NET Runtime Utilizza lheader HTTP USER-AGENT per identificare il browser Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; SmartPhone; 176x220) Cerca il browser nella sezione nel.config Crea unistanza di MobileCapabilities impostando le proprietà definite nel MobileCapabilities identifica le capacità del browser MobileDeviceModel ScreenPixelsHeight, ScreenPixelsWidth PreferredRenderingType (html32, wml11, xhtml-basic, etc.) PreferredImageMime …

32 Property Override Modificare una qualunque proprietà di un controllo in base al device Size = 100 se Desktop Size = 60 se Pocket PC Size = 20 se SmartPhone Size = 45 se Nokia Comunicator ImageUrl verso GIF se Desktop / Pocket ImageUrl verso WBMP se WAP Browser

33 DeviceSpecific Customization Step 1: Step 1: Selezionare il Device Filtri Predefiniti Filtri Custom Step 1: Step 1: Selezionare il Device Filtri Predefiniti Filtri Custom Step 3: Step 3: Applicare Customization Using Property Overrides Template... Step 3: Step 3: Applicare Customization Using Property Overrides Template... Step 2: Step 2: DeviceSpecific Selezionare il Controllo Taggarlo con DeviceSpecific Step 2: Step 2: DeviceSpecific Selezionare il Controllo Taggarlo con DeviceSpecific

34 Template Override StyleReference="title" ForeColor="Firebrick"> Contoso Inc. Contoso Inc. (c) Contoso, Font-Size="Small">(c) Contoso, …

35 Injecting Markup Es isHTML32 o isWML per markup specifico......

36 Form e Script Name: Password:

id="DeviceSpecific1" runat="server">
Annunci Google