Diciamo che hai bisogno di realizzare applicazioni per dispositivi mobili sia per il sistema operativo Android che per iOS. Qual è il miglior approccio di sviluppo del software?
Potresti sviluppare due applicazioni native. Avvalendoti dell'ausilio di API native e linguaggi di programmazione specifici per il sistema operativo, puoi realizzare un'applicazione potente. La maggior parte delle applicazioni aziendali, specialmente quelle che richiedono un notevole traffico di API, traggono beneficio dello sviluppo nativo.
Se decidi di sviluppare applicazioni native una alla volta, probabilmente vorrai iniziare con Android, per alcune delle stesse ragioni per cui gli sviluppatori di applicazioni indipendenti spesso si concentrano su Android. Probabilmente il processo risulterà più fluido se sviluppi l'applicazione completa come MVP su Android e poi la converti e ottimizzi per iOS dopo il rilascio.
Dovrai ancora fare il debug e riscrivere il codice per il linguaggio nativo e riprogettare l'interfaccia utente front-end, perché i due sistemi operativi funzionano in modo molto diverso, rendendo impossibile il funzionamento multipiattaforma.
Allora, perché non cominciare completamente da zero? Anche se non si può semplicemente convertire il codice in un nuovo linguaggio di programmazione, gran parte del back-end può essere replicato tra le piattaforme. Framework, librerie ed estensioni di terze parti spesso funzionano in modo identico in entrambi gli ambienti, permettendoti di evitare costose rielaborazioni. Puoi anche utilizzare un servizio cloud per dispositivi mobili predefinito, come IBM Mobile Foundation, per gestire il back-end web.
Un'altra opzione è quella di scegliere l'ibrido, adottando un approccio "write-once-run-anywhere" (scrivi una volta, esegui ovunque). Le applicazioni ibride usano una singola base di codice che può funzionare su entrambe le piattaforme. Sono tipicamente codificate in un linguaggio di programmazione universalmente riconosciuto, come Java, JavaScript, HTML o CSS. Dato che ti viene negato l'accesso alle API native del sistema operativo, lo sviluppo di applicazioni per dispositivi mobili ibride funziona meglio per semplici applicazioni web, applicazioni per dispositivi mobili di tre o quattro pagine con funzionalità limitate.