Quote:
Originariamente inviato da mauriziofa
Sui pc continuerebbe a funzionare tranquillamente ma, e qui sorge il problema, dovresti avere la gestione di 2 piattaforme di sviluppo, l'attuale solo per desktop mantenendola (quindi costi di gestione), la seconda solo per tablet e smartphone dalla quale ricavi dei soldi perchè inserita in un marketplace.
|
L'alternativa più conveniente a quel punto diventa usare librerie e tool multipiattaforma.
Sul serio.
Io attualmente, quando possibile, sviluppo usando Qt e C++/javascript/qml.
Attualmente i target principali sono Windows "desktop" e Windows CE 5.0 e 6.0.
Ho una sola base di codice ed il debug principale riguarda Windows "desktop", poi si ricompila per le versioni embedded, si fanno i test per le limitazioni specifiche di quei device (principalmente la ram) e si è a posto.
Quando uscirà Windows 8, in azienda aggiungeremo l'UI metro come target (quelli di Digia hanno già il supporto per Metro in Beta) e nel frattempo stiamo iniziando a supportare anche Android usando la versione alpha di Qt per Android (dove l'etichetta di versione alpha riguarda più i tool di sviluppo che il port di Qt).
Il grosso del codice è portabile da un target all'altro, le parti dipendenti da UI e S.O. sono per la maggior parte "incapsulate" da Qt e per le dipendenze rimanenti da hardware/S.O./piattaforma ci vuole uno sforzo minimo.
Si, quelli che sono abituati a sviluppare per una sola piattaforma spesso hanno l'equivalente di uno shock post-traumatico al solo pensiero di supportare più piattaforme, ma alla lunga ci si guadagna sia in termini pratici che mentali.
Il motivo principale è che Microsoft, Apple, Google, ecc. ecc. anche se forniscono il S.O. ed i tool alla fine sono dei vostri concorrenti in senso esteso (quello che va bene per loro non necessariamente è il vostro bene), "ridurre la dipendenza da fornitori" porta quindi molti benefici, specialmente da quando Microsoft si è messa a far inutilmente bimbominkiate con le API ed i tool di sviluppo per legare più a se gli sviluppatori esterni.