La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Introduction to Mobile Development Roberto Brunetti BLog:

Presentazioni simili


Presentazione sul tema: "Introduction to Mobile Development Roberto Brunetti BLog:"— Transcript della presentazione:

1 Introduction to Mobile Development Roberto Brunetti BLog:

2 Chi siamo Un gruppo di 5 persone con tanta voglia diUn gruppo di 5 persone con tanta voglia di Studiare a fondo le tecnologieStudiare a fondo le tecnologie Capire il behind the scenesCapire il behind the scenes Implementare soluzioni realiImplementare soluzioni reali Confrontarsi con le problematiche realiConfrontarsi con le problematiche reali Sperimentare nuove ideeSperimentare nuove idee

3 Cosa Facciamo Sviluppo internoSviluppo interno CorsiCorsi ConferenzeConferenze SeminariSeminari MentoringMentoring Analisi e disegno di progettoAnalisi e disegno di progetto Auditing su realizzazioni proprie o di terze partiAuditing su realizzazioni proprie o di terze parti Valutazione skill risorse umaneValutazione skill risorse umane Non facciamo sviluppo direttamenteNon facciamo sviluppo direttamente (Supporto telefonico/via a contorno di altri servizi: mentoring)(Supporto telefonico/via a contorno di altri servizi: mentoring) Definizione di percorsi di crescita per team di sviluppoDefinizione di percorsi di crescita per team di sviluppo

4 Chi siete ? Avete mai visto un Pocket PC ?Avete mai visto un Pocket PC ? Avete mai sviluppato in ambienti mobile ?Avete mai sviluppato in ambienti mobile ? Conoscete.NET ?Conoscete.NET ? Sviluppate in Visual Basic o C++ ?Sviluppate in Visual Basic o C++ ?

5 Agenda Panoramica ai dispositivi Mobile MSPanoramica ai dispositivi Mobile MS Panoramica Strumenti di sviluppoPanoramica Strumenti di sviluppo Panoramica Connettività e ProtocolliPanoramica Connettività e Protocolli Panoramica Scenari di sviluppoPanoramica Scenari di sviluppo Sviluppo Web (server-side)Sviluppo Web (server-side) Sviluppo Rich ClientSviluppo Rich Client Enterprise ApplicationEnterprise Application Altri Tool attualiAltri Tool attuali Direzioni futureDirezioni future

6 Useremo Tablet PC/Pocket PC 2002/SmartPhone 2002Tablet PC/Pocket PC 2002/SmartPhone 2002 Collegheremo/ScollegheremoCollegheremo/Scollegheremo Qualche crash…Qualche crash… SQL Server 2000SQL Server 2000 SQL Server for Windows CESQL Server for Windows CE C++ e C#C++ e C# WML/HTML/ASP.NETWML/HTML/ASP.NET.NET.NET Emulatori di dispositiviEmulatori di dispositivi Per allargare il panoramaPer allargare il panorama

7 Panoramica dispositivi Notebook...non poteva mancareNotebook...non poteva mancare Tablet PCTablet PC Smart Display DeviceSmart Display Device Windows CEWindows CE Pocket PCPocket PC Pocket PC Phone EditionPocket PC Phone Edition SmartPhoneSmartPhone Telefonini WAPTelefonini WAP PDA Palm OSPDA Palm OS

8 Clients

9 Tablet PC

10 Tablet PC Interfaccia identica a XPInterfaccia identica a XP Con Ink Recogniction e EMR StylusCon Ink Recogniction e EMR Stylus Adattabile a qualunque forma fisicaAdattabile a qualunque forma fisica Allinterno è un PCAllinterno è un PC RAM – Disco Fisso – Schede varie - USBRAM – Disco Fisso – Schede varie - USB Windows XP Tablet PC EditionWindows XP Tablet PC Edition Girano tutte le applicazioni attualiGirano tutte le applicazioni attuali Include.NET Framework completoInclude.NET Framework completo 2 Forme2 Forme State : LapTop classicoState : LapTop classico Convertible: tastiera e pennaConvertible: tastiera e penna

11 Demo Internet Explorer su TabletInternet Explorer su Tablet Remote AssistanceRemote Assistance Creazione invitation da Tablet (pwd=pippo)Creazione invitation da Tablet (pwd=pippo) Salvo su DeskTopSalvo su DeskTop Open invitation da DesktopOpen invitation da Desktop Aggiustare SchermoAggiustare Schermo PowerPoint su Tablet PCPowerPoint su Tablet PC Journal su Tablet PCJournal su Tablet PC

12 Smart Display (Foto) (Foto) Stylus e touch-sensitive screenStylus e touch-sensitive screen On-screen KeyboardOn-screen Keyboard Handwriting recognictionHandwriting recogniction Supporto per mouse e tastiera wirelessSupporto per mouse e tastiera wireless Accesso al PC con Windows XP (SP1)Accesso al PC con Windows XP (SP1) Via scheda wireless Via scheda wireless Basato suBasato su XP ProfessionalXP Professional Windows CE for Smart Device (+ probabile)Windows CE for Smart Device (+ probabile) Versione CE.NET 4.1Versione CE.NET Add-on kit+ Add-on kit

13 Windows CE Sistema Operativo Real-timeSistema Operativo Real-time ModulareModulare Si possono scegliere le componenti per creare un deviceSi possono scegliere le componenti per creare un device pIE 3, Supporto Ethernet, IIS, ASP, MSMQpIE 3, Supporto Ethernet, IIS, ASP, MSMQ Ad oggi gli OEM hanno aggiuntoAd oggi gli OEM hanno aggiunto Bluetooth, 802.x, FingerprintBluetooth, 802.x, Fingerprint 4.x4.x Bluetooth, 802.xBluetooth, 802.x IE 5.5, WMT 8.0, Direct X 8.0IE 5.5, WMT 8.0, Direct X 8.0.NET Compact Framework.NET Compact Framework Kerberos, SSL, SmartCardKerberos, SSL, SmartCard

14 Varie forme Pocket PC 2000 (3.0)Pocket PC 2000 (3.0) CE 3.0CE 3.0 Pocket PC 2002Pocket PC 2002 CE 3.0 con nuova shellCE 3.0 con nuova shell Handheld PCHandheld PC CE 2.0CE 2.0 Handheld PC ProHandheld PC Pro CE 2.0 con applicazioni 3.0CE 2.0 con applicazioni 3.0 CE.NET (4.x)CE.NET (4.x) Pocket PC 2003 (deve uscire)Pocket PC 2003 (deve uscire) Automazione industrialeAutomazione industriale

15 Pocket PC Sistema operativo Windows CE 3.0Sistema operativo Windows CE 3.0 Ogni produttore può scegliere i moduliOgni produttore può scegliere i moduli Ne esistono due versioniNe esistono due versioni Pocket PC 2000 (anche detta 3.0)Pocket PC 2000 (anche detta 3.0) Pocket PC 2002Pocket PC 2002 InterfacciaInterfaccia Pen e Keyboard on-screenPen e Keyboard on-screen Touch ScreenTouch Screen Ogni produttore può inserire HwOgni produttore può inserire Hw Lettore Bar CodeLettore Bar Code GPS integratoGPS integrato Applicazioni CustomApplicazioni Custom Guscio customGuscio custom...nei ristoranti......nei ristoranti...

16 Hardware ROM: 32 – 48ROM: 32 – 48 RAM: 32 – 64RAM: 32 – 64 Processore (da 206 a 400 Mhz)Processore (da 206 a 400 Mhz) StrongARM, Intel PXA 250, Texas OMAP 710StrongARM, Intel PXA 250, Texas OMAP 710 Add-onAdd-on Compact FlashCompact Flash SD SlotSD Slot InfraredInfrared USB – SerialUSB – Serial BluetoothBluetooth Jacket di espansioneJacket di espansione Per PCMCIA (PCCard)Per PCMCIA (PCCard)

17 Pocket PC GPSGPSGPS Marina AmericanaMarina AmericanaMarina AmericanaMarina Americana

18 Per le demo con Pocket PC Add-on kit per Pocket PCAdd-on kit per Pocket PC Scheda VGA per proiezione esternaScheda VGA per proiezione esterna Cavo di connessione con proiettoreCavo di connessione con proiettore Oppure wireless (con proiettore wireless)Oppure wireless (con proiettore wireless) Noi non labbiamoNoi non labbiamo Ricorriamo ad un vecchio sistemaRicorriamo ad un vecchio sistema CE Remote DisplayCE Remote Display Comodo per sviluppare (Tastiera/Mouse)Comodo per sviluppare (Tastiera/Mouse)

19 Demo Secure Digital (SD Slot)Secure Digital (SD Slot) Memoria aggiuntivaMemoria aggiuntiva Normalmente 8 – 256 MbNormalmente 8 – 256 Mb Sta per uscire Panasonic SD Storage 1 GbSta per uscire Panasonic SD Storage 1 Gb SDIOSDIO SD con Input / OutputSD con Input / Output File di Video su Pocket PCFile di Video su Pocket PC FingerprintFingerprint

20 Pocket PC 2002 Applications ConnettivitàConnettività [Modem][Modem] [Scheda Wireless][Scheda Wireless] [Bluetooth][Bluetooth] [Ethernet][Ethernet] VPN (PPTP)VPN (PPTP) Terminal ServicesTerminal Services ActiveSyncActiveSync OfficeOffice Inbox ( )Inbox ( ) Contacts, Calendar, Tasks, NotesContacts, Calendar, Tasks, Notes Excel, WordExcel, Word ReaderReader Internet ExplorerInternet Explorer HTML 3.2 XML WAP JScript SSL ActiveX MSN Instant MessengerMSN Instant Messenger Windows Media PlayerWindows Media Player Locale e Streaming

21 Demo Pocket PC Internet ExplorerInternet Explorer CalendarCalendar ContactsContacts

22 Pocket PC Phone Edition Integra il PocketPC con il telefonoIntegra il PocketPC con il telefono Nasce dal PocketPC 2002Nasce dal PocketPC 2002 Pen-based e tastiera on-screenPen-based e tastiera on-screen Touch-Pad per la composizioneTouch-Pad per la composizione 32 Mb ROM32 Mb ROM 32 Mb RAM32 Mb RAM Processore StrongARMProcessore StrongARM InfraredInfrared SD slotSD slot

23 Pocket PC Phone Edition FotoFotoFoto FotoFotoFoto Dimensione schermoDimensione schermo Normalmente uguale a Pocket PCNormalmente uguale a Pocket PC Potrebbe variare da produttore a produttorePotrebbe variare da produttore a produttore

24 Pocket PC Phone Edition Applicazioni del Pocket PC 2002Applicazioni del Pocket PC 2002 SIMSIM SIM ManagerSIM Manager Contatti SIM (Address Book)Contatti SIM (Address Book) SMSSMS Conference CallConference Call AuricolareAuricolare Multitasking: si può lavorare con le applicazioni mentre si telefonaMultitasking: si può lavorare con le applicazioni mentre si telefona

25 Smartphone 2002 Hardware Processore 120MHz ARMProcessore 120MHz ARM 8MB+ RAM8MB+ RAM 16MB Flash ROM16MB Flash ROM 176x bit display176x bit display SD SlotSD Slot No Compact FlashNo Compact Flash E un telefonoE un telefono No touch-screenNo touch-screen No StylusNo Stylus

26 SmartPhone FotoFotoFoto FotoFotoFoto

27 Smartphone 2002 Applications Telefonia!Telefonia! Tastierino on-screenTastierino on-screen ProfileProfile ShortcutShortcut GPRSGPRS Tri-bandTri-band ActiveSyncActiveSync Pocket OutlookPocket Outlook Inbox ( , v-mail, sms)Inbox ( , v-mail, sms) ContactsContacts CalendarCalendar TasksTasks Internet ExplorerInternet Explorer HTML 3.2 XML WAP JScript SSL MSN Instant MessengerMSN Instant Messenger Windows Media PlayerWindows Media Player Locale e Streaming ActiveSyncActiveSync

28 SP Internet Explorer HTML 3.2HTML 3.2 No FramesNo Frames HTML 4.0 – innerText, innerHTML, accesskeyHTML 4.0 – innerText, innerHTML, accesskey No Style SheetsNo Style Sheets WAP 1.2.1WAP Microsoft JScript® 1.1Microsoft JScript® 1.1 cHTML (i-Mode)cHTML (i-Mode) accesskey, tel: URLaccesskey, tel: URL XML / XSLXML / XSL Microsoft ActiveX® controlsMicrosoft ActiveX® controls SSL securitySSL security Imagini: JPEG, GIF, PNG, BMP, 2BP, XBM, WBMPImagini: JPEG, GIF, PNG, BMP, 2BP, XBM, WBMP

29 SP Supporto WAP Integrazione con HTML ViewerIntegrazione con HTML Viewer WML, WBXML, WML Script, WTLS securityWML, WBXML, WML Script, WTLS security Bearer (Portante)Bearer (Portante) IP, SMS (WAP Push, SI/SL)IP, SMS (WAP Push, SI/SL) WTAI (Wireless Telephony Application Interface)WTAI (Wireless Telephony Application Interface) SmartPhone consente MakeCallSmartPhone consente MakeCall Le caratteristiche non sono adatte allo SmartPhone e non sicureLe caratteristiche non sono adatte allo SmartPhone e non sicure

30 SmartPhone Demo Usiamo sempre Remote DisplayUsiamo sempre Remote Display ContactContact CalendarCalendar Operazioni One-HandOperazioni One-Hand SD SlotSD Slot Usare quella del Pocket PCUsare quella del Pocket PC Autorun allinserimentoAutorun allinserimento

31 ROM vs RAM ROMROM Sistema OperativoSistema Operativo Aggiornabile per upgrade del S.O.Aggiornabile per upgrade del S.O. RAMRAM Per far girare le applicazioniPer far girare le applicazioni Per Storage permanentePer Storage permanente Tranne Hard ResetTranne Hard Reset Tranne esaurimento batteria tamponeTranne esaurimento batteria tampone Sul Pocket PC Off non significa ResetSul Pocket PC Off non significa Reset Viene mantenuta la RAMViene mantenuta la RAM Le applicazioni restano nel loro statoLe applicazioni restano nel loro stato Demo Memoria su Pocket PCDemo Memoria su Pocket PC Inserire SD slotInserire SD slot

32 Pocket PC Phone Edition Smartphone Utilizzo Data centric con supporto voiceData centric con supporto voice Telefono con funzionalitá datiTelefono con funzionalitá dati Mercato di riferimento Mobile ProfessionalMobile Professional ConsumerConsumer Schermo 240x320 o maggiore240x320 o maggiore 176x220 hi-res color176x220 hi-res color Input A due maniA due mani Touch screen e stylusTouch screen e stylus Una mano (one-handed)Una mano (one-handed) Keypad e joystickKeypad e joystick Application Tutta la suiteTutta la suite No Pocket Word, Pocket Excel, Reader or Terminal Service ClientNo Pocket Word, Pocket Excel, Reader or Terminal Service Client Priorità Mobile OutlookMobile Outlook Web accessWeb access Comunicazioni Voice e textComunicazioni Voice e text Mobile OutlookMobile Outlook Web accessWeb access Pocket PC Phone vs. Smartphone

33 Pocket PC vs. SmartPhone SmartPhoneSmartPhone Full-screen dialog, 2 SoftKeys, Menu sempliciFull-screen dialog, 2 SoftKeys, Menu semplici Meno RAMMeno RAM File System più piccoloFile System più piccolo Processore più lentoProcessore più lento Laccoppiata vincenteLaccoppiata vincente Lo SP può fare da Modem per il Pocket PCLo SP può fare da Modem per il Pocket PC Come per i cellulari tradizionaliCome per i cellulari tradizionali Connessione Cavo/Infrared/BlueToothConnessione Cavo/Infrared/BlueTooth

34 Installazione applicazioni Non sono telefoni !!!!Non sono telefoni !!!! Cambia il paradigmaCambia il paradigma Download e Install file.CABDownload e Install file.CAB Security su SmartPhoneSecurity su SmartPhone Per prevenire download maligniPer prevenire download maligni Installazione da DesktopInstallazione da Desktop Tramite ActiveSyncTramite ActiveSync Si lancia il setup su DesktopSi lancia il setup su Desktop Viene scaricato e installato il sw sul DeviceViene scaricato e installato il sw sul Device

35 Altri Device NokiaNokia Sony EricssonSony Ericsson SamsungSamsung Etc EtcEtc Etc WAP + WMLWAP + WML Alcuni HTTP + HTMLAlcuni HTTP + HTML Ancora TastiereAncora TastiereAncora TastiereAncora Tastiere PDAPDA HandHeld PCHandHeld PC Passati...Passati... Palm OSPalm OS Tante versioniTante versioni Schermi DiversiSchermi Diversi B&W/ColorB&W/Color WAP + WMLWAP + WML HTTP + HTMLHTTP + HTML

36 Connettività Panoramica

37 Device -> DeskTop Porta SerialePorta Seriale In dotazione sui vecchi deviceIn dotazione sui vecchi device Porta USBPorta USB In dotazione sui nuovi deviceIn dotazione sui nuovi device Porta InfrarossiPorta Infrarossi SempreSempre ReteRete Scheda separata oppure integrataScheda separata oppure integrata ActiveSyncActiveSync Per sincronizzare i datiPer sincronizzare i dati Outlook, File System, Favorites di IE etc...Outlook, File System, Favorites di IE etc...

38 Connettività P2P PerchèPerchè PC -> PDA per sincronizzazione datiPC -> PDA per sincronizzazione dati PDA -> Cellulare come modem (gateway)PDA -> Cellulare come modem (gateway) CavoCavo Vecchio stileVecchio stile 1 cavo per ogni coppia di Device1 cavo per ogni coppia di Device IrDA - InfrarossiIrDA - Infrarossi Eliminiamo i caviEliminiamo i cavi Necessità allineamentoNecessità allineamento BluetoothBluetooth Elimina i caviElimina i cavi Discovering / ParnershipDiscovering / Parnership Occhio quando siete fuori....Occhio quando siete fuori....

39 ActiveSync Per controllare la SincronizzazionePer controllare la Sincronizzazione Calendario, Task, , NoteCalendario, Task, , Note Per passare dati e convertirliPer passare dati e convertirli Word, Excel, PowerpointWord, Excel, Powerpoint PDF (da Adobe)PDF (da Adobe) File Audio/VideoFile Audio/Video Ogni applicazione può montare il filtro di conversioneOgni applicazione può montare il filtro di conversione Funge anche da Gateway per i deviceFunge anche da Gateway per i device

40 ActiveSync Connection SettingsConnection Settings Porta SerialePorta Seriale Porta InfrarossoPorta Infrarosso USBUSB NetworkNetwork E... Bluethooh (COM Port Emulation)E... Bluethooh (COM Port Emulation)

41 Connettività Networking Basato su TCP/IPBasato su TCP/IP Bluetooth per PANBluetooth per PAN Scheda ReteScheda Rete SeparataSeparata Vecchio stileVecchio stile Scheda Rete WirelessScheda Rete Wireless Peer-to-PeerPeer-to-Peer Access PointAccess Point I nuovi device costosi ce lhanno a bordoI nuovi device costosi ce lhanno a bordo

42 Connectivity Overview Circuit Switched Data (e.g. GSM, CDMA) Packet Data (e.g. GPRS, 1xRTT) SMS Desktop Pass-Through Bluetooth TCP/IP WAP Cable Replacement

43 Firewall ! I device naviganoI device navigano Come proteggerli ?Come proteggerli ? Dal piu famoso produttore di FirewallDal piu famoso produttore di Firewall -1_clients_wince.htmlwww.checkpoint.com/products/connect/vpn -1_clients_wince.htmlwww.checkpoint.com/products/connect/vpn -1_clients_wince.htmlwww.checkpoint.com/products/connect/vpn -1_clients_wince.html Lavora in tandem con VPN-1 per rendere sicureLavora in tandem con VPN-1 per rendere sicure IPSecIPSec NATNAT Tunneling/EncriptionTunneling/Encription LDAPLDAP Personal FirewallsPersonal Firewalls

44 Wireless cable WLANHome 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 Pt-to-MP 128 devices CSMA 128 devices CSMA topologia 0-3m/5m30m50m distanza Optical 850 nm RF: 2.4 GHz DSSS, FHSS RF: 2.4 GHz FHSS tecnologia Optional WEP 11 M 20 dBm b Application Optional 40 / 128 bit security 4 M/115K1.6 M (10M) bitrate ?20 dBm power IrDA (Luft) Home-RF Categoria DECT WDCT Voice/WLAN m RF:1.9/2.4 GHz 736/576 k 24 dBm Optional devices TDMA FHSS

45 Demo Pocket PC Schede di reteSchede di rete Wireless NetworkWireless Network Gestione Connessioni da Connection ManagerGestione Connessioni da Connection Manager

46 Rob e Marco a Parigi Che bello il mondo wirelessChe bello il mondo wirelessChe bello il mondo wirelessChe bello il mondo wireless Tutto senza cavi !!!!Tutto senza cavi !!!! Tranne lalimentazione !!!Tranne lalimentazione !!!Tranne lalimentazione !!!Tranne lalimentazione !!! Ma qualcuno ci sta già pensando...Ma qualcuno ci sta già pensando...Ma qualcuno ci sta già pensando...Ma qualcuno ci sta già pensando...

47 API ConnessioneConnessione Esposte da Connection ManagerEsposte da Connection Manager Send/ReceiveSend/Receive Winsock – TCP/IP, Bluetooth, IRDAWinsock – TCP/IP, Bluetooth, IRDA Wininet – HTTP, FTPWininet – HTTP, FTP WAP WDP API – UDP o Binary SMSWAP WDP API – UDP o Binary SMS SMS API – SMS Text SendingSMS API – SMS Text Sending

48 Stupid Windows Socket Applicazione 1Applicazione 1 Listen (es porta 7878)Listen (es porta 7878) Applicazione 2Applicazione 2 Open Socket IP:7878Open Socket IP:7878 Send CiaoSend Ciao Applicazione 1Applicazione 1 Riceve Ciao -> OperazioneRiceve Ciao -> Operazione Reply OKReply OK Applicazione 2Applicazione 2 Riceve OK -> Messaggio ricevutoRiceve OK -> Messaggio ricevuto Scacchi ? Dama ?Scacchi ? Dama ?

49 WinInet e Winsock Simili alle API di Windows XPSimili alle API di Windows XP Supporto Winsock 2.0Supporto Winsock 2.0 WinInetWinInet HTTP e FTPHTTP e FTP Open UrlOpen Url Analizza la responseAnalizza la response Chimata a Connection Manager automaticaChimata a Connection Manager automatica

50 WAP e WML Conosciamo tutti Http e HtmlConosciamo tutti Http e Html Spendiamo un po di tempo su WAP e WMLSpendiamo un po di tempo su WAP e WML Riferimento WAP ForumRiferimento WAP Forum Definizione diDefinizione di WAP Wireless Application ProtocolWAP Wireless Application Protocol WML Wireless Markup LanguageWML Wireless Markup Language WMLScriptWMLScript

51 WAP Protocollo applicativo End-to-EndProtocollo applicativo End-to-End Ambiente application basato su BrowserAmbiente application basato su Browser

52 WAP Application Unapplicazione WAP consisteUnapplicazione WAP consiste Applicazione ServerApplicazione Server Applicazione ClientApplicazione Client Lapplicazione Client viene scaricata tramite un gateway dal ServerLapplicazione Client viene scaricata tramite un gateway dal Server Lapplicazione Client può girare su dispositivi diversiLapplicazione Client può girare su dispositivi diversi WAP fornisce lo standardWAP fornisce lo standard BrowserBrowser Interprete di scriptInterprete di script

53 Client BrowserBrowser Simile a un web browserSimile a un web browser Interpreta WMLInterpreta WML Script InterpreterScript Interpreter Esecuzione di applicazioniEsecuzione di applicazioni Interpreta WMLScript (Simile a ECMAScript)Interpreta WMLScript (Simile a ECMAScript) Set di librerie per accedere ai servizi del UASet di librerie per accedere ai servizi del UA WML e WMLScriptWML e WMLScript Ottimizzati per WAPOttimizzati per WAP Binary encoded (compilati)Binary encoded (compilati)

54 Client / Server Lapplicazione è memorizzata su un web serverLapplicazione è memorizzata su un web server Il contenuto può essereIl contenuto può essere WMLWML WMLScriptWMLScript HTMLHTML Alcuni gateway possono eseguire la conversione HTML->WMLAlcuni gateway possono eseguire la conversione HTML->WML Laccesso è via URLLaccesso è via URL Come per il webCome per il web

55 WML simile HTML Primo esempio Primo esempio Demo Nokia Demo SmartPhone

56 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

57 WAP Architettura Client Livelli embedded nel clientLivelli embedded nel client

58 Altri Markup Language......per Interfacce utente...per Interfacce utente HDMLHDML Handheld Device Markup LanguageHandheld Device Markup Language cHTMLcHTML Compact HTMLCompact HTML XHTMLXHTML Utilizza regole XML per HTMLUtilizza regole XML per HTML Esempio oppure Esempio oppure XMLXML

59 Standard utilizzati oggi Pocket PC 2002 (OBEX, HTTP, HTML, WAP, CHTML, XML, WLAN, Wi-Fi (802.11x), Bluetooth, MPEG4, IRDA, (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 (OBEX, HTTP, HTML, WAP, CHTML, XML, WLAN, Wi-Fi (802.11x), Bluetooth, MPEG4, IRDA, (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, (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)Pocket PC 2002 Phone Edition (OBEX, HTTP, HTML, WAP, CHTML, XML, WLAN, Wi-Fi (802.11x), Bluetooth, MPEG4, GSM, GPRS, IRDA, (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, (Ethernet), POP3, IMAP4, WAP, VPN, Windows Media, MP3, TAPI, ExTAPI, WLTS, GSM/GPRS, CDMA/1xRTT)Smartphone 2002 (OBEX, HTTP, HTML, WAP, CHTML, XML, WLAN, Wi-Fi (802.11x), Bluetooth, MPEG4, GSM, GPRS, IRDA, (Ethernet), POP3, IMAP4, WAP, VPN, Windows Media, MP3, TAPI, ExTAPI, WLTS, GSM/GPRS, CDMA/1xRTT) Nota: Lista incompleta

60 Panoramica Scenari di Sviluppo

61 Scenari Utilizzo di Terminal ServiceUtilizzo di Terminal Service Impatto zero sul DeviceImpatto zero sul Device Solo per Pocket PCSolo per Pocket PC Utilizzo di Internet ExplorerUtilizzo di Internet Explorer Impatto zero sul DeviceImpatto zero sul Device Applicazione sul DeviceApplicazione sul Device Installazione sul DeviceInstallazione sul Device Semplice o complessa che siaSemplice o complessa che sia ScenariScenari Utilizzo del Web RequestUtilizzo del Web Request Vecchio stileVecchio stile Utilizzo di XMLUtilizzo di XML Vecchio StileVecchio Stile Utilizzo di Web Service !!!Utilizzo di Web Service !!! Download e uso dei dati sul device !!!Download e uso dei dati sul device !!!

62 Decisioni Server Side o Smart ClientServer Side o Smart Client Tecnolgie Server SideTecnolgie Server Side Mobile WebMobile Web NotificationNotification Tecnologie Smart ClientTecnologie Smart Client Managed o Native Client CodeManaged o Native Client Code Strategia accesso ai datiStrategia accesso ai dati XML Web serviceXML Web service SQL Merge ReplicationSQL Merge Replication SQL Remote Data Access (RDA)SQL Remote Data Access (RDA)

63 ServerSide Smart Client ? Abbiamo il controllo dei Device?Abbiamo il controllo dei Device? Possiamo installare e gestire i client device?Possiamo installare e gestire i client device? Quanto (ore) viene usata questa applicazione?Quanto (ore) viene usata questa applicazione? Serve uninterfaccia utente particolare?Serve uninterfaccia utente particolare? Lapplicazione deve lavorare disconnessa?Lapplicazione deve lavorare disconnessa? Quanto cosa la connessione?Quanto cosa la connessione? Server Side o Smart Client ?

64 Server Side o Smart Client ! Server sideServer side Supporto multi-deviceSupporto multi-device Logica Server-sideLogica Server-side Nessuna installazione sul clientNessuna installazione sul client Interfaccia via BrowserInterfaccia via Browser Solo on-lineSolo on-line Smart ClientSmart Client Versioni diverseVersioni diverse Logica e dati Client-sideLogica e dati Client-side Installazione sui clientInstallazione sui client Flessibilità interfaccia utenteFlessibilità interfaccia utente PerformancePerformance Offline & OnlineOffline & Online Utilizzo API localiUtilizzo API locali POOMPOOM Server Side Smart Client ?

65 Complementari es. Push URL per browse back Mobile WebMobile Web Applicazioni interattiveApplicazioni interattive Interfaccia utenteInterfaccia utente Modello di sviluppo WebModello di sviluppo Web Device con supporto per BrowserDevice con supporto per Browser NotificationNotification Push messaggiPush messaggi SMS, IM, ecc.SMS, IM, ecc. Architettura Publish / SubscribeArchitettura Publish / Subscribe Device con e senza supporto BrowserDevice con e senza supporto Browser Mobile Web Notification Server-side: Tipo di App ?

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

67 Mobile ControlsMobile Controls Altra produttivitàAltra produttività Gestione sempliceGestione semplice Supporto XMLSupporto XML Web Services integratiWeb Services integrati PerformancePerformance Device ExtensionDevice Extension Event-basedEvent-based Native / XSLTNative / XSLT Sviluppo più complessoSviluppo più complesso Nuovo codice per nuovi deviceNuovo codice per nuovi device Supporto XML (obbligatorio)Supporto XML (obbligatorio) No Web ServicesNo Web Services Utilizzo di standardUtilizzo di standard Riutilizzo ASP 3.0 e altri ambientiRiutilizzo ASP 3.0 e altri ambienti ASP.NET, Mobile Controls Native / XSLT Mobile Web Browse ? Scelte Server-side Mobile Controls, XSLT o Hand Coded

68 Quick Demo Mobile Control Adaptive RenderingMobile Control Adaptive Rendering Calendario: Una roba complessa !!!Calendario: Una roba complessa !!! Internet Explorer Tablet PC (o PC)Internet Explorer Tablet PC (o PC) IE su Pocket PCIE su Pocket PC IE su SmartPhoneIE su SmartPhone Nokia Mobile Internet ToolkitNokia Mobile Internet Toolkit Microsoft Mobile ExplorerMicrosoft Mobile Explorer.. Ci torniamo.. Ci torniamo

69 Notification Technology Windows Server SQL Server: SQL Notification Services Opzioni Invio MMIS,.NET Alerts SMTP etc. SOAP ecc. SMS IM SMTP Generazione Delivery Eventi Subscriptions

70 Scelte Smart Client Piattaforma Target ?Piattaforma Target ? Applicazione o Driver ?Applicazione o Driver ? Facilità di sviluppo o performance pure ?Facilità di sviluppo o performance pure ? Conoscenze precedenti ?Conoscenze precedenti ?

71 Piattaforma client LapTop / Tablet PCLapTop / Tablet PC VB 6, VC++,.NETVB 6, VC++,.NET Driver C++Driver C++ Pocket PC 2000/2002Pocket PC 2000/2002 eVB 3.0, eVC++ 3.0,.NETeVB 3.0, eVC++ 3.0,.NET Driver eVC++Driver eVC++ HPC e Palm PC (vecchi)HPC e Palm PC (vecchi) eVB 3.0, eVC++ 3.0eVB 3.0, eVC SmartPhone 2002SmartPhone 2002 eVC (per adesso)eVC (per adesso) CE.NETCE.NET eVC++ 4.0,.NET (Pocket PC 2003 occorre SP2)eVC++ 4.0,.NET (Pocket PC 2003 occorre SP2)

72 Scelte Smart Client Managed.NET CF (VB.NET, C# etc.) eVB Tempo eVC e eVB eVC native eVC native eVC

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

74 Quick Demo Visual Studio.NETVisual Studio.NET Una semplice applicazione (SDEApp)Una semplice applicazione (SDEApp) Sul Pocket PCSul Pocket PC Modifica testoModifica testo Ci torniamo...Ci torniamo...

75 Scelte Smart Client ManagedManaged ProduttivitàProduttività Safe ProgrammingSafe Programming Supporto Web ServiceSupporto Web Service Librerie comuniLibrerie comuni Stessi tool e API del desktopStessi tool e API del desktop Si utilizza per la maggioranza dei casiSi utilizza per la maggioranza dei casi NativeNative Sviluppo a basso livelloSviluppo a basso livello Sviluppo Real-timeSviluppo Real-time Sviluppo DriverSviluppo Driver Sviluppo wrapper per codice legacySviluppo wrapper per codice legacy SmartPhone...per adessoSmartPhone...per adesso Managed.NET CF Native (eVC) SmartClient ?

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

77 Scelte Accesso ai Dati 1. XML Web services1. XML Web services Riutilizzo Web service (desktop, mobile web ecc.)Riutilizzo Web service (desktop, mobile web ecc.) Incapsulamento Business LogicIncapsulamento Business Logic 2. Direct SQL Server2. Direct SQL Server Più semplice per applicazioni sempre on-linePiù semplice per applicazioni sempre on-line 3. SQL Server CE Synch3. SQL Server CE Synch Utilizzo di dati localiUtilizzo di dati locali Sincronizzazione auto/granulare dei datiSincronizzazione auto/granulare dei dati Applicazioni Off-lineApplicazioni Off-line 4. Local data access4. Local data access Utilizzo di store locale per applicazioni Off-lineUtilizzo di store locale per applicazioni Off-line Utilizzo ADO.NET, SQL Server CE, XMLUtilizzo ADO.NET, SQL Server CE, XML

78 Sviluppo Server-Side Basato su Browser

79 La sfida Web Site

80 La sfiga La sfiga Device DiversiDevice Diversi Schermi diversiSchermi diversi Dimensioni diverseDimensioni diverse Supporto Markup Language DiversoSupporto Markup Language Diverso Html e Http li conosciamoHtml e Http li conosciamo Diamo uno sguardo a WML rispetto a HTMLDiamo uno sguardo a WML rispetto a HTML Ricordiamoci che il WAP Gateway gira le richieste in Http verso il serverRicordiamoci che il WAP Gateway gira le richieste in Http verso il server

81 WML E un documento XMLE un documento XML RigorosoRigoroso Case sensitive (xml è minuscolo)Case sensitive (xml è minuscolo) Well formed /ValidWell formed /Valid Card = Unità baseCard = Unità base Singola interazione fra lutente e il browserSingola interazione fra lutente e il browser Deck = DocumentoDeck = Documento Raggruppa le cardRaggruppa le card Esiste una card di defaultEsiste una card di default Scaricato via urlScaricato via url

82 Simile a HTML Primo esempio Primo esempio

83 MultiCard

Prima

Seconda


84 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

85 Navigazione LINK

Selezionavai per navigare

Informazioni


86 Navigazione ACCEPT Seleziona vai per navigare Seleziona vai per navigare

Informazioni


87 Variabili In HTML in quanto tale non esistono !In HTML in quanto tale non esistono ! Sono case sensitiveSono case sensitive Si impostano conSi impostano con Durante la navigazioneDurante la navigazione Si leggono i valori conSi leggono i valori con $(variab1)$(variab1) Mantengono il contesto (!= HTTP)Mantengono il contesto (!= HTTP) Se lutente naviga interagendo con lapplicazioneSe lutente naviga interagendo con lapplicazione Può essere perso se naviga verso altri deck non interagendo con lapplicazionePuò essere perso se naviga verso altri deck non interagendo con lapplicazione

88 User Input /> I campi diventano/sono delle variabiliI campi diventano/sono delle variabili Non Esiste in HTML

89 Input esempio Immetti il tuo nome: Immetti il tuo nome: Ciao $(nome) Ciao $(nome)

90 WMLScript Per validare gli inputPer validare gli input MessageBoxMessageBox Interazione con lo user agentInterazione con lo user agent Invio di chiamateInvio di chiamate Invio di SMSInvio di SMS Address Book telefonoAddress Book telefono Address Book SIMAddress Book SIM Può sfruttare caratteristiche specifiche del device...come per i browserPuò sfruttare caratteristiche specifiche del device...come per i browser E standard compreso nella specifica WAPE standard compreso nella specifica WAP Diverso da HTML dove è a cura del browserDiverso da HTML dove è a cura del browser

91 Interazione con il server Inserisci il tuo nome Inserisci il tuo nome

GET/POST come HTML ma possiamo decidere quali valori inviareGET/POST come HTML ma possiamo decidere quali valori inviare

92 Server-side scripting Inviare WML dinamico al dispositivoInviare WML dinamico al dispositivo title= > title= >......<%rs.movenextEnd%>

93 Torniamo al problema WML e HTML sono diversiWML e HTML sono diversi Per la gestione dei formPer la gestione dei form Per la gestione delle variabiliPer la gestione delle variabili In WML non esistono molti dei tag HTMLIn WML non esistono molti dei tag HTML Inoltre abbiamo schermi di dimensioni diversi da device a deviceInoltre abbiamo schermi di dimensioni diversi da device a device Potremmo scrivere codice che testa il device (HTTP_USER_AGENT) e si comporta di conseguenzaPotremmo scrivere codice che testa il device (HTTP_USER_AGENT) e si comporta di conseguenza Che fare per ogni nuovo device che esce ?Che fare per ogni nuovo device che esce ? Ci potremmo fare una libreria e un file di configurazioneCi potremmo fare una libreria e un file di configurazione

94 ASP.NET Mobile Controls Integrazione con VS.NET 2002/2003Integrazione 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 mobileEstendono ASP.NET per applicazioni mobile Multi-DeviceMulti-Device Multi-Language HTML/WML…Multi-Language HTML/WML…

95 Supporto Device – 200 c.a. ACCESS Compact: NetFront 2.0, Fujitsu F503i, Mitsubishi D502i, Mitsubishi D503i, NEC N210i, NEC N502i, Sony SO503iACCESS 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 T20sEricsson 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,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 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 H3670Microsoft 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 9110iNokia: 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 3000Openwave 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 SL45Openwave 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),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),

96 Web Form e Mobile Web Form Mobile Web Form Ciao Ciao Ciao Ciao Web Form

97 Caratteristiche Adaptive RenderingAdaptive Rendering Mobile ControlMobile Control SviluppoSviluppo Espongono Proprieta, Metodi, EventiEspongono Proprieta, Metodi, Eventi AdapterAdapter Producono lOutputProducono lOutput Un adapter per ogni tipo di ML da inviareUn adapter per ogni tipo di ML da inviare Inviano ML correttoInviano ML corretto CustomizationCustomization Modello estendibile per customizzare il rendering per un particolare deviceModello estendibile per customizzare il rendering per un particolare device

98 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

99 Text Display Controls Label ControlLabel Control Piccole quantità di info – read onlyPiccole quantità di info – read only TextBox ControlTextBox Control Single-line input (text box)Single-line input (text box) DemoDemo SempliceSemplice Trace per diverso renderingTrace per diverso rendering

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

101 Transfer Controls Link controlLink control Testo con hyperlinkTesto con hyperlink Verso un form diverso (card in WML)Verso un form diverso (card in WML) Verso una pagina diversaVerso una pagina diversa Proprietà Softkey (per telefonini)Proprietà Softkey (per telefonini) PhoneCall controlPhoneCall control Genera mark-upGenera mark-up Su un telefonino con possibilità di chiamata direttaSu un telefonino con possibilità di chiamata diretta Su un device visualizza il numeroSu un device visualizza il numero Go to Results NavigateUrl="#frmResults">Go to Results

102 Transfer Controls Command controlCommand control Bottone tradizionaleBottone tradizionale Può invocare eventi server-sidePuò invocare eventi server-side Proprietà SoftkeyLabelProprietà SoftkeyLabel Testo per la SoftKey del telefoninoTesto per la SoftKey del telefonino Demo 03: Notare Variabili in WMLDemo 03: Notare Variabili in WML Demo 04Demo 04

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

104 TextView Control Testo lungoTesto lungo ConsenteConsente BoldBold ItalicItalic Salti paginaSalti pagina ParagrafiParagrafi Anchor nel testoAnchor nel testo Supporta PaginazioneSupporta Paginazione

105 List e Selection List ListSelectionListObjectList DataboundOpzionaleOpzionaleObbligatorio PaginationSiNoSi Decoration None, Bulleted, Numbered Dropdown, ListBox, Radio Button, CheckBox, MultiSelect Solo con Customizatio n InteractiveOpzionaleSiOpzionale Controlli simili in ASP.NET Datalist ListBox, CheckBox, CheckBoxList, RadioButton, RadioButtonLis t, & DropDownList Datagrid

106 ObjectList DataBindingDataBinding TemplateTemplate HeaderHeader FooterFooter ItemItem AlternatingItemAlternatingItem Dettaglio automaticoDettaglio automatico DemoDemo IEIE Pocket PCPocket PC NokiaNokia SmartPhoneSmartPhone

107 Un po di stile Aggiungere un po di informazioni di styleAggiungere un po di informazioni di style 3 stili predefiniti3 stili predefiniti titletitle ErrorError SubcommandSubcommand Associabili con StyleReferenceAssociabili con StyleReference Demo 07Demo 07 Estendibile con propri stiliEstendibile con propri stili

108 WAP/WML batte HTTP/HTML Gestione input numericoGestione input numerico Mantenimento valore campi e variabili cross- requestMantenimento valore campi e variabili cross- request Tutto gestito dietro le quinteTutto gestito dietro le quinte In HTTP/HTML non sarebbe possibileIn HTTP/HTML non sarebbe possibile Entra in gioco il ViewState di ASP.NETEntra in gioco il ViewState di ASP.NET

109 Dati Caricamento dati da codiceCaricamento dati da codice Esempio conEsempio con Controllo SelectionListControllo SelectionList ComboBox, ListBox (anche multiselect)ComboBox, ListBox (anche multiselect) Demo 10Demo 10

110 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

111 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

112 Customization ObjectList Control HeaderTemplate Item Template AlternateItemTemplate FooterTemplate SeparatorTemplate Pocket PC Customization Phone: Limitazioni ItemDetailsTemplate

113 Emulatori disponibili Link verso i vari emulatoriLink verso i vari emulatori cid=kb;en-us;320977http://support.microsoft.com/default.aspx?s cid=kb;en-us;320977http://support.microsoft.com/default.aspx?s cid=kb;en-us;320977http://support.microsoft.com/default.aspx?s cid=kb;en-us; rs.aspx?tabindex=6http://www.asp.net/mobile/DeviceSimulato rs.aspx?tabindex=6http://www.asp.net/mobile/DeviceSimulato rs.aspx?tabindex=6http://www.asp.net/mobile/DeviceSimulato rs.aspx?tabindex=6


Scaricare ppt "Introduction to Mobile Development Roberto Brunetti BLog:"

Presentazioni simili


Annunci Google