Perchè gli
sviluppatori preferiscono Windows Phone 8 al
7.x? Sono in molti gli
utenti che possiedono un
device Windows Phone 7.x che rimangono
delusi all’arrivo di
un’app oppure di un
utility e finanche un
gioco per il semplice fatto che il loro pur sempre
avanzato smartphone non è
compatibile al
software disponibile!
Appare evidente che gli
sviluppatori preferiscono rilasciare
applicazioni,
utility e
giochi per la
piattaforma Windows Phone 8, trascurando non poco la
versione 7.x, ed i
motivi sono tanti del perché questa loro reticenza riguardo la
piattaforma WP7.x: proviamo dunque ad esaminarne soltanto qualcuna, alfine di farci un’idea chiara di questo loro atteggiamento e soprattutto capirne il motivo.
Alla base di tutto c’è
l’investimento di tempo ed energie che sono le
componenti basilari per potere
sviluppare un’app 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:
 |
| Windows Phone store |
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.
 |
| Dati statistici |
Numeri alla manoAdDuplex è 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:
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 hardwareA 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 sintesiLo
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.