Molti di voi conosceranno la divertente quanto efficace campagna pubblicitaria lanciata da Microsoft denominata “Smoked by Windows Phone”.
Consiste in una sfida dove un dipendente della Microsoft stessa, Ben Rudolph, soprannominato “Ben the Pc Guy”, con il suo Windows Phone alla mano sfida chiunque abbia uno smartphone ad essere più veloce di lui nell’effettuare alcune operazioni con il proprio terminale (come caricare una foto su Twitter o cercare un ristorante nelle vicinanze).
Se il concorrente vincerà sul tempo allora riceverà un premio di 100$, in caso contrario dovrà solamente ammettere che il suo terminale è stato battuto da un Windows Phone. Inutile dire che in pochi sono tornati a casa con 100$ in più in tasca. 😉
Negli ultimi giorni, invece, è comparso un video (vedi sotto) alquanto curioso che rappresenta proprio questa campagna ma dal punto di vista di uno sviluppatore.
Nel video viene mostrata la programmazione del classico “Hello World” secondo i tre differenti ambienti di sviluppo dei maggiori mobile OS. E subito salta all’occhio la differenza di tempo che richiede la creazione del programma per i tre sistemi: Visual Studio per Windows Phone chiude a 35 secondi, Xcode per iOS a 2:40 mentre Eclipse per Android a 3:00!
Si tratta dello sviluppo di una semplice applicazione, il tempo può dipendere da diversi fattori ma per applicazioni più complesse l’IDE di Microsoft può sicuramente dare grossi vantaggi.
Tutto questo non può fare altro che invogliare numerosi sviluppatori ad avvicinarsi alla piattaforma per un sistema operativo in rapida crescita ed un Marketplace che ha registrato un trend di aumento tra i più alti.
Windows sara’ il futuro
Sicuramente è una piattaforma con buoni propositi, soprattutto con l’arrivo di Windows 8 😉
Manca il confronto con Qt, che era ancora più veloce 🙁
Più veloce di Xcode e Eclipse? O intendi più veloce di Visual Studio?
Qt quick è più semplice e intutitivo di tutti e tre.
Per quanto possa essere vero, semplicità e intuitività sono fattori personali…
Vabbè vuoi mettere la possibilità di inserire piccole parti di codice(logica) all’interno della grafica?(come avere .xaml e .xaml.cs nello stesso codice). Altro esempio sono le textblock che in qt quick possono contenere qualsiasi tipo di dato, mentre in silverlight ho bisogno di farmi una stringa. Poi son d’accordo con te è soggettivo, ma trovo più rapido qt quick. Detto questo entrambi sono ottimi tool di sviluppo, su xcode e eclipse sinceramente non avendoli mai usati non dovrei neanche nominarli quindi mi scuso.
Mi sembra di essere tornato allìera del passaggio da win 95 a win 98 non una rivoluzione come da win 3.11 a win 95, ma un bel cambio di rotta.
Certo, veloce per un Hello World…
Ma allo sviluppatore, interessa un contesto reale di utilizzo! 🙂
Andiamo a vedere il confronto su un semplice programma che si occupi di visualizzare il codice IMEI del cellulare! 😉
…Andiamo a vedere il confronto di un semplice programma che mostri una Live Tile su Android (senza uccidere la batteria)…
Dammi tempo di metterci mano e lo faremo 😉
Per ora, posso dirti che su Symbian, si impiegherebbe un tempo decisamente piu’ elevato rispetto a quanto richiesto su WP.
Mentre il tempo richiesto per rilevare il codice IMEI su WP (o qualsiasi altro codice univoco e immutabile del device) e’ infinito, in quanto infattibile.
@Marco, il codice IMEI non può essere ricavato da WP per motivi di sicurezza(dicono loro)
Lo so che non puo’ essere ricavato, e’ proprio per questo che l’ho tirato in ballo 😉
Perche’ uno sviluppatore non se ne fa una mazza di poter scrivere un helloworld in 2 minuti, se poi la piattaforma e’ limitata sotto altri aspetti ben piu’ importanti dell’helloworld, impedendo di fatto la realizzazione di funzionalita’ che sulle altre piattaforme si fanno senza problemi…
Per la cronaca, proprio in questi giorni, una azienda mi ha chiesto se sarebbe stato possibile portare la loro app da Symbian a WP… e uno dei punti cruciali dell’app e’ proprio quella di poter avere a disposizione un codice univoco ed immutabile del cellulare (IMEI, MAC BT, MAC WiFi) ma nulla di tutto cio’ e’ disponibile su WP…
Morale della favola? L’applicazione verra’ portata su Android.
Scusa ma da sviluppatore per Windows Phone quale sono non ho potuto resistere a quello che hai detto dal momento che è falso.
Mi dispiace per l’azienda che ti ha chiesto la portabilità dell’app, ma esiste un codice univoco per dispositivo (cerca su MSDN DeviceExtendedProperties), persino un codice univoco per Live ID (UserExtendedProperties), ricavabile comodamente in meno di 40 secondi dall’SDK per Windows Phone. Moltissime app sul market lo utilizzano per gli scopi più diversi, come generare delle statistiche ad uso interno sul successo dell’app, offrire dei servizi mirati a singoli utenti e via dicendo.
E poi lo sviluppatore se ne fa eccome una mazza di scrivere un’app complessa in meno di una settimana per essere il primo sul mercato. Confrontando le 3 piattaforme, hanno tutte le loro differenze. Se prendi Android, ti permette di fare di tutto, infatti è un sistema pessimo che lagga, crasha e quant’altro. Gli altri due se la cavano decisamente meglio sacrificando alcune funzionalità “cruciali” come le chiami tu.
Se vuoi rispondere al post, ti chiederei gentilmente, a nome di tutti, di non andare a cercare un esempio di una app che non si può realizzare (perchè sappiamo entrambi che lo avresti fatto). E’ uno spreco di tempo, si potrebbe fare un esempio per tutti gli OS mobili.
Non mi sbaglio affatto… Da sviluppatore Windows Phone quale sei, dovresti conoscerne almeno l’ABC: il DeviceExtendedProperties varia dopo una formattazione, quindi non e’ immutabile (cfw IMEI, MAC BT, MAC WiFi)
Il Live ID invece, non e’ invece assolutamente associato al device, ma all’utenza.
E invece ti sbagli eccome, ovunque si legge che il device ID sopravvive anche alla formattazione:
http://social.msdn.microsoft.com/Forums/en-US/windowsphone7series/thread/125fd756-3cc9-40ec-8968-803d98633adf/
Scritto da Peter Torr in persona. Anche post molto più recenti confermano questo concetto, ribadendo di non utilizzare il device ID per identificare l’utente, dal momento che il device potrebbe essere venduto ad altri. E’ scontato che il Live ID sia associato all’utenza, grazie per l’ovvietà (http://msdn.microsoft.com/en-us/library/microsoft.phone.info.deviceextendedproperties(v=vs.92).aspx).
Se cambiasse ad ogni formattazione, vorrebbe dire che è generato automaticamente, per cui non potrebbe essere unico.
Se mi indichi un documento autorevole che smentisca questa proprietà del device ID, tutti noi potremmo imparare qualcosa di nuovo.
Il documento autorevole, su cui a suo tempo trassi le mie conclusioni definitive e’ proprio il link dell’MSDN che hai riportato… perche’ in quel link, viene indicato che la DeviceExtendedProperties e’ supportata su 7.1 e 7.0 ma non risulta essere supportata su 7.5 (Lumia 800)
Questi, invece, sono alcune discussioni che lessi…
http://social.msdn.microsoft.com/Forums/en/windowsphone7series/thread/e84351c5-df4d-46f4-a611-c5eaeabf7116
http://social.msdn.microsoft.com/Forums/en-US/windowsphone7series/thread/42f07d63-e965-48ed-8444-cc70e45016d7
http://forums.create.msdn.com/forums/p/95010/568301.aspx#568301
http://social.msdn.microsoft.com/Forums/en-US/windowsphone7series/thread/48c74354-fa38-4941-857b-fcb3e46afa7b
Ma, a questo punto, credo che spendero’ del tempo per verificare personalmente se e’ supportata su 7.5, a dispetto di quanto viene indicato su MSDN e spero vivamente che si tratti di un errore nella documentazione.
Di quale versione stai parlando? Che versione è 7.5? L’ultima versione disponibile è la 7.1.
Nessun MAC-ID o IMEI è ottenibile in WP, solo un Device Unique Id, che svolge lo stesso ruolo di identificare un device fisico.
Lol… Da completo neofita di WP mi sarei aspettato che windows phone 7.5 che viene sbadierato un po’ ovunque: http://www.microsoft.com/windowsphone/it-it/howto/wp7/start/whats-new-in-windows-phone.aspx
fosse basato sulla versione 7.5 del sistema operativo windows phone…
Ma da quanto ho potuto vedere dopo il tuo appunto, 7.5 e’ solo la denominazione commerciale che e’ stata adottata, mentre la versione del sistema operativo e’ 7.1
http://it.wikipedia.org/wiki/Windows_Phone_7#Versioni_del_sistema_operativo_Windows_Phone_7
Ad ogni modo, ho fatto le prove empiriche del caso e ti confermo piacevolmente che il DeviceUniqueId e’ rilevabile su 7.1 e rimane invariato anche a seguito del Factory Reset.
Molto bene! 🙂
Ti ringrazio per la perseveranza che hai avuto nel farmi notare i miei errori e come conseguenza ho rivalutato la mia posizione sul sistema. 🙂
Ora mi tocchera’ ricontattare l’azienda per poi mettermi a studiarne piu’ a fondo la fattibilita’… Grazie ancora.
P.S.
Prova ad ignorare quel “dovresti conoscerne almeno l’ABC”, non volevo punzecchiarti con un attacco personale…
E’ piu’ che altro uno sfogo di delusione verso il sistema, perche’ imho, si tratta di restrizioni che sono estremamente vincolanti per alcune applicazioni che ho realizzato nel corso di questi anni e che pertanto, non sara’ possibile portare su WP.
La mia critica e’ principalmente nei confronti del sistema e di alcune sue mancanze, non nei confronti di chi ha deciso di investire il proprio tempo su di esso 🙂
@Marco sei ilSocio? 🙂
si, e’ il nick che uso per la maggiorparte dei forum 🙂