Devo usare Swift o Objective-C per imparare lo sviluppo di app per iOS?
Pubblicato: 2017-02-04Non è sempre facile decidere se utilizzare Objective-C o Swift per un progetto poiché ci sono enormi fattori che devono essere considerati ogni volta che si avvia un nuovo progetto. Discutere su questo argomento in quanto è la domanda più comune posta dalla maggior parte degli studenti di sviluppo di app iOS.
La scelta di un linguaggio giusto e più appropriato dipende dal contesto e dalle preferenze del progetto e del team, dalla fedeltà a un linguaggio di programmazione. Invece di far oscillare la bandiera di Objective-C o Swift, stiamo considerando tutti gli aspetti di un progetto che punta a una lingua rispetto all'altra come l'ambito del progetto, la scala, la composizione del team e le considerazioni tecniche.
Nell'anno 2014, Apple ha rilasciato un nuovissimo linguaggio di programmazione Swift che ha colto di sorpresa l'intera comunità. Negli ultimi 2 anni, il core team di Swift si è ripetuto rapidamente, rilasciando numerose versioni del linguaggio con grande gioia e shock della comunità.
Per gli sviluppatori esistenti, Swift ha implicazioni interessanti e ha anche introdotto un po' di complessità per i nuovi arrivati che desiderano imparare lo sviluppo di iOS. È una buona opzione per tutti gli sviluppatori, che già conoscono lo sviluppo di Mac o iOS e vogliono imparare - e aiutare a plasmare - una nuova lingua.
Tuttavia, ci sono numerosi sviluppatori, che volevano solo sperimentare, non vogliono ottenere un lavoro da sviluppatore iOS e non si preoccupano di affrontare bug extra mentre stanno imparando perché forse anche loro sono interessati ad impararlo.
Perché dovresti imparare Swift?
Per chiarire le basi della programmazione, Swift è un linguaggio molto più semplice con cui lavorare, mentre Objective-C ha più di 30 anni e viene scritto in un momento in cui è stato necessario fare diverse considerazioni su come abbiamo interagito con i computer.
Tutti questi fattori sono estremamente importanti da conoscere e comprendere oggi in quanto possono rendere scoraggiante l'apprendimento delle basi della programmazione. Inoltre, le basi della programmazione sono molto più semplici da comprendere con Swift rispetto a Objective-C. Diamo un'occhiata ai diversi motivi per cui dovresti imparare Swift?
Sicuro
Al momento del lancio di Swift, Apple ha affermato che è sicuro, moderno e potente, mentre il modernismo e la potenza di un linguaggio di programmazione significano poco per un principiante assoluto e la sicurezza è principalmente importante.
La cosa più difficile è non sapere cosa è andato storto quando si impara a programmare. Bene, ci sono numerosi vantaggi nel capirlo da te stesso e imparare da esso; tuttavia, la mancanza di feedback adeguati può scoraggiare alcuni.
Usando Swift, puoi prevenire l'insorgere di un'intera categoria di errori o errori e informarci in modo iterativo su ciò che stiamo facendo di sbagliato. In aggiunta a questo, Swift è molto più sicuro e ti avvantaggia rendendo la tua esperienza di scrittura del codice meno frustrante.
Ambiente altamente interattivo
Oltre a Swift, Apple rilascia anche due ambienti di codifica più interattivi, aiutando i principianti a imparare a programmare. C'è Xcode Playgrounds che è un ambiente per aiutare tutti i principianti a imparare a programmare.
C'è Xcode Playgrounds che è l'ambiente e fa parte di un'app per Mac chiamata Xcode e ti consente di imparare ed esplorare Swift, prototipare parti della tua app e sviluppare ambienti di apprendimento per gli altri.
Puoi anche trovare un'app per iPad chiamata Swift Playgrounds, che offre lo stesso ambiente interattivo di Xcode Playgrounds, ma in un modo molto più investigativo, che ti consente di utilizzare l'hardware del tuo iPad.
La cosa migliore di Swift è che è molto più coinvolgente di qualsiasi altro e fornisce un feedback immediato, rendendo l'intero concetto facile da imparare. Questo tipo di ambiente non è interessante per Swift, ma Apple sta facendo cose meravigliose con l'app per iPad, rendendo facile l'apprendimento per tutti i principianti.
Moderno
Swift è il linguaggio altamente moderno che viene fornito con aspetti ricchi, consentendo ai principianti di leggere e scrivere facilmente rispetto a Objective-C. Sul web puoi vederlo scritto e non importa perché tutto è molto più semplice da comprendere una volta che hai avuto abbastanza esperienza con esso.
Non è facile capire i concetti senza inciampare nella lettura del codice. Non avrai i tuoi programmi in crash perché hai dimenticato un punto e virgola alla fine della riga.
Queste sono cose minori una volta che ci si abitua; tuttavia, sono certamente utili che Swift porta in tavola per i principianti. Swift è molto moderno e abbasserà la recinzione per l'ingresso di molte persone, rendendo molto semplice concentrarsi sui concetti.
In breve, l'apprendimento e la comprensione delle basi della programmazione che è il primo passo nel tuo viaggio per imparare lo sviluppo di iPhone. Il modernismo e la sicurezza forniti dalle lingue contribuiscono tutti ad abbassare la barriera all'ingresso.
Perché imparare l'Obiettivo-C?
A poco a poco, la risposta cambierà con il passare degli anni e Swift farà più strada nella comunità; tuttavia, c'è solo una cosa da sapere su Objective-C poiché è stato il linguaggio di fatto per lo sviluppo di iOS per circa 10 anni. Inoltre, se vuoi diventare uno sviluppatore MacOS, Objective-C è stata la prima scelta sin dagli anni '80.
In breve, tutto nell'SDK iOS è stato sviluppato in Objective-C e funziona in modo eccellente con il modello di programmazione Objective-C. Sebbene tu stia scrivendo codice in Swift, interagirai con i componenti tutti scritti in Objective-C. Le librerie e i framework di terze parti si trovano principalmente in Objective-C poiché Objective-C esiste da molto più tempo.
Inoltre, la devastante maggioranza delle risorse di apprendimento come post di blog, libri, video di conferenze e altro, sono tutte in Objective-C; quindi, se chiedi aiuto a Internet per qualche problema misterioso, ci sono alte probabilità di leggere il codice Objective-C. La community di Swift è appassionata e ci sono numerose risorse in Swift, quindi non pensare che avrai difficoltà a chiedere aiuto.

Se hai deciso di essere uno sviluppatore iOS serio, è importante leggere e scrivere anche il codice Objective-C. Il motivo principale alla base di ciò è che se ottieni un lavoro come sviluppatore iOS o ricevi un progetto precedente, tutto il codice verrà scritto in Objective-C.
Tuttavia, gli strumenti che stiamo utilizzando per lo sviluppo di iOS non sono ottimizzati per Swift e sta arrivando, ma questi strumenti sono di gran lunga migliori con Objective-C. Per la maggior parte delle aziende, Objective-C rimane il linguaggio di sviluppo preferito.
È necessario imparare entrambe le lingue?
Apple, un'azienda leader, non ha rilasciato una nuova lingua solo per divertimento. L'azienda ha rilasciato questo nuovo linguaggio da parte del team principale e lo sforzo per promuovere l'adozione nella comunità e fornire un'indicazione chiara.
L'azienda vede questo linguaggio di fascia alta come il futuro delle sue piattaforme. L'obiettivo principale del linguaggio Swift è di estendersi oltre lo sviluppo di iOS e lavorare bene con Swift lato server.
Se hai deciso di far parte di questa community a lungo termine, Swift diventa il tuo linguaggio di sviluppo principale. Indipendentemente dall'adozione di Swift, Objective-C non sta ancora andando da nessuna parte. L'azienda sta ancora cercando di apportare molti miglioramenti alla lingua.
È possibile scrivere applicazioni completamente in Swift; tuttavia, c'è un'alta probabilità che tu debba immergerti occasionalmente in Objective-C. Assicurati di essere consapevole del fatto che stai arrivando a questo come principiante, che è la parte piuttosto difficile dello sviluppo di iOS. Una volta acquisita familiarità con un linguaggio di programmazione, non sarà difficile per te impararne un altro.
Mentre scegli tra Objective-C e Swift, cerca considerazioni tecniche
Entrambi i linguaggi Objective-C e Swift hanno ottenuto vari vantaggi tecnici. Di seguito, puoi trovare i fattori che dovresti considerare in mente.
Runtime della lingua
Sai che il runtime di Objective-C è più robusto del runtime di Swift? Il tempo di esecuzione di Swift è persino vicino a quello di Objective-C e non sarà possibile nemmeno per anni. Se hai deciso di scrivere codice che trarrà vantaggio dalla riflessione e dalla profonda introspezione di oggetti e tipi, Objective-C è un gioco da ragazzi.
Stabilità del codice
Swift è un linguaggio di programmazione più sicuro di Objective-C grazie al suo potente sistema di digitazione e alla gestione degli errori. Se stai seguendo Swift idiomatico, hai la garanzia che il tuo codice tiene conto di tutti i potenziali casi di errore.
Non significa che catturi tutto. Un memory escape da un ciclo di conservazione è un esempio di errore, che è ugualmente diffuso nel codice Swift come Objective-C. È perché il sistema di conteggio dei riferimenti involontario di Swift è immobile.
Supporto per gli utensili
L'intero team di Xcode ha svolto un lavoro incredibile aggiornando il processo di compilazione per supportare Swift. Il team ha dovuto occuparsi dell'applicazione di un linguaggio complesso e del suo supporto nel lavorare con un linguaggio molto diverso. Viene fornito con la piccola sorpresa che l'IDE stesso è in ritardo e il supporto degli strumenti per Swift è minimo.
A volte, puoi essere fortunato ad ottenere l'evidenziazione della sintassi. Molte volte, andrai senza il completamento automatico. Se sei uno di quelli a cui piace il solido supporto fornito dagli IDE moderni, assicurati di considerare di attenersi a Objective-C o di valutare IDE alternativi. L'alternativa più comune è AppCode; tuttavia, c'è qualcuno che ha una giusta configurazione per emacs.
Utilizzo delle API Foundation
L'applicazione che hai pianificato di realizzare utilizzerà le API di base principali, dovresti utilizzare Objective-C. È vero che Swift offre alcuni meravigliosi wrapper e rende la gestione della memoria un po' più agevole; tuttavia, si tratta ancora di API C e chiamate di funzione basate su C che si adatteranno in modo più naturale alla base di codice di Objective-C.
Usa il codice C++
Allo stesso modo delle API di base, puoi utilizzare le librerie C++ o sviluppare su un SDK C++ multipiattaforma poiché si presterà a un progetto Objective-C. Non sarai in grado di importare C++ nei file Swift.
Per utilizzare Swift, devi svolgere il compito noioso e pieno di bug di creare classi wrapper di Objective C e C++. Ogni volta, avrai bisogno di collegamenti e sovraccarico aggiuntivo e vorrai usare un'altra parte di una libreria C++. Objective-C è un'opzione giusta se hai intenzione di usare C++.
A prova di futuro
Sai che i progetti più a prova di futuro sono quelli scritti in Swift? L'utilizzo di Swift è stato ampliato per essere utilizzato per i terzi progetti open source Cocoa. Nei prossimi quattro anni sarà pari all'Obiettivo-C. Inoltre, la maggior parte di tutti i nuovi tutorial e blog vengono già scritti in Swift.
Crediamo fermamente che entro 5-10 anni dovrebbero esserci informazioni sufficienti su Swift per confutare l'obbligo di comprendere l'Obiettivo-C. Avrai abbastanza tempo per convertire il tuo codice prima che Objective-C scompaia; quindi, puoi tenerlo per il pensiero.
Concludendo
Quindi, questi sono i fattori più comuni che gli sviluppatori devono considerare quando decidono tra Objective-C e Swift per lo sviluppo di app per iOS. È possibile che il tuo progetto comprenda considerazioni aggiuntive, che normalmente non vengono affrontate dalla maggior parte delle app. Tuttavia, se stai cercando uno sviluppatore iOS esperto, che abbia competenza sia in Objective-C che in Swift, puoi metterti in contatto con la società di sviluppo di app per iPhone.