Sono anche abbastanza nuovo nello sviluppo mobile, ma ho trovato il seguente fatto (che è abbastanza logico, ma un po 'deludente, i colleghi più esperti potrebbero correggermi): questo è business , e ciascuno il venditore vuole mantenere gli utenti nelle loro mandrie, vogliono vendere i gadget a loro alla fine.
Vogliono davvero che gli sviluppatori lavorino sulle loro piattaforme, ma a loro non piacciono (meglio: non mi piace) le applicazioni multipiattaforma. Vogliono che gli utenti amano i loro prodotti, in particolare le caratteristiche distintive delle versioni sempre nuove, e utilizzano le nostre applicazioni come il loro vantaggio sul mercato ... Perché sulla Terra dovrebbero sostenere la creazione di cose multi-piattaforma? : -)
Ovviamente quella è una nicchia, e ci sono diversi toolkit multi-piattaforma, google ha lanciato questo riepilogo e stackoverflow ha un altro buon inizio . Dovresti controllare cosa offrono per la persistenza dei dati. Pro: hai il "e". Contro: Suppongo che offrano sempre un po 'meno su ogni piattaforma rispetto a quella disponibile nello sviluppo nativo, e naturalmente lo imparerai come "piattaforma" ...
Il risultato: invece di bloccare su iOS o Android, si blocca il toolkit selezionato con il proprio codice e (cosa ancora più importante): la vostra esperienza. Il toolkit può andar bene e offrire il prezioso "AND", ma ... se devo indovinare quale esperienza sarà premiata di più e quale compagnia esisterà più a lungo, scommetterei su Google e Apple, non su "TheNthBestMobileMultiPlatformToolCompany" ...
I miei 2 centesimi: se scegli cosa imparare ora e non hai troppa esperienza di programmazione (intendo anni di seria), seleziona iOS.
Questo è un massiccio ambiente, il meglio che ho incontrato negli ultimi ventuno anni. Sì, è limitante. Sì, è costoso (ma puoi iniziare a lavorare gratis con un piccolo trucco). Ma se lo impari, impari concetti molto buoni e stabili (come i Core Data), e se lo impari, hai più possibilità di essere pagato bene per questo. Oops, un altro contro: la strana sintassi dell'Object C. È relativamente facile passare da diversi dialoghi di script Java, C, mentre Objective C è davvero ... ehm ... speciale, e se devi spostarti da esso giorno, potrebbe essere più difficile.
Con Core Data non vedrai SQL, ma ciò che è più importante: avrai un ambiente che ti aiuta a progettare la tua struttura dati e si preoccupa della persistenza, delle transazioni, del binding della GUI, della gestione delle relazioni, ecc. con un deve leggere il riferimento , buoni tutorial e una guida web utilizzabile come Cocoa Dev Central o portale Ray Wenderlich . Ci vorrà del tempo per trovare una situazione in cui Core Data fa schifo , e anche lui dice che ha colpito il 5%, e per il resto va bene.
Per il memo: non mi piace personalmente iOS, e attualmente lo faccio al mio modo di ottenere quello che voglio da esso (andando contro i documenti a volte) ma "dare credito quando il credito è dovuto". La mia opinione è che il vero sviluppo multipiattaforma (intendo: non usare un toolkit , che è praticamente un'altra piattaforma unica che promette più possibili acquirenti, ma crea i tuoi strumenti e concetti ) è per maniaci ossessionati. Incluso me. ; -)