1.12k likes | 1.23k Views
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
E N D
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 • 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 • 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) • 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 • 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) • 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
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 Pocket PC 2002 Applications 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 • 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 • Foto www.microsoft.com/italy/msdn/studenti
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 Smartphone 2002 Applications www.microsoft.com/italy/msdn/studenti
SP Internet Explorer • HTML 3.2 • 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 • 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 www.microsoft.com/italy/msdn/studenti
Pocket PC vs. SmartPhone • 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 • 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è • 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 • 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 • 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
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 • Esposte da Connection Manager • Send/Receive • 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 • Listen (es porta 7878) • Applicazione 2 • Open Socket IP:7878 • Send “Ciao” • Applicazione 1 • Riceve “Ciao” -> Operazione • Reply “OK” • Applicazione 2 • 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 • WinInet • 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