Alcuni motivi che spingono gli sviluppatori a preferire Windows Phone 8 anziché Windows Phone 7

Windows Phone Store

Windows Phone Store

Al rilascio di una nuova app o di un nuovo gioco per Windows Phone 8 molto spesso gli utenti Windows Phone 7 restano delusi per non poterli installare sui propri terminali: come mai lo sviluppatore ha prodotto solo la versione per WP8? E per Windows Phone 7?

In questo articolo vengono esposte alcune motivazioni che condizionano uno sviluppatore nella scelta della versione Windows Phone da supportare. Il fine è portare a conoscenza degli utenti cosa significa, dal punto di vista dello sviluppatore, supportare una specifica versione di Windows Phone.

Investire nello sviluppo di un’app Windows Phone
Sviluppare un’app è un investimento di tempo e di energie, in termini di studio, di pratica e di litri di caffè. Come è noto, le app WP7 girano anche su WP8, mentre le app WP8 non girano su WP7. Gli scenari possibili sono due:

  • uno sviluppatore che ha già sviluppato app per WP7, oltre ad aver già acquisito la competenza necessaria, sa qual è l’attuale base di installato di ogni sua app (in termini di numero di download, di app vendute, ecc.) e può basare su questo dato la decisione se, e fino a quando, continuare a supportare WP7. Banalmente, dati alla mano, può valutare il rapporto costi/ricavi.
  • uno sviluppatore che inizia oggi a sviluppare per Windows Phone deve valutare e decidere se l’app dovrà essere basata su WP7 (e quindi girare su WP8 senza sfruttare le novità di WP8), solo su WP8 (e quindi non potrà girare su WP7) o supportare entrambe le piattaforme.

Conoscere entrambe le piattaforme ovviamente richiede più impegno. Dopo la fase di apprendimento e di sperimentazione, l’obiettivo dello sviluppatore è minimizzare il tempo necessario per scrivere e pubblicare l’app su cui sta investendo. Che si tratti di un’app innovativa o di un’app che fornisce maggiori o migliori funzionalità rispetto ad altre app già presenti nello Store, più tempo passa e più è probabile che appiano altre app simili o che vengano rilasciate nuove versioni dell’app “target” (quella di cui ha individuato le carenze) che annullino il vantaggio competitivo dell’app che intende pubblicare.

Supportare entrambe le piattaforme
La scrittura del codice per supportare entrambe le piattaforme può avvenire in due modi:

  • gestendo un unico progetto in cui scrivere tutto il codice, differenziando le parti specifiche a WP7.x da quelle per WP8.
  • in alternativa, si possono gestire due progetti distinti, uno per ciascuna piattaforma.

La separazione del codice agevola il compito, ma in entrambi i casi (unico progetto o progetti separati), come si può intuire facilmente, è richiesto un lavoro extra in termini di scrittura, di organizzazione e di manutenzione del codice. Aumenta comunque la complessità. Se lo sviluppatore è un professionista, l’obiettivo è ottenere la remunerazione dell’investimento a breve‐medio termine. Maggiore è la complessità, più tardi inizierà ad essere remunerato l’investimento, e quindi maggiori saranno i costi da coprire.

Ci sono moltissime modifiche a livello di librerie di programmazione tra WP7 e WP8, con comportamenti parzialmente incompatibili o del tutto incompatibili. Tutto ciò rende più complesso la scrittura e il test dell’app. Giusto per farvi un’idea del numero di modifiche introdotte (da considerare e testare se si supportano entrambe le piattaforme) potete dare un’occhiata a questa pagina in inglese.

Numeri alla mano
AdDuplex è una società lituana che fornisce agli sviluppatori Windows 8 e Windows Phone un servizio pubblicitario gratuito e mondiale di interpromozione delle app. Grazie alle circa 3000 app che ad oggi hanno aderito a questo servizio, la società è in grado di monitorare l’evoluzione dei terminali Windows Phone su cui appaiono le inserzioni pubblicitarie.
Secondo le ultime rilevazioni mensili effettuate da AdDuplex nel 2013 il rapporto, a livello mondiale, tra terminali WP7 e WP8 in cui sono in esecuzione app affiliate a AdDuplex si è evoluto in questo modo:

Statistiche AD Duplex

Statistiche AD Duplex

Statisticamente non è un campione enorme, ma è un campione che descrive esattamente la mutazione nell’ecosistema AdDuplex. Il trend è statisticamente significativo. Considerando la riduzione di prezzo dei terminali WP8, di questo passo tra 7 mesi la diffusione dei terminali WP7 sarà ancora più bassa. Trattandosi di un investimento, la domanda dello sviluppatore è: su quale “titolo” è oggi più remunerativo investire? La risposta è scontata, specie nel caso di uno sviluppatore che si avvicina per la prima volta a Windows Phone.

Il fattore hardware
A livello hardware ci sono differenze notevoli tra i terminali WP7 e WP8 che possono condizionare drasticamente le scelte dello sviluppatore (e quindi della piattaforma) in base all’app da realizzare. Un esempio estremo? Per sviluppare un’app WP che mostra l’altitudine senza ricorrere ai segnali GPS è necessario un terminale con sensore di pressione barometrica (in modo da ricavare la stima dell’altitudine dal valore rilevato dal sensore della pressione atmosferica). Ad oggi l’unico terminale WP dotato di questo sensore è il Lumia 1020. Se nell’ambito di un progetto per Windows Phone è specificato (o è implicito) che è necessario fornire questa informazione, e che l’app verrà utilizzata prevalentemente al chiuso, lo sviluppatore non potrà fare affidamento sul GPS: non gli resta che utilizzare il sensore barometrico, ossia proporre una soluzione che funziona solo sul Lumia 1020. È un caso limite, certo, ma la scelta diventa obbligata.

A livello di supporto dell’hardware, altri vincoli imposti dal progetto che possono far propendere la scelta dello sviluppatore verso WP8 sono:

  • dimensione dello schermo
  • quantità di RAM installata (512, 1024 o 2048 MB)
  • capacità di memorizzazione (8/16 o 32 GB)
  • lettura/scrittura di tag NFC
  • versione minima Bluetooth (2.1, 3 o 4)
  • presenza della camera frontale (ad es. per un’app di videochat è essenziale!)
  • specifici sensori (ad es. il giroscopio non è presente sul Lumia 520 che è il modello Lumia più venduto)
  • numero di core della cpu
  • utilizzo della scheda SD esterna per salvare dati (cosa non possibile su WP7)

Si tratta di limiti progettuali oggettivi per l’app da realizzare o semplicemente imposti dal cliente.

A proposito di app e di hardware, il consiglio ufficiale di Nokia riportato sul sito developer.nokia.com recita più o meno così: “Evitate che la vostra app non supporti i dispositivi privi di una certa funzionalità hardware a meno che non sia realmente essenziale per l’operatività dell’app; ciò limiterebbe notevolmente la distribuzione dell’app senza un motivo reale. Piuttosto, su questi dispositivi considerate di sostituire o disabilitare la funzionalità nell’app. Tuttavia, se l’app ha realmente necessità di una funzionalità per operare correttamente, dovrete impedire che l’app sia resa disponibile sul Windows Phone Store per i dispositivi che ne sono privi”.

Anche il linguaggio ha il suo peso
Il codice dell’app che risponde ai comandi degli utenti tramite l’interfaccia grafica, in WP7 viene scritto utilizzando linguaggi come Visual Basic e C#. Con l’avvento di WP8, è possibile scrivere app utilizzando anche il C++. Perché? Oltre ad attirare ulteriori sviluppatori e a facilitare il porting di codice C++ già esistente, C++ è un linguaggio a più basso livello (semplificando, è un bel po’ più “ostico” ma è più potente) rispetto a Visual Basic e a C# e permette al programmatore di ottenere maggiori prestazioni e di esercitare un maggior controllo sui dettagli di ogni operazione. Su WP8 per scrivere app grafiche spinte (giochi e non) che utilizzano DirectX è obbligatorio utilizzare C++. Per WP7 il problema non si pone: l’opzione C++ non è disponibile, e le app WP7 non possono sfruttare questa potenza.

Supporto prodotto e phase out
Quando terminerà il supporto principale per WP 7.8? Nella pagina “ciclo di vita prodotti” pubblicata dal Supporto Tecnico di Microsoft, la fatidica data riportata è il 9/9/2014: tra 8 mesi. Per WP8 invece si arriva al 12/1/2016. Il phase out si inizia ad “annusare” anche nella documentazione tecnica per sviluppatori: il peso di WP8 è ovviamente preponderante, in termini di numero di pagine dedicate alla documentazione, di esempi di codice e di nuovi modelli preconfezionati per lo sviluppo di app Windows Phone.

In sintesi
Lo sviluppatore che ha già pubblicato un’app per WP7 dispone sullo Store dei dati statistici relativi all’app (numero di download, fatturato, ecc.), e pertanto sa, dati alla mano, quando sarà il momento di fermarsi. Per lo sviluppatore che si accinge ora a scrivere app per Windows Phone è la prospettiva di mercato a medio termine il fattore guida: sono i dati attuali e il trend di diffusione l’ago della bilancia.



157 Commenti

  1. ciccio620
    • Alessio (oissela)
    • kevin
      • daniele
        • lollo 820
          • CapoFantasma97
    • lumia 820
      • dave
  2. Furiadicheb
    • Alessio (oissela)
      • Gionata mummia 800
        • Alessio (oissela)
        • Radioactive
          • Tiziano
        • Gianni
      • save Symbian
        • fudo
  3. antonio
  4. demy
    • mordicchio920
    • danny
    • Keeperbugs
      • AB
    • save Symbian
  5. giulio
    • Enrico 91 lumia 620
      • simo1993
    • Maozetung
      • Elatan
    • danny
      • bradipo.925
        • LoreX75
        • ivan
          • LoreX75
  6. Radioactive
    • Gionata mummia 800
    • danny
  7. Audace
    • diegodred
    • Tito
    • tulipanonero90
      • CapoFantasma97
    • alessandro
  8. lollo 820
    • SdT
    • Paolo
      • lollo 820
  9. gas
    • Dafuq
  10. lumiap
  11. LukeDale920
  12. Nicola
    • Elatan
      • Marcuzzo925
        • lumia610
  13. tonio00
  14. cesarino46
  15. mars92
    • samu
      • alessandro
  16. tivi92
  17. luchino
  18. Serban
  19. samu
    • gianJJ
  20. GeordieLumia920
  21. riki_620
    • GeordieLumia920
  22. Francesco
    • hesh
  23. Krusty
    • lumiap
  24. Pietro
  25. A.
  26. TheMortazz
    • lore(lumia 625)
    • Krusty
  27. jackcicci
  28. cosimo 820
    • VespinoPolini620
    • eliseo 920
  29. o.t79
  30. VespinoPolini620
  31. valerio.sic97
  32. samuel
  33. damicricio
  34. david
  35. ale
    • giulio
      • ale
  36. michele
  37. michele
  38. Matteo
  39. cippolumia920
    • save Symbian
  40. Ivan Reato
  41. leokime94
    • aston771
    • leokime94
      • TheMortazz
        • ale
  42. Davide
    • TheMortazz
  43. Eddyufo
  44. raul
    • hesh
      • CapoFantasma97
        • hesh
  45. giubi
  46. save Symbian
  47. Emiliano
    • raul
  48. save Symbian
    • Sax
      • save Symbian
        • danny
  49. ale
  50. ale
  51. roby045
    • hesh
  52. simon34 Lumia 520
  53. kekko
  54. michele
    • Nicola P.
  55. manco luigi
  56. Mauro
  57. wolf
    • Gianni
      • save Symbian
        • hesh
  58. Donilson
  59. Mauro
    • andre
    • Matteo
  60. cippolumia920
  61. luchino
  62. luchino
  63. Chuck Norris
  64. MARIODEPA
    • ciccio620
  65. David
  66. Alessandro
    • MARIODEPA
      • Alessandro
  67. pietro
  68. Andrea lumia 620
  69. Anthony
  70. cippolumia920
    • MARIODEPA
      • cippolumia920
  71. antonio
  72. Romen~~~~
  73. frenk
  74. ale
  75. ale
  76. clodboy
    • Alessio (oissela)

Aggiungi un commento

Ricevi un avviso se ci sono nuovi commenti. Oppure iscriviti senza commentare.