Introduction to Mobile Development

Slides:



Advertisements
Presentazioni simili
…Global Gest Deca S.r.l. 24/01/ Global gest – Deca S.r.l.
Advertisements

Gli ipertesti del World Wide Web Funzionamento e tecniche di realizzazione a cura di Loris Tissìno (
Elaborazione del Book Informatico
Servizi integrati e completi per la piccola impresa Andrea Candian.
Francesco Cristofoli Microsoft Italia
Intro to Mobile Development using.NET Roberto Brunetti -
Windows Development Day 28/01/05 Bologna The Media Center Show Daniele Bochicchio Microsoft ASP.NET MVP Daniele Bochicchio
Visual Studio Tools For Office 2005 Fabio Santini. NET Senior Developer Evangelist Microsoft Italy.
Crea il tuo sito con Web Matrix e il Web Hosting su ASP.NET
| | Microsoft Certificate Lifecycle Manager.
Organizzare e condurre riunioni efficaci
Microsoft Office Project 2003 Standard La Gestione per Progetti nella Piccola e Media Impresa Ettore dAmico Microsoft Italia.
Il Consolidamento di Servizi Virtual Server 2005 PierGiorgio Malusardi Evangelist - IT Professional Microsoft.
INTERNET : ARPA sviluppa ARPANET (rete di computer per scopi militari)
Sistema di gestione flussi documentali
Web Services.
Java Enterprise Edition (JEE)
1 Sviluppo applicazioni per terminali mobili 05/10/2005 Pisa Progetto per il corso di Reti Mobili Danele Picciaia
Confronto di sistemi per
UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA
ECDL MODULO 1.1 Conoscere i sistemi di elaborazione
Moving Moving Young Young Turin Turin Hydrogen Hydrogen Olympic Olympic Safe RETE MANET informazioni in movimento.
FONDAMENTI DI INFORMATICA
Francesca Del Corso, CCR - Gruppo Windows, Bologna 16/02/2006 SUS - WSUS per il Security Patch Management.
Perché.Net e non più COM/DCOM ? Superamento dei problemi di COM: Richiede una infrastruttura "non semplice" da ogni applicazione (ad esempio Class Factory.
Tipologie di collegamento DSL: Linee multiplex: ADSL Asymmetric Digital Subscriber Line: 1,5 Mbps-384 kbps ADSL2 come la precedente con velocità massima.
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
EUCIP IT Administrator Modulo 1 - Hardware del PC Hardware di rete
Introduzione ad ASP.net
1 Titolo Presentazione / Data / Confidenziale / Elaborazione di... ASP. Net View State e controlli Elaborazione di Franco Grivet Chin.
Applicazioni mobile Better Software 2009 Massimiliano Zani Sms Italia.
Il compilatore Dev-C++
Informazioni, quando l'acquisizione é intelligente! Sistemi di telemetria integrati GSM - WSN Milano, 23 aprile 2013.
Kerio Connect 7.2 Partner Preview Marino Vigliotti Ingegnere Vendite Kerio Technologies.
Guida IIS 6 A cura di Nicola Del Re.
Office 365 per professionisti e piccole imprese
ECDL Patente europea del computer
L’applicazione integrata per la gestione proattiva delle reti IT
Windows Mobile Architettura di una soluzione mobile Fabio Santini
VIRTUALIZZAZIONE Docente: Marco Sechi Modulo 1.
Server Web in una rete Windows Sommario Meccanismi di accesso remoto Meccanismi di accesso remoto Introduzione ai Server Web Introduzione ai Server.
GT05 Tutorial.
Basi di Dati e Sistemi Informativi
Sistemi Informativi sul Web
IBM Lotus Notes e Domino
AA 2005/6 Informatica Introduzione 1 Informatica e Laboratorio di Informatica Primi passi in V10 cumenti/biotecnologie.htm.
Nuovo PC Flybook. PC ideale per chi lavora in movimento Il massimo della Tecnologia e della Multimedialità racchiuse nel più piccolo spazio al mondo Design.
ASP – Active Server Pages - 1 -Giuseppe De Pietro Introduzione ASP, acronimo di Active Server Pages, sta ad indicare una tecnologia per lo sviluppo di.
ASP – Active Server Pages Introduzione Pagine Web Statiche & Dinamiche(ASP)
Insegnamento “Tecniche audiovisive” Corso di Laurea in Ingegneria delle Comunicazioni Symbian Marco Teodori Assistente Ricercatore - Fondazione Ugo Bordoni.
L’architettura a strati
Nome relatore, Titolo Windows 8 Pro: per le piccole imprese.
A cura di: Huber Roberto, Zaharulko Nicola, Debernardi Daniele.
Distributed System ( )7 TCP/IP four-layer model.
Protocolli e architetture per WIS. Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di.
Creato da Riccardo Nuzzone
Realizzazione di un sito web con tecnologie WAP e WML.
Exchange 2003 ed i “Mobile Worker”. Agenda Esigenze dei Mobile Worker Strumenti Soluzioni “legacy” Accesso ad Exchange 2003 Architetture/implementazioni.
1 Storia di Internet Internet non è un’invenzione degli anni ’90….. Nata dagli studi di un’agenzia detta ARPA (Advanced Research Projects Agency) Internet.
HTML 4.01 Apogeo. I tag di base Capitolo 1 I tag SintassiEsempi:
Sviluppo per Pocket PC con SQL Server CE 2.0 Fabio Santini Silvano Coriani.NET Developer Evangelist Microsoft Corporation.
TW Asp - Active Server Pages Nicola Gessa. TW Nicola Gessa Introduzione n Con l’acronimo ASP (Active Server Pages) si identifica NON un linguaggio di.
Protocolli e architetture per WIS. Cronologia di Internet ricerche sulla commutazione di pacchetto (Leonard Kleinrock) 1967 Nasce il progetto.
Servizi Internet Claudia Raibulet
Informatica Lezione 8 Psicologia dello sviluppo e dell'educazione (laurea magistrale) Anno accademico:
Eprogram informatica V anno.
Presenta – #wpc15it1 BI005 - Real Power BI Franco Perduca Factory Software srl
Il mondo del web Includere Digital-mente – Corso livello 4 docente: prof.ssa MANUELA MARSILI.
Eprogram informatica V anno. Programmare in rete.
The Tavolo™. DESCRIZIONE 1 IL BISOGNO DELL’AZIENDA La necessità dell’azienda consiste nella volontà di posizionarsi come figura di riferimento innovativo.
Transcript della presentazione:

Introduction to Mobile Development Roberto Brunetti Email: roberto@devleap.it BLog: www.DevLeap.it/BLog/Rob.rss

Chi siamo www.DevLeap.it Un gruppo di 5 persone con tanta voglia di Studiare a fondo le tecnologie Capire il “behind the scenes” Implementare soluzioni reali Confrontarsi con le problematiche reali Sperimentare nuove idee www.microsoft.com/italy/msdn/studenti

Cosa Facciamo Sviluppo interno Corsi Conferenze Seminari Mentoring Analisi e disegno di progetto Auditing su realizzazioni proprie o di terze parti Valutazione skill risorse umane Non facciamo sviluppo direttamente (Supporto telefonico/via email a contorno di altri servizi: mentoring) Definizione di percorsi di crescita per team di sviluppo www.microsoft.com/italy/msdn/studenti

Chi siete ? Avete mai visto un Pocket PC ? Avete mai sviluppato in ambienti “mobile” ? Conoscete .NET ? Sviluppate in Visual Basic o C++ ? www.microsoft.com/italy/msdn/studenti

Agenda Panoramica ai dispositivi Mobile MS Panoramica Strumenti di sviluppo Panoramica Connettività e Protocolli Panoramica Scenari di sviluppo Sviluppo Web (server-side) Sviluppo Rich Client Enterprise Application Altri Tool attuali Direzioni future www.microsoft.com/italy/msdn/studenti

Useremo Tablet PC/Pocket PC 2002/SmartPhone 2002 SQL Server 2000 Collegheremo/Scollegheremo Qualche crash… SQL Server 2000 SQL Server for Windows CE C++ e C# WML/HTML/ASP.NET .NET Emulatori di dispositivi Per allargare il panorama www.microsoft.com/italy/msdn/studenti

Panoramica dispositivi Notebook...non poteva mancare Tablet PC Smart Display Device Windows CE Pocket PC Pocket PC Phone Edition SmartPhone Telefonini WAP PDA Palm OS www.microsoft.com/italy/msdn/studenti

.NET Clients www.microsoft.com/italy/msdn/studenti

Tablet PC www.microsoft.com/italy/msdn/studenti

Tablet PC Interfaccia identica a XP Con Ink Recogniction e EMR Stylus Adattabile a qualunque forma fisica All’interno è un PC RAM – Disco Fisso – Schede varie - USB Windows XP Tablet PC Edition Girano tutte le applicazioni attuali Include .NET Framework completo 2 Forme State : LapTop classico Convertible: tastiera e penna www.microsoft.com/italy/msdn/studenti

Demo Internet Explorer su Tablet Remote Assistance Creazione invitation da Tablet (pwd=pippo) Salvo su DeskTop Open invitation da Desktop Aggiustare Schermo PowerPoint su Tablet PC Journal su Tablet PC www.microsoft.com/italy/msdn/studenti

Smart Display (Foto) Stylus e touch-sensitive screen On-screen Keyboard Handwriting recogniction Supporto per mouse e tastiera wireless Accesso al PC con Windows XP (SP1) Via scheda wireless 802.11 Basato su XP Professional Windows CE for Smart Device (+ probabile) Versione CE.NET 4.1 + Add-on kit www.microsoft.com/italy/msdn/studenti

Windows CE Sistema Operativo Real-time Modulare 3.0 4.x Si possono scegliere le componenti per creare un device 3.0 pIE 3, Supporto Ethernet, IIS, ASP, MSMQ Ad oggi gli OEM hanno aggiunto Bluetooth, 802.x, Fingerprint 4.x Bluetooth, 802.x IE 5.5, WMT 8.0, Direct X 8.0 .NET Compact Framework Kerberos, SSL, SmartCard www.microsoft.com/italy/msdn/studenti

Varie forme Pocket PC 2000 (3.0) Pocket PC 2002 Handheld PC CE 3.0 Pocket PC 2002 CE 3.0 con nuova shell Handheld PC CE 2.0 Handheld PC Pro CE 2.0 con applicazioni 3.0 CE .NET (4.x) Pocket PC 2003 (deve uscire) Automazione industriale www.microsoft.com/italy/msdn/studenti

Pocket PC Sistema operativo Windows CE 3.0 Ne esistono due versioni Ogni produttore può scegliere i moduli Ne esistono due versioni Pocket PC 2000 (anche detta 3.0) Pocket PC 2002 Interfaccia Pen e Keyboard on-screen Touch Screen Ogni produttore può inserire Hw Lettore Bar Code GPS integrato Applicazioni Custom Guscio custom ...nei ristoranti... www.microsoft.com/italy/msdn/studenti

Hardware ROM: 32 – 48 RAM: 32 – 64 Processore (da 206 a 400 Mhz) StrongARM, Intel PXA 250, Texas OMAP 710 Add-on Compact Flash SD Slot Infrared USB – Serial Bluetooth Jacket di espansione Per PCMCIA (PCCard) www.microsoft.com/italy/msdn/studenti

Pocket PC GPS Marina Americana www.microsoft.com/italy/msdn/studenti

Per le demo con Pocket PC Add-on kit per Pocket PC Scheda VGA per proiezione esterna Cavo di connessione con proiettore Oppure wireless (con proiettore wireless) Noi non l’abbiamo Ricorriamo ad un vecchio sistema CE Remote Display Comodo per sviluppare (Tastiera/Mouse) Demo CERedisp www.microsoft.com/italy/msdn/studenti

Demo Secure Digital (SD Slot) SDIO Fingerprint Memoria aggiuntiva Normalmente 8 – 256 Mb Sta per uscire Panasonic SD Storage 1 Gb SDIO SD con Input / Output File di Video su Pocket PC Fingerprint www.microsoft.com/italy/msdn/studenti

Pocket PC 2002 Applications Connettività [Modem] [Scheda Wireless] [Bluetooth] [Ethernet] VPN (PPTP) Terminal Services ActiveSync “Office” Inbox (e-mail) Contacts, Calendar, Tasks, Notes Excel, Word Reader Internet Explorer HTML 3.2 XML WAP 1.2.1 JScript SSL ActiveX MSN Instant Messenger Windows Media Player Locale e Streaming www.microsoft.com/italy/msdn/studenti

Demo Pocket PC Internet Explorer Calendar Contacts www.microsoft.com/italy/msdn/studenti

Pocket PC Phone Edition Integra il PocketPC con il telefono Nasce dal PocketPC 2002 Pen-based e tastiera on-screen Touch-Pad per la composizione 32 Mb ROM 32 Mb RAM Processore StrongARM Infrared SD slot www.microsoft.com/italy/msdn/studenti

Pocket PC Phone Edition Foto Dimensione schermo Normalmente uguale a Pocket PC Potrebbe variare da produttore a produttore www.microsoft.com/italy/msdn/studenti

Pocket PC Phone Edition Applicazioni del Pocket PC 2002 SIM SIM Manager Contatti SIM (Address Book) SMS Conference Call Auricolare Multitasking: si può lavorare con le applicazioni mentre si telefona www.microsoft.com/italy/msdn/studenti

Smartphone 2002 Hardware Processore 120MHz ARM 8MB+ RAM 16MB Flash ROM 176x220 16-bit display SD Slot No Compact Flash E’ un telefono No touch-screen No Stylus www.microsoft.com/italy/msdn/studenti

SmartPhone Foto www.microsoft.com/italy/msdn/studenti

Smartphone 2002 Applications Telefonia! Tastierino on-screen Profile Shortcut GPRS Tri-band ActiveSync Pocket Outlook Inbox (e-mail, v-mail, sms) Contacts Calendar Tasks Internet Explorer HTML 3.2 XML WAP 1.2.1 JScript SSL MSN Instant Messenger Windows Media Player Locale e Streaming ActiveSync www.microsoft.com/italy/msdn/studenti

SP Internet Explorer HTML 3.2 WAP 1.2.1 Microsoft JScript® 1.1 No Frames HTML 4.0 – innerText, innerHTML, accesskey No Style Sheets WAP 1.2.1 Microsoft JScript® 1.1 cHTML (i-Mode) accesskey, tel: URL XML / XSL Microsoft ActiveX® controls SSL security Imagini: JPEG, GIF, PNG, BMP, 2BP, XBM, WBMP www.microsoft.com/italy/msdn/studenti

SP Supporto WAP Integrazione con HTML Viewer WML, WBXML, WML Script, WTLS security Bearer (Portante) IP, SMS (WAP Push, SI/SL) WTAI (Wireless Telephony Application Interface) SmartPhone consente MakeCall Le caratteristiche non sono adatte allo SmartPhone e non sicure www.microsoft.com/italy/msdn/studenti

SmartPhone Demo Usiamo sempre Remote Display Contact Calendar Operazioni One-Hand SD Slot Usare quella del Pocket PC Autorun all’inserimento www.microsoft.com/italy/msdn/studenti

ROM vs RAM ROM RAM Demo Memoria su Pocket PC Sistema Operativo Aggiornabile per upgrade del S.O. RAM Per far girare le applicazioni Per Storage “permanente” Tranne Hard Reset Tranne esaurimento batteria tampone Sul Pocket PC Off non significa Reset Viene mantenuta la RAM Le applicazioni restano nel loro stato Demo Memoria su Pocket PC Inserire SD slot www.microsoft.com/italy/msdn/studenti

Pocket PC Phone vs. Smartphone Pocket PC Phone Edition Utilizzo Data centric con supporto voice Telefono con funzionalitá dati Mercato di riferimento Mobile Professional Consumer Schermo 240x320 o maggiore 176x220 hi-res color Input A due mani Touch screen e stylus Una mano (one-handed) Keypad e joystick Application Tutta la suite No Pocket Word, Pocket Excel, Reader or Terminal Service Client Priorità Mobile Outlook Web access Comunicazioni Voice e text www.microsoft.com/italy/msdn/studenti

Pocket PC vs. SmartPhone Full-screen dialog, 2 SoftKeys, Menu semplici Meno RAM File System più piccolo Processore più lento L’accoppiata vincente  Lo SP può fare da Modem per il Pocket PC Come per i cellulari tradizionali Connessione Cavo/Infrared/BlueTooth www.microsoft.com/italy/msdn/studenti

Installazione applicazioni Non sono telefoni !!!! Cambia il paradigma Download e Install file .CAB Security su SmartPhone Per prevenire download “maligni” Installazione da Desktop Tramite ActiveSync Si lancia il setup su Desktop Viene scaricato e installato il sw sul Device Demo SmartPhone SD Demo ActiveSync www.microsoft.com/italy/msdn/studenti

Altri Device Nokia Sony Ericsson Samsung Etc Etc WAP + WML Alcuni HTTP + HTML Ancora Tastiere PDA HandHeld PC Passati... Palm OS Tante versioni Schermi Diversi B&W/Color WAP + WML HTTP + HTML www.microsoft.com/italy/msdn/studenti

Connettività Panoramica

Device -> DeskTop Porta Seriale Porta USB Porta Infrarossi Rete In dotazione sui vecchi device Porta USB In dotazione sui nuovi device Porta Infrarossi Sempre Rete Scheda separata oppure integrata ActiveSync Per sincronizzare i dati Outlook, File System, Favorites di IE etc... www.microsoft.com/italy/msdn/studenti

Connettività P2P Perchè Cavo IrDA - Infrarossi Bluetooth PC -> PDA per sincronizzazione dati PDA -> Cellulare come modem (gateway) Cavo Vecchio stile 1 cavo per ogni coppia di Device IrDA - Infrarossi Eliminiamo i cavi Necessità allineamento Bluetooth Elimina i cavi Discovering / Parnership Occhio quando siete fuori.... www.microsoft.com/italy/msdn/studenti

ActiveSync Demo Options Demo FileSystem Demo Option/Rules Per controllare la Sincronizzazione Calendario, Task, Email, Note Per passare dati e convertirli Word, Excel, Powerpoint PDF (da Adobe) File Audio/Video Ogni applicazione può montare il filtro di conversione Funge anche da Gateway per i device Demo FileSystem Demo Option/Rules www.microsoft.com/italy/msdn/studenti

ActiveSync Demo Connection Settings Connection Settings Porta Seriale Porta Infrarosso USB Network E... Bluethooh (COM Port Emulation) Demo Connection Settings www.microsoft.com/italy/msdn/studenti

Connettività Networking Basato su TCP/IP Bluetooth per PAN Scheda Rete Separata Vecchio stile Scheda Rete Wireless Peer-to-Peer Access Point I nuovi device “costosi” ce l’hanno a bordo www.microsoft.com/italy/msdn/studenti

Connectivity Overview Circuit Switched Data (e.g. GSM, CDMA) Packet Data (e.g. GPRS, 1xRTT) WAP SMS TCP/IP Cable Replacement 802.11 Bluetooth Desktop Pass-Through www.microsoft.com/italy/msdn/studenti

Firewall ! I device navigano Come proteggerli ? Dal piu’ famoso produttore di Firewall www.checkpoint.com/products/connect/vpn-1_clients_wince.html Lavora in tandem con VPN-1 per rendere sicure IPSec NAT Tunneling/Encription LDAP Personal Firewalls www.microsoft.com/italy/msdn/studenti

Wireless cable WLAN Home WLAN mercato Auth, Key mgmt, Encry 8 devices Pt-to-MP 0-10m/50m 1 M (2M ...) 0/20* dBm RF: 2.4 GHz FHSS Bluetooth 10 devices 128 devices CSMA topologia 0-3m/5m 30m 50m distanza Optical 850 nm DSSS, FHSS tecnologia Optional WEP 11 M 20 dBm 802.11b 802.11 Application 40 / 128 bit security 4 M/115K 1.6 M (10M) bitrate ? power IrDA (Luft) Home-RF Categoria DECT WDCT Voice/WLAN 100-300m RF:1.9/2.4 GHz 736/576 k 24 dBm 50-60 devices TDMA www.microsoft.com/italy/msdn/studenti

Demo Pocket PC Schede di rete Wireless Network Gestione Connessioni da Connection Manager www.microsoft.com/italy/msdn/studenti

Rob e Marco a Parigi Che bello il mondo wireless Tutto senza cavi !!!! Tranne l’alimentazione !!! Ma qualcuno ci sta già pensando... www.microsoft.com/italy/msdn/studenti

API Connessione Send/Receive Esposte da Connection Manager Winsock – TCP/IP, Bluetooth, IRDA Wininet – HTTP, FTP WAP WDP API – UDP o Binary SMS SMS API – SMS Text Sending www.microsoft.com/italy/msdn/studenti

Stupid Windows Socket Applicazione 1 Applicazione 2 Scacchi ? Dama ? Listen (es porta 7878) Applicazione 2 Open Socket IP:7878 Send “Ciao” Riceve “Ciao” -> Operazione Reply “OK” Riceve OK -> “Messaggio ricevuto” Scacchi ? Dama ? www.microsoft.com/italy/msdn/studenti

WinInet e Winsock Simili alle API di Windows XP Supporto Winsock 2.0 HTTP e FTP Open Url Analizza la response Chimata a Connection Manager automatica www.microsoft.com/italy/msdn/studenti

WAP e WML Conosciamo tutti Http e Html Spendiamo un po’ di tempo su WAP e WML Riferimento WAP Forum www.wapforum.org Definizione di WAP Wireless Application Protocol WML Wireless Markup Language WMLScript www.microsoft.com/italy/msdn/studenti

WAP Protocollo applicativo End-to-End Ambiente application basato su Browser www.microsoft.com/italy/msdn/studenti

WAP Application Un’applicazione WAP consiste Applicazione Server Applicazione Client L’applicazione Client viene scaricata tramite un gateway dal Server L’applicazione Client può girare su dispositivi diversi WAP fornisce lo standard Browser Interprete di script www.microsoft.com/italy/msdn/studenti

Client Browser Script Interpreter WML e WMLScript Simile a un web browser Interpreta WML Script Interpreter Esecuzione di applicazioni Interpreta WMLScript (Simile a ECMAScript) Set di librerie per accedere ai servizi del UA WML e WMLScript Ottimizzati per WAP Binary encoded (compilati) www.microsoft.com/italy/msdn/studenti

“Client / Server” L’applicazione è memorizzata su un web server Il contenuto può essere WML WMLScript HTML Alcuni gateway possono eseguire la conversione HTML->WML L’accesso è via URL Come per il web www.microsoft.com/italy/msdn/studenti

WML simile HTML Demo WML <?xml version=“1.0”?> <!DOCTYPE wml PUBLIC ...........> <wml> <card id=“card1” title=“Prima card”> <p>Primo esempio</p> </card> </wml> Demo Nokia Demo SmartPhone Demo WML www.microsoft.com/italy/msdn/studenti

Flow 1 Pressione di un tasto sul telefonino 2 Lo user agent invia la richiesta via WAP al gateway 3 Richiesta al web server via HTTP 5 Normale HTTP Response 6 Codifica binaria e invio allo user agent www.microsoft.com/italy/msdn/studenti

WAP Architettura Client Livelli embedded nel client www.microsoft.com/italy/msdn/studenti

Altri Markup Language... ...per Interfacce utente HDML cHTML XHTML XML Handheld Device Markup Language cHTML Compact HTML XHTML Utilizza regole XML per HTML Esempio <br /> oppure <hr></hr> XML www.microsoft.com/italy/msdn/studenti

Standard utilizzati oggi Pocket PC 2002 (OBEX, HTTP, HTML, WAP, CHTML, XML, WLAN, Wi-Fi (802.11x), Bluetooth, MPEG4, IRDA, 802.3 (Ethernet), POP3, IMAP4, WAP, VPN, Windows Media, MP3, RDP protocol, SMTP, SMS, LDAP, JScript 1.2, NNTP, SSL2, SSL3, PCT 1.0, SGC) Pocket PC 2002 Phone Edition (OBEX, HTTP, HTML, WAP, CHTML, XML, WLAN, Wi-Fi (802.11x), Bluetooth, MPEG4, GSM, GPRS, IRDA, 802.3 (Ethernet), POP3, IMAP4, WAP, VPN, Windows Media, MP3, RDP protocol, SMTP, SMS, LDAP, JScript 1.2, NNTP, SSL2, SSL3, PCT 1.0, SGC, GSM/GPRS, CDMA/1xRTT) Smartphone 2002 (OBEX, HTTP, HTML, WAP, CHTML, XML, WLAN, Wi-Fi (802.11x), Bluetooth, MPEG4, GSM, GPRS, IRDA, 802.3 (Ethernet), POP3, IMAP4, WAP, VPN, Windows Media, MP3, TAPI, ExTAPI, WLTS, GSM/GPRS, CDMA/1xRTT) www.microsoft.com/italy/msdn/studenti Nota: Lista incompleta

Panoramica Scenari di Sviluppo

Scenari Utilizzo di Terminal Service Utilizzo di Internet Explorer Impatto zero sul Device Solo per Pocket PC Utilizzo di Internet Explorer Applicazione sul Device Installazione sul Device Semplice o complessa che sia Scenari Utilizzo del Web Request Vecchio stile Utilizzo di XML Vecchio Stile Utilizzo di Web Service !!! Download e uso dei dati sul device !!! www.microsoft.com/italy/msdn/studenti

Decisioni Server Side o Smart Client Tecnolgie Server Side Mobile Web Notification Tecnologie Smart Client Managed o Native Client Code Strategia accesso ai dati XML Web service SQL Merge Replication SQL Remote Data Access (RDA) www.microsoft.com/italy/msdn/studenti

Server Side o Smart Client ? Abbiamo il controllo dei Device? Possiamo installare e gestire i client device? Quanto (ore) viene usata questa applicazione? Serve un’interfaccia utente particolare? L’applicazione deve lavorare disconnessa? Quanto cosa la connessione? Server Side ? Smart Client www.microsoft.com/italy/msdn/studenti

Server Side o Smart Client ! Supporto multi-device Logica Server-side Nessuna installazione sul client Interfaccia via Browser Solo on-line Server Side ? Smart Client Versioni diverse Logica e dati Client-side Installazione sui client Flessibilità interfaccia utente Performance Offline & Online Utilizzo API locali POOM Smart Client www.microsoft.com/italy/msdn/studenti

Server-side: Tipo di App ? Complementari es. Push URL per “browse back” Mobile Web Notification Mobile Web Applicazioni interattive Interfaccia utente Modello di sviluppo Web Device con supporto per Browser Notification Push messaggi SMS, IM, ecc. Architettura Publish / Subscribe Device con e senza supporto Browser www.microsoft.com/italy/msdn/studenti

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 ? www.microsoft.com/italy/msdn/studenti

Scelte Server-side Mobile Controls, XSLT o Hand Coded  Mobile Controls Altra produttività Gestione semplice Supporto XML Web Services integrati Performance Device Extension Event-based ASP.NET, Mobile Controls ? Mobile Web Browse 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 Native / XSLT www.microsoft.com/italy/msdn/studenti

Quick Demo Mobile Control Adaptive Rendering Calendario: Una roba complessa !!! Internet Explorer Tablet PC (o PC) IE su Pocket PC IE su SmartPhone Nokia Mobile Internet Toolkit Microsoft Mobile Explorer .. Ci torniamo www.microsoft.com/italy/msdn/studenti

Notification Technology Generazione Delivery Subscriptions Opzioni Invio MMIS, .NET Alerts SMTP etc. SQL Server: SQL Notification Services SMS Eventi SOAP ecc. IM Windows Server SMTP www.microsoft.com/italy/msdn/studenti

Scelte Smart Client Piattaforma Target ? Applicazione o Driver ? Facilità di sviluppo o performance pure ? Conoscenze precedenti ? www.microsoft.com/italy/msdn/studenti

Piattaforma client LapTop / Tablet PC Pocket PC 2000/2002 VB 6, VC++, .NET Driver C++ Pocket PC 2000/2002 eVB 3.0, eVC++ 3.0, .NET Driver eVC++ HPC e Palm PC (vecchi) eVB 3.0, eVC++ 3.0 SmartPhone 2002 eVC++ 3.0 (per adesso) CE.NET eVC++ 4.0, .NET (Pocket PC 2003 occorre SP2) www.microsoft.com/italy/msdn/studenti

Scelte Smart Client Managed .NET CF (VB .NET, C# etc.) eVB eVC e eVB native eVC eVC Tempo www.microsoft.com/italy/msdn/studenti

Other Windows CE Devices Scelte Smart Client Visual Studio .NET + Smart Device Extensions Tool eVC Pocket PC + PPC Phone Edition .NET Compact Framework .NET Framework Notebook PCs Tablet PCs SDKs SDKs Microsoft Smartphone … Other Windows CE Devices Windows CE Windows XP OS OS www.microsoft.com/italy/msdn/studenti

Quick Demo Visual Studio .NET Una semplice applicazione (SDEApp) Sul Pocket PC Modifica testo Ci torniamo... www.microsoft.com/italy/msdn/studenti

? Scelte Smart Client Managed Native Produttività “Safe Programming” Supporto Web Service Librerie comuni Stessi tool e API del desktop Si utilizza per la maggioranza dei casi Managed .NET CF ? Smart Client Native Sviluppo a basso livello Sviluppo Real-time Sviluppo Driver Sviluppo wrapper per codice legacy SmartPhone...per adesso Native (eVC) www.microsoft.com/italy/msdn/studenti

ASP.NET, Mobile Controls 3. Sincronizzazione (http) Scelte accesso ai dati WAP, HTML ecc. ASP.NET, Mobile Controls Presentation Layer Mobile Browser Browser 1. XML Web Service XML Web Service .NET Compact Framework 4. ADO.NET Dati Locali 2. Accesso SQL Server Smart client SQL Server CE SQL Server 3. Sincronizzazione (http) Windows CE Windows Server www.microsoft.com/italy/msdn/studenti

Scelte Accesso ai Dati 1. XML Web services 2. Direct SQL Server Riutilizzo Web service (desktop, mobile web ecc.) Incapsulamento Business Logic 2. Direct SQL Server Più semplice per applicazioni sempre on-line 3. SQL Server CE Synch Utilizzo di dati locali Sincronizzazione auto/granulare dei dati Applicazioni Off-line 4. Local data access Utilizzo di store locale per applicazioni Off-line Utilizzo ADO .NET, SQL Server CE, XML www.microsoft.com/italy/msdn/studenti

Sviluppo Server-Side Basato su Browser Pocket in Rete SmartPhone con ActiveSync Entrambi Remote Basato su Browser

La sfida Web Site www.microsoft.com/italy/msdn/studenti

La sfiga  Device Diversi Schermi diversi Dimensioni diverse Supporto Markup Language Diverso Html e Http li conosciamo Diamo uno sguardo a WML rispetto a HTML Ricordiamoci che il WAP Gateway gira le richieste in Http verso il server www.microsoft.com/italy/msdn/studenti

WML E’ un documento XML Card = Unità base Deck = Documento Rigoroso Case sensitive (xml è minuscolo) Well formed /Valid www.wapforum.org/DTD/wml_1.1.xml Card = Unità base Singola interazione fra l’utente e il browser Deck = Documento Raggruppa le card Esiste una card di default Scaricato via url www.microsoft.com/italy/msdn/studenti

Simile a HTML Demo WML/01 <?xml version=“1.0”?> <!DOCTYPE wml PUBLIC ...........> <wml> <card id=“card1” title=“Prima card”> <p>Primo esempio</p> </card> </wml> Demo WML/01 www.microsoft.com/italy/msdn/studenti

MultiCard <?xml version=“1.0”?> <!DOCTYPE wml PUBLIC ...........> <wml> <card id=“card1” title=“Prima card”> <p>Prima</p> </card> <card id=“card2” title=“Seconda card”> <p>Seconda</p> </wml> www.microsoft.com/italy/msdn/studenti

WML: Tag e Element Deck / Card Events Tasks Variables User Input Anchor Image Timer Text wml, card, template, head, access, meta do, ontimer, onenter, onpick, onevent, postfield go, prev, refresh, noop Setvar input, select, option, optgroup, fieldset a, anchor img timer br, p, table, tr, td www.microsoft.com/italy/msdn/studenti

Navigazione LINK Demo WML/02 <wml> <card id=“card1” title=“prima card”> <p> Seleziona <anchor>vai <go href=“#card2”/> </anchor> per navigare </p> </card> <card id=“card2” title=“seconda card”> <p>Informazioni</p> </wml> Demo WML/02 www.microsoft.com/italy/msdn/studenti

Navigazione ACCEPT Demo WML/03 <wml> <card id=“card1” title=“prima card”> <do type=“accept” label=“Vai”> <go href=“#card2”/> </do> <p>Seleziona <b>vai</b> per navigare</p> </card> <card id=“card2” title=“seconda card”> <p>Informazioni</p> <do type="prev" label=“Indietro"> <prev/> </wml> Demo WML/03 www.microsoft.com/italy/msdn/studenti

Variabili In HTML in quanto tale non esistono ! Sono case sensitive Si impostano con <setvar name=“variab1” value=“valore”/> Durante la navigazione <go href=“#card2”><setvar...../></go> Si leggono i valori con $(variab1) Mantengono il contesto (!= HTTP) Se l’utente naviga interagendo con l’applicazione Può essere perso se naviga verso altri deck non interagendo con l’applicazione www.microsoft.com/italy/msdn/studenti

User Input <input I campi diventano/sono delle variabili name=“nome” default=“valore default” format=“inputmask” emptyok=“true/false” size=“dimensioneinput” maxlength=“maxchar” tabindex=“numero” /> I campi diventano/sono delle variabili Non Esiste in HTML www.microsoft.com/italy/msdn/studenti

Input esempio Demo WML/04 <wml> <card id=“card1” title=“Inserimento” <do type=“accept”> <go href=“#card2”/> </do> <p>Immetti il tuo nome: <input name=“nome”/></p> </card> <card id=“card2 title=“Visualizzazione”> <p>Ciao $(nome)</p> </wml> Demo WML/04 www.microsoft.com/italy/msdn/studenti

WMLScript Per validare gli input MessageBox Interazione con lo user agent Invio di chiamate Invio di SMS Address Book telefono Address Book SIM Può sfruttare caratteristiche specifiche del device...come per i browser E’ standard compreso nella specifica WAP Diverso da HTML dove è “a cura del browser” www.microsoft.com/italy/msdn/studenti

Interazione con il server <card> <do type=“accept”> <go href=“http://xxx” method=“get/post”> <postfield name=“name" value="$(nome)"/> </go> </do> <p> Inserisci il tuo nome <input name=“nome”/> </p> </card> GET/POST come HTML ma possiamo decidere quali valori inviare www.microsoft.com/italy/msdn/studenti

Server-side scripting Inviare WML dinamico al dispositivo <wml> <%While not rs.eof%> <card id=“<%=rs(“IdCard”)%>” title=“<%=rs(“TitoloCard”)%>”> ... </card> <%rs.movenext End%> </wml> www.microsoft.com/italy/msdn/studenti

Torniamo al problema Trace WML e HTML sono diversi Per la gestione dei form Per la gestione delle variabili In WML non esistono molti dei tag HTML Inoltre abbiamo schermi di dimensioni diversi da device a device 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 Trace www.microsoft.com/italy/msdn/studenti

ASP.NET Mobile Controls Estendono ASP.NET per applicazioni mobile .NET Framework Services Framework ASP.NET Common Language Runtime System Services Windows Forms & .NET Compact Framework Base Data Debug … Web Forms Mobile Web Services Integrazione con VS.NET 2002/2003 Multi-Device Multi-Language HTML/WML… www.microsoft.com/italy/msdn/studenti

Supporto Device – 200 c.a. Machine.Config 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 2.1.0.15), 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 2.12181.1 and Omnisky 2.0.04), 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), Machine.Config www.microsoft.com/italy/msdn/studenti

Web Form e Mobile Web Form <Form runat="server"> <asp:Label runat=“server"> Ciao Ciao </asp:Label> </Form> Mobile Web Form <mobile:Form runat="server"> <mobile:Label runat=“server"> Ciao Ciao </mobile:Label> </mobile:Form> www.microsoft.com/italy/msdn/studenti

Caratteristiche Adaptive Rendering Customization Mobile Control Sviluppo Espongono Proprieta’, Metodi, Eventi Adapter Producono l’Output Un adapter per ogni tipo di “ML” da inviare Inviano ML corretto Customization Modello estendibile per customizzare il rendering per un particolare device www.microsoft.com/italy/msdn/studenti

Adaptive Rendering Calendario ASP.NET and IIS Invio testo WML Mobile Capabilities WML Recupero info Browser e Device Recupero Device Adapter Selezione Device Adapter WAP HTTP Request Inizializzazione Controlli Recupero Device Adapter Calendar cHTML HTML Invio super-TABLE HTML Mobile.ASPX www.microsoft.com/italy/msdn/studenti

Text Display Controls Demo 01 Label Control TextBox Control Demo Piccole quantità di info – read only TextBox Control Single-line input (text box) Demo Semplice Trace per diverso rendering Demo 01 www.microsoft.com/italy/msdn/studenti

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) dell’applicazione Desktop Riutilizzando la stessa logica dell’applicazione Desktop www.microsoft.com/italy/msdn/studenti

Transfer Controls Demo 02 Demo 12 Link control PhoneCall control Testo con hyperlink Verso un form diverso (card in WML) Verso una pagina diversa Proprietà Softkey (per telefonini) PhoneCall control Genera mark-up Su un telefonino con possibilità di chiamata diretta Su un device visualizza il numero Demo 02 <mobile:Link id="lnkfrmResults" runat="server" NavigateUrl="#frmResults">Go to Results</mobile:Link> Demo 12 www.microsoft.com/italy/msdn/studenti

Transfer Controls Command control Demo 03: Notare Variabili in WML Bottone tradizionale Può invocare eventi server-side Proprietà SoftkeyLabel Testo per la SoftKey del telefonino Demo 03: Notare Variabili in WML Demo 04 <mobile:Command id="cmdSelectProduct" runat="server“ softkeylabel=“Next”>Select Product</mobile:Command> www.microsoft.com/italy/msdn/studenti

List Control Demo 05 Utile per costruire Menù Può avere Text e Value Sul click viene scatenato ItemCommand <mobile:List id=“lstXXX" runat="server“ OnItemCommand=“lstXXX_Command”> <Item Text=“Udine” Value=“UD” /> <Item Text=“Trento” Value=“TN” /> <Item Text=“Milano” Value=“MI” /> </mobile:List> www.microsoft.com/italy/msdn/studenti

TextView Control Demo 06 Testo lungo Consente Bold Italic Salti pagina Paragrafi Anchor nel testo Supporta Paginazione Demo 06 www.microsoft.com/italy/msdn/studenti

List e Selection List List SelectionList ObjectList Databound Opzionale Obbligatorio Pagination Si No Decoration None, Bulleted, Numbered Dropdown, ListBox, Radio Button, CheckBox, MultiSelect Solo con Customization Interactive Controlli simili in ASP.NET Datalist ListBox, CheckBox, CheckBoxList, RadioButton, RadioButtonList, & DropDownList Datagrid www.microsoft.com/italy/msdn/studenti

ObjectList Demo Campeggi DataBinding Template Dettaglio automatico Header Footer Item AlternatingItem Dettaglio automatico Demo IE Pocket PC Nokia SmartPhone Demo Campeggi www.microsoft.com/italy/msdn/studenti

Un po’ di stile Aggiungere un po’ di informazioni di style 3 stili predefiniti title Error Subcommand Associabili con StyleReference Demo 07 Estendibile con propri stili www.microsoft.com/italy/msdn/studenti

WAP/WML batte HTTP/HTML Gestione input numerico Mantenimento valore campi e variabili cross-request Tutto gestito dietro le quinte In HTTP/HTML non sarebbe possibile Entra in gioco il ViewState di ASP.NET Demo 08 da Nokia www.microsoft.com/italy/msdn/studenti

Dati Caricamento dati da codice Esempio con Demo 10 Controllo SelectionList ComboBox, ListBox (anche multiselect) Demo 10 www.microsoft.com/italy/msdn/studenti

Capability aggiornato Device Adapter generano output Device Extensibility IIS .NET Framework 1.1 (ASP.NET) Creazione Web Form Device Capability aggiornato Device Capabilitý HTTP Request Presentation Layer (controls) Mobile.aspx Business Logic Mobile Controls Device Adapter generano output Test Device HTTP Response Invio in Produzione Aggiunta Device Adapters WAP Sviluppo Machine.Config Produzione www.microsoft.com/italy/msdn/studenti

DeviceSpecific Customization Demo 11 Step 1: Selezionare il Device Filtri Predefiniti Filtri Custom Step 2: DeviceSpecific Selezionare il Controllo Taggarlo con DeviceSpecific Step 3: Applicare Customization Using Property Overrides <Choice Filter=“filtro” Proprietà=“xxx” /> Template <Choice Filter=“filtro”> <ItemTemplate>...</ItemTemplate> </Choice> www.microsoft.com/italy/msdn/studenti

Customization ObjectList Control Header Template Item Template AlternateItem Template Separator Template Footer Template ItemDetails Template Pocket PC Customization Phone: Limitazioni www.microsoft.com/italy/msdn/studenti

Emulatori disponibili Link verso i vari emulatori http://support.microsoft.com/default.aspx?scid=kb;en-us;320977 http://www.asp.net/mobile/DeviceSimulators.aspx?tabindex=6 www.microsoft.com/italy/msdn/studenti