Qual è il modo più semplice per sviluppare un’app per Android e iPhone, allo stesso tempo?

Un'app economica e con una sorta di performance? Il framework di sviluppo multipiattaforma che si adatta meglio. (Scegliere solo uno che sembra carino, o uno che ha buone recensioni, o uno che ti piace, potrebbe non darti un framework che può sviluppare l'app che vuoi sviluppare)

Una buona app sviluppata correttamente? Non si fa così. Sviluppate comunque l'app in inglese, quindi iniziate con quello. (Lo sviluppo del software non è digitare codice in un computer, è pensare a come risolvere il problema che la tua app risolverà). Poi la codifichi per funzionare in qualsiasi ambiente in cui lavorerà. L'API, i suoi argomenti e il suo ritorno sono parte dell'ambiente tanto quanto lo è il linguaggio di programmazione.

Tutto ciò di cui avete bisogno perché un'app cada a pezzi è che il framework che avete scelto non abbia un modo per eseguire una particolare funzione in un ambiente o nell'altro - allora si torna al tavolo da disegno per risviluppare l'app (che è molto più difficile che svilupparla in primo luogo).

Semplice esempio - ho progettato un programma per agire come front end (un sistema operativo primitivo prima che ci fossero sistemi operativi) su un 8080, usando un'istruzione "compare". Poi ho dovuto farlo funzionare su un 8049. Non c'è un'istruzione "compare" in un 8049. (Ci sono voluti pochi minuti per capire come aggirare la cosa - perché avevo capito il funzionamento dell'8049, e perché, a quel punto, avevo circa 12 anni di esperienza di sviluppo. Avevamo un programma che girava sul PC IBM (nel 1985, c'erano altri PC) che dipendeva dal fatto che l'input seriale era guidato da interrupt, così potevamo scrivere un TSR (un piccolo pezzo di codice che sarebbe rimasto residente nella RAM) per catturare l'input della porta seriale e trattenerlo fino a quando eravamo pronti a leggerlo. (Era una porta a un byte - quando arrivava il byte successivo, il byte precedente veniva cancellato). Un cliente voleva comprare il programma (che era piuttosto costoso, e usato per un'apparecchiatura molto più costosa) sul suo Apple ][, dato che non voleva spendere i soldi per un PC. (Sta comprando un'attrezzatura del valore di 30.000 dollari, ma non ha voluto spendere i 1.200 dollari per un PC, o 800 dollari per altri desktop che avrebbero funzionato). Così ho dovuto far funzionare il programma su un Apple ][ - che non usava una porta seriale ad interrupt e non aveva alcun mezzo per gestire un TSR. Ma Applesoft (Apple floating point BASIC) aveva un'istruzione Varptr, così potevo definire una stringa con le istruzioni del codice macchina per prendere l'input seriale quando arrivava, e aggiungerlo ad un'altra stringa - e ottenere l'indirizzo di quella prima stringa, così potevo metterla nella RAM - e avrebbe funzionato come parte del programma BASIC.

Ma questo è quello che si ottiene con un programma "one size fits all". Non lo fa, devi risviluppare il programma. Quindi potresti anche farlo dall'inizio, perché non hai idea di cosa stia facendo la tua app nel codice del framework, a meno che tu non passi mesi ad imparare ogni byte del framework. E il tuo lavoro è scrivere un'app, non imparare un framework, quindi perché aggiungere altro lavoro?

Impara Java/Kotlin, impara Swift, sviluppa la tua app (assicurandoti di avere un iPhone ultimo modello con almeno iOS 12, e un telefono Android ultimo modello con almeno Pie - così puoi assicurarti che il telefono possa fare quello che vuoi - non tutti i telefoni hanno, diciamo, gli IR Blaster), codificala in Java/Kotlin per Android, poi codificala in Swift per iPhone.

Sviluppare l'app è il grande lavoro, codificare è un paio di giorni (una volta che hai imparato la programmazione, e una volta che hai familiarità con entrambi i linguaggi).

Oh - se non hai ancora imparato la programmazione - qualcosa come Algoritmi+Strutture di dati=Programmi di Wirth - non sei pronto per sviluppare un'app. Lo sviluppo di un'app - a meno che tu non voglia sviluppare la 138esima versione della stessa app che è in circolazione da 5 anni - non è codificare e non è trascinare componenti sui moduli. Questo è imparare una parte molto piccola dello sviluppo di un programma. Impara prima la programmazione - sarai uno sviluppatore molto migliore, e una persona molto più felice.

E se hai intenzione di usare un database, impara SQL, dato che il database sarà un database SQL.