Dovrei usare Swift o Objective-C per imparare lo sviluppo iOS?

Aggiornamento 9-21-16

Woah! Sono successe così tante cose negli ultimi anni da quando ho scritto la mia risposta originale. Volevo venire qui e dare un aggiornamento.

In questo momento, la mia risposta ha girato di 180 gradi e credo fermamente che le nuove applicazioni dovrebbero usare Swift. Ci sono alcune eccezioni a questa regola (come tutte le regole), ma voglio prima spiegare le mie ragioni per favorire Swift.

  • In primo luogo, il compilatore Swift è stabile e abbastanza completo per essere usato giorno per giorno senza molti problemi. Certo, ci sono ancora dei problemi, ma sono molto meno numerosi e più distanziati rispetto al passato.
  • Secondo, Swift è semplicemente un grande linguaggio! Il sistema dei tipi è di supporto, ma non se ne sente il peso da nessuna parte. Non solo, gli errori del compilatore stanno diventando sempre migliori. Anche se a volte sono noiosi, questi errori in media portano ad un debug più veloce e ad uno sviluppo più rapido.
  • Infine, Swift è dove il mercato sta andando. Vedo sempre più spesso i nostri ex allievi ottenere interviste in Swift piuttosto che in Objective-C. Non solo, la comunità ha completamente abbracciato l'uso di Swift, e tutte le nuove caratteristiche costruite dalla comunità arrivano prima in Swift.

Ho alcune eccezioni alla mia regola di usare Swift. Ci sono ancora alcune situazioni in cui Objective-C brilla:

  • Se avete bisogno di interagire con una vecchia libreria C/C++, Objective-C è semplicemente molto meglio.
  • Se state facendo una **tonnellata** di lavoro video o audio. Questo può essere fatto al 100% con Swift, ma trovo che queste librerie iOS siano un po' vecchie e scadenti e si prestano meglio all'Objective-C.

A Flatiron School, siamo giunti a questa conclusione qualche mese fa e abbiamo lavorato senza sosta per tradurre il nostro intero programma per sviluppatori iOS di NYC in Swift e per lanciare un corso gratuito di Swift online. Date un'occhiata: Swift: Costruire applicazioni iOS. Swift è un linguaggio davvero straordinario; dovresti provarlo.

Risposta originale del 2014:

In breve, no. Ogni base di codice attuale sarà objective-c. Ogni attuale libreria di terze parti è objective-c. Non è necessario conoscere objective-c per imparare swift, ma aiuterà molto. Conoscere objective-c sarà cruciale per almeno i prossimi sei mesi o un anno. Troverete sempre dei modi per ritardare l'apprendimento di qualcosa. Togliete Swift dall'equazione.

Grazie al cielo, imparare objective-c vi aiuterà immensamente con Swift. Gran parte della programmazione iOS è semplicemente imparare i framework. Anche se la sintassi cambia da Obj-C a Swift, le proprietà, i metodi e tutto il resto di questi framework è coerente. Infine, la maggior parte del materiale di apprendimento per Swift presuppone che conosciate già Objective-C e ci sono volutamente molti parallelismi tra Objective-C e Swift. Imparate Objective-C, poi quando ne avrete bisogno, imparate Swift. Sarà dannatamente facile imparare la seconda lingua.

Impara Objective-C ora. Se volete un po' di aiuto con Objective-C, ho messo insieme alcune risorse alla Flatiron School Pre-work per la mia classe alla Flatiron School. Speriamo che ti aiutino.