Kuinka tulla iOS-kehittäjäksi vuonna 2021 - Lopullinen opas

Tässä artikkelissa käyn läpi, mitä uskon, että se vaatii tulla iOS -kehittäjäksi vuonna 2021. 

Tavoittelen tätä suoraan kahta ihmisryhmää, absoluuttisia Swift-aloittelijoita-ihmisiä, jotka eivät ole koskaan rakentaneet mitään iOS: lle ennen-ja niin sanottuja vääriä aloittelijoita-ihmisiä, jotka ovat yrittäneet oppia Swiftin aiemmin, mutta eivät ole koskaan saavuttaneet tavoitettaan saada kokopäivätyö.

Ottaa huomioonless nykyisellä tasolla, tavoite on sama. Jotta voit hakea nuorempaa iOS -kehittäjäroolia yrityksessä.

Tarkastelemme taitoja, joita sinun pitäisi oppia, kursseja, joita voit suorittaa, kuinka muodostaa yhteys yhteisöön, yleisiä virheitä, joita ihmiset tekevät ja paljon muuta. 

Mikä parasta, kaikki, mistä keskustelen, on täysin ilmaista, joten sinun ei tarvitse maksaa penniäkään seurataksesi.

Vakavasti, aivan liian monet ihmiset uskovat, että suuren rahan käyttäminen saa heidät nopeasti kohti unelmatyötä, kun tärkeimpiä tekijöitä ovat päättäväisyys ja tahdonvoima. 

Tässä on vihje: jos olet jo ajatellut hypätä eteenpäin tässä artikkelissa, sinun pitäisi luultavasti työstää tahdonvoimaasi!

Tämä artikkeli on jaettu seitsemään osaan:

  1. Perustaidot, jotka sinulla on oltava saadaksesi töitä.
  2. Laajennustaitoja, jotka ovat mukavia - ne, jotka erottavat sinut joukosta, jos yrität oppia niitä
  3. Yleisiä virheitä, joita ihmiset tekevät yrittäessään oppia.
  4. Monet ilmaiset resurssit, jotka auttavat sinua oppimaan Swiftin.
  5. Kuinka ottaa yhteyttä iOS -kehitysyhteisöön
  6. Arvio siitä, kuinka kauan tavoitteesi saavuttaminen kestää.
  7. Olet valmis hakemaan ensimmäistä työpaikkaa.

Perustaidot, jotka vaaditaan iOS-kehittäjäksi tulemiseen

Perustaidot, jotka vaaditaan iOS-kehittäjäksi tulemiseen

Mitkä ovat ehdoton vähimmäistaidot, jotka vaaditaan iOS-kehityksen työpaikan saamiseksi? 

Uskon, että niitä on yhteensä viisi:

  1. Nopea 
  2. SwiftUI 
  3. Networking
  4. Tietojen käsittely
  5. Versioiden hallinta

Luetteloa pidetään tarkoituksella lyhyenä useista syistä:

Mitä enemmän opit, sitä enemmän ymmärrät, että opittavaa on, joten on helppo viettää niin paljon aikaa opiskeluun ja harjoitteluun, että menetät näkyvistä päätavoitteen.

Haluat työskennellä iOS -kehittäjänä, älä vain istua uusien asioiden parissa!

On melkein varmaa, että liityt tiimiin, jolla on jo sovellus, jonka he haluavat sinun auttavan kehittämisessä, joten unless olet erittäin onnekas, heidän on opetettava sinulle koko joukko asioitaless.

Jos yrität laittaa koko joukon ylimääräisiä aiheita etukäteen, tuhlaat todennäköisesti aikaasi.

Kaksi näistä viidestä asiasta ovat valtavia ja monimutkaisia, ja voit viettää kuukausia vain yrittäessäsi kääriä päätäsi niiden ympärille uskaltamatta mihinkään muualle.

Mikä tärkeintä, jos saat nämä viisi asiaa oikein, voit luoda monenlaisia ​​sovelluksia. Toki koodisi ei ole täydellinen, mutta se on okei, koska ainoa tapa kirjoittaa hienoa koodia on ensin kirjoittaa paljon huonoa koodia.

Haluan jakaa viisi kohdetta pienemmiksi paloiksi.

Swiftin oppiminen

Swift on listan ensimmäinen. Tämä on Appleydin ohjelmointikieli. Se ei käsitä tietojen näyttämistä iPhonen näytöllä tai tietojen lataamista Internetistä. 

Se on yksinkertaisesti JavaScriptin tai Pythonin kaltainen kieli. Se on vain puhdasta koodia, jota käytät muuttujien luomiseen, funktioiden kirjoittamiseen ja niin edelleen.

Swift on vain muutaman vuoden vanha, joten se hyödyntää lähes kaikkia saatavilla olevia huippuluokan kielitoimintoja. 

Toisaalta tämä tarkoittaa sitä, että voit välttää kaikki rapeat vanhat käyttäytymistavat, jotka ovat yleisiä vanhemmilla kielillä, kuten C ++ ja Java. Se tarkoittaa myös, että siinä on joukko kehittyneempiä ominaisuuksia, jotka voivat aluksi järkyttää mieltäsi.

Ja se on hyvä. Monet Swiftin osat ovat suhteellisen yksinkertaisia, kun taas toisten ymmärtäminen kestää kauemmin, joten vie aikaa ja sinnikkyyttä - pääset perille!

SwiftUI

Toinen mainitsemani ydintaito on SwiftUI, joka on Apple kehys, jonka avulla voimme käyttää Swiftiä sovellusten luomiseen iOS: lle, macOS: lle, tvOS: lle ja jopa watchOS: lle. 

Joten vaikka Swift on ohjelmointikieli, SwiftUI tarjoaa työkalut kehittäjät voivat luoda sovelluksia, kuten kuvien, tekstin, painikkeiden, tekstilaatikoiden, tietotaulukoiden ja muiden näyttäminen. 

Selvyyden vuoksi SwiftUI ei korvaa Swiftia - se on Swiftin päälle rakennettu kehys, jonka avulla voimme luoda sovelluksia. Sinun on tunnettava sekä Swift että SwiftUI onnistuaksesi.

Jos luulit Swiftin olevan uusi, et ole vielä nähnyt mitään! 

Sikäli kuin voin kertoa, SwiftUI on vasta kaksi vuotta vanha! Nuoruudestaan ​​huolimatta iOS -yhteisö on omaksunut sen koko sydämestään, koska sitä on niin helppo käyttää.

Apple Sillä on myös vanhempi kehys iOS -sovellusten rakentamiseen nimeltä UIKit, ja jos kysyt joukolta ihmisiä, pitäisikö sinun ensin oppia SwiftUI tai UIKit, saat erilaisia ​​vastauksia. 

Mielestäni sinun pitäisi oppia SwiftUI.

Joten jos ihmettelet, tästä syystä mielestäni sinun pitäisi priorisoida SwiftUI ydintaidoksi.

Se on huomattavasti helpompaa kuin UIKit, ja tarkoitan merkittävästi - kuluu ehkä neljäsosa koodista saavuttaakseen samat tulokset kuin UIKit, ja opittavaa on vähemmän matkan varrella. 

Tämä tarkoittaa sitä, että saat paljon vauhtia, koska voit rakentaa asioita nopeammin, nähdä tulokset nopeammin ja toistaa tuloksia nopeammin, mikä on erittäin motivoivaa oppimisen aikana.

Luotu Swiftille

Luotu Swiftille

SwiftUI luotiin Swiftille, ja se käyttää kieliominaisuuksia, jotka auttavat sinua välttämään ongelmia ja saavuttamaan parhaan mahdollisen suorituskyvyn. 

Jos esimerkiksi muutat joitakin tietoja sovelluksen yhdellä näytöllä, SwiftUI varmistaa automaattisesti, että uudet tiedot päivitetään kaikkialle muualle sitä käyttävään sovellukseesi – sinun ei tarvitse kirjoittaa koodia pitääksesi kaiken synkronoituna itse, mikä on yllättävän monimutkaista. 

UIKit puolestaan ​​on kirjoitettu Applevanhempi kieli, Objective-C, ja sen seurauksena on kaikenlaisia ​​omituisuuksia, jotka johtuivat sen iästä.

SwiftUI on yhteensopiva kaikkien kanssa Apple-alustoilla, joten voit käyttää iOS: n oppimiasi tietoja luodaksesi lähes saman koodin sisältävän macOS- tai watchOS -sovelluksen. 

Tietysti jotkin ominaisuudet, kuten Digital Crown, ovat yksinomaan yhdelle laitteelle, mutta valtaosa oppimasta toimii millä tahansa laitteella.

Mutta mikä tärkeintä, SwiftUI on suunta, johon asiat ovat menossa. 

Jos haet töitä juuri nyt, sinun on todennäköisesti tunnettava UIKit, mutta se, että luet tätä, tarkoittaa, että olet paljon pidemmälle prosessissa. 

Kyllä, UIKit on nyt suositumpi, mutta SwiftUI on hallitseva käyttöliittymäkehys, kun olet oppinut sen 6, 9 tai jopa 12 kuukauden kuluttua.

Vakavasti, maailman suurimmat yritykset, mukaan lukien Apple, valitset SwiftUI: n.

Kun Apple äskettäin lanseeratut widgetit iOS 14:ssä, ne asettivat vaatimuksen, että käytät SwiftUI:ta.

Verkostoituminen ja tietojen käsittely

Kolmas ja neljäs mainitsemani taito olivat verkostoituminen ja tietojen käsittely. Verrattuna Swiftiin ja SwiftUI: han, nämä ovat palanen, tai ainakin sillä tasolla, joka vaaditaan nuoremman iOS -kehittäjätyön saamiseksi.

Verkostoituminen on käytäntö, jolla tietoja haetaan Internetistä tai lähetetään tietoja paikallisesta laitteesta etäpalvelimelle. 

On olemassa lukuisia menetelmiä tämän saavuttamiseksi, mutta tärkein asia on ymmärtää, miten haetaan JSON palvelimelta.

Ja tässä tulee esille toinen olennainen taito, tietojen käsittely. 

Jälleen on olemassa useita tapoja ladata ja tallentaa tietoja, mutta ehdoton vähimmäismäärä, joka sinun on voitava tehdä, on muuntaa palvelimelta saamasi tiedot verkkokoodin avulla sovelluksesi näyttämiksi tiedoiksi.

Niinpä kolmas ja neljäs ydintaito liittyvät erottamattomasti toisiinsa. Hae tietoja palvelimelta ja muunna ne sitten sovelluksessasi näytettäviksi tiedoiksi. Jotkut kehittäjät vitsaavat, että tämän tyyppisen koodin kirjoittaminen on puolet iOS -kehittäjän tehtävästä, ja on varmasti totta, että luotamme siihen suuresti.

Version control

Viimeinen taito ei ole lainkaan koodausta version control, kuten Git. Tässäkään ei tarvita paljoa, mutta on tärkeää, että voit julkaista koodisi jossain julkisessa paikassa, kuten GitHubissa, jotta rekrytoijat voivat nähdä työsi.

Kukaan maailmassa ei todellakaan ymmärrä Gitin toimintaa, mutta se ei haittaa - sinun tarvitsee vain tietää tarpeeksi perusteista tallentaaksesi tietosi turvallisesti ja tehdäksesi yhteistyötä muiden kanssa.

Joten kun nämä viisi lasketaan yhteen, on kaksi massiivista - Swift ja SwiftUI - sekä kolme pientä mutta tärkeää. 

Jos voit keskittyä vain näihin viiteen asiaan häiritsemättä, olet hyvin matkalla ensimmäiseen iOS -kehittäjätehtävään.

Se on se: nämä ovat viisi olennaista taitoa, jotka mielestäni sinun on oltava iOS -kehittäjä. 

On tuhansia ihmisiä, joilla on vain nämä taidot ja jotka voivat rakentaa ja toimittaa upeita sovelluksia App Storessa.

Mitä tulee perusasioiden jälkeen

Mitä tulee perusasioiden jälkeen?

Kun olet oppinut viisi ydintaitoa, voit lähettää omia sovelluksiasi ja työskennellä indie -kehittäjänä sekä hakea nuoremmille iOS -kehityspaikoille ja työskennellä yrityksessä, jos haluat tehdä niin. 

Muita erityisiä pätevyysvaatimuksia ei tarvita - naulaa nämä ydintaidot ja olet kunnossa.

Jos olet kuitenkin oppinut nämä taidot ja haluat edetä, suosittelen sinua oppimaan vielä viisi taitoa. Nämä taidot kuljettavat sinut hyvästä asemasta fantastiseen asemaan - sinusta tulee entistä työllistettävempi ja kehittämäsi sovellusvalikoima laajenee entisestään.

Kyvyt ovat seuraavat:

  • UIKit 
  • Perustiedot 
  • Validation
  • Testaus
  • Ohjelmistoarkkitehtuuri
  • säikeistystekniikkaa

Kuten ennenkin, haluaisin käsitellä näitä kaikkia yksityiskohtaisemmin, jotta ymmärrät, miksi ne ovat mielestäni tärkeitä - ja miksi pidän niitä laajennustaidoina pikemminkin kuin ydintaidoina.

UIKit

Ensinnäkin on UIKit. Tämä on Applevanhempi käyttöliittymäkehys, jota on käytetty sovellusten kehittämiseen vuodesta 2008 lähtien - se on 13 vuotta vanha kirjoittaessani tätä, mikä on ohjelmistotieteellisesti vanhaa. Mutta se ei tarkoita, että UIKit olisi huono. Itse asiassa, kun totut siihen, miten se toimii, tulet yllättymään siitä, kuinka tyylikäs se voi olla.

On monia syitä, miksi UIKit kannattaa oppia, mukaan lukien:

Sadat tuhannet sovellukset on jo kirjoitettu UIKitiin, joten jos liityt yritykseen, jolla on suuri, vakiintunut sovellus, sinun on lähes varmasti kirjoitettava UIKit-koodi sovelluksen ylläpitämiseksi.

UIKit on paljon tehokkaampi kuin SwiftUI - UIKitissa voi tehdä monia asioita, jotka eivät ole tällä hetkellä mahdollisia SwiftUI: ssa.

Auto Layout -tekniikan avulla voit luoda erittäin tarkkoja asetteluja.

Jos kohtaat ongelmia koodissasi, UIKitillä on enemmän ratkaisuja kuin SwiftUI yksinkertaisesti siksi, että se on ollut olemassa paljon pidempään.

Kaikki tämä saa UIKitin kuulostamaan fantastiselta, joten miksi tein siitä laajennustaidon eikä ydinosaa? 

Koska UIKitillä on myös ongelmia:

Lähes kaikki on vaikeampaa tehdä UIKitissä kuin SwiftUI:ssa, ja jotkut tehtävät vaativat sata kertaa, ellei enemmänkin, koodia. 

SwiftUI on suunniteltu erityisesti nykyaikaista iOS-kehitystä varten, joten se hoitaa suuren osan raskasta puolestasi.

Koska UIKit ei ole kirjoitettu Swiftillä, sillä on monia ominaisuuksia, joita SwiftUI: lla ei ole-monia epäsuorasti pakkaamattomia lisävarusteita, koodin merkitseminen erityisellä @objc-määritteellä, jotta se on UIKitin Objective-C-vatsan käytettävissä, ja tarve käyttää protokollia ja edustajia yksinkertaisten tietojen näyttämiseksi.

Mikään automaattisesta asettelusta ei ole "automaattista" - itse asiassa, jos yrität rakentaa monimutkaista asettelua, saatat nähdä painajaisia ​​automaattisesta asettelusta. Se on erittäin älykäs, mutta se on myös erittäin vaikeaa paikoin.

Ja tästä syystä pidän UIKit -laajennustaitona: oppiminen vie huomattavasti enemmän aikaa ja vaivaa kuin SwiftUI, mikä tarkoittaa, että se vaatii paljon enemmän päättäväisyyttä - sinun on todella haluttava oppia se, tai muuten saat hämmennyksen , kyllästynyt, vihainen tai mahdollisesti kaikki kolme. 

Toki SwiftUI:ssa ei ole kaikkia UIKitin ominaisuuksia, mutta sen avulla voit edistyä nopeasti ja saada vauhtia ennen kuin siirryt UIKitiin.

Ydintietojen hallinta

Ydintietojen hallinta

Perustiedot, Applekehys sovellustietojen käsittelyyn on toinen mainitsemani laajennusosa. 

Mainitsin verkostoitumisen ja tietojen kanssa työskentelyn ydintaitojen osiossa, ja se on totta. Näillä taidoilla voit noutaa palvelimelta mitä haluat ja näyttää sen sovelluksessasi. 

Core Data vie askeleen pidemmälle sallimalla sinun käsitellä kyseisiä tietoja, kun olet hankkinut ne, kuten etsiä tiettyjä arvoja, lajitella tuloksia ja paljon muuta, kaikki erittäin tehokkaasti. 

Se voi myös helposti muodostaa yhteyden iCloudiin, mikä varmistaa, että käyttäjien tiedot synkronoidaan kaikkien heidän laitteidensa välillä.

Core Datassa on lukuisia haittoja, joista vakavin on se, että niiden kanssa työskenteleminen ei ole aina miellyttävää. Ydintieto on lähes yhtä vanha kuin UIKit, ja vaikka se toimi hyvin Objective-C: ssä, se ei tunnu niin luonnolliselta Swiftissä. 

Se integroituu hyvin SwiftUI: n kanssa, mikä saa sen tuntumaan less outoa, mutta se on silti yllättävän monimutkainen aihe.

Joten miksi sisällytin sen laajennustaitoksi? Koska UIKitin tavoin Core Data on erittäin suosittu - sen avulla on rakennettu satoja tuhansia sovelluksia, ja sitä käytetään monissa suurissa ja pienissä yrityksissä. 

Perustiedot, kuten UIKit, ovat erittäin tehokkaita, ja vaikka voisit luoda sen tärkeimmät osat uudelleen omassa koodissasi, miksi tekisit niin?

Koodin testaaminen

Kolmas taito laajennusluettelossani on testaus. Kirjoittamalla erikoiskoodin varmistaaksesi, että sovelluksesi pääkoodi toimii odotetulla tavalla. 

Testien avulla voimme varmistaa, että koodimme toimii oikein, ja mikä tärkeintä, että se toimii edelleen oikein, vaikka olemme tehneet siihen merkittäviä muutoksia.

Jos esimerkiksi muutat 500 koodiriviä ottaaksesi käyttöön uuden ominaisuuden ja kaikki testisi ovat läpäisseet, voit aloittaa.

Tämän seurauksena testaus on kriittistä ja auttaa sinua laadukkaamman ohjelmiston kirjoittamisessa. 

Joten miksi sitä pidetään laajennustaitona eikä ydintaitona? 

Tähän on kolme syytä:

Koko iOS -yhteisö on kauhea testaamisessa historiallisista syistä riippumatta. Tarkoitan todella huonoa - monissa suurissa sovelluksissa ei ole testejä ollenkaan, ja olen menettänyt lukumäärän tapaamiani vanhempia iOS -kehittäjiä, jotka ovat melkein ylpeitä siitä, etteivät koskaan kirjoita testejä. 

Kun ajattelet kaikkia upeita asioita, joilla voit luoda Appletyökaluja ja kehyksiä, testien kirjoittaminen ei vaikuta kovin hauskalta verrattuna. 

Itse pidän kokeiden kirjoittamisesta samalla tavalla kuin hammaslangan käyttämisestä, mutta tiedän, että monet eivät, varsinkin henkilökohtaisten projektien parissa.

Kun haet työtä, tiedät Swiftin ja AppleSuurimmat puitteet ovat aina hyödyllisempiä kuin tietämys kirjoittaa testejä. 

Yritykset haluaisivat, että osaat käyttää SwiftUI: ta, UIKitia tai jotakin muuta suurta lyöjää, koska testaus on paljon pienempi aihe - ei ole läheskään niin paljon opittavaa.

Testaaminen on siis tärkeää, testaamalla on väliä, ja haluaisin opettaa sinulle, kuinka voit kirjoittaa mahtavia testejä. Mutta vasta sen jälkeen, kun olet oppinut sovellusten kehittämisen perusteet - kun olet ollut jonkin verran menestynyt, koet kiirettäsi sovelluksesi livenä App Storessa ja hallitset testauksen.

Ohjelmistoarkkitehtuuri

Ohjelmistoarkkitehtuuri

Neljäs laajennustaito, josta haluaisin keskustella, on ohjelmistoarkkitehtuuri, joka on todellakin siitä, miten kirjoitamme koodia. 

Aiot kirjoittaa kauheaa koodia, kun aloitat - niin huono koodi, että se todennäköisesti rikkoo Geneven sopimusta. 

Ei hätää, koska näin oppii. Et aloita hyvin - saat hyvää olemalla huono pitkään, aivan kuten LeBron James ei syntynyt mestariksi koripalloilijaksi.

Asia on, että pidät kiinni huonosta koodistasi, kunnes ymmärrät kuinka tehdä paremmin. Tässä kohtaa tulee ohjelmistoarkkitehtuuri. Tarkastellaan kokeiltuja ja todellisia tekniikoita koodin jäsentämiseksi, jotta se olisi helpompi lukea, käyttää, muokata ja ylläpitää pitkällä aikavälillä. 

Nämä tekniikat riippuvat toisinaan Swiftin toiminnasta - kielitoiminnoista, joita voidaan käyttää paremman koodin kirjoittamiseen. 

On kuitenkin olemassa lukuisia muita tekniikoita, jotka toimivat millä tahansa ohjelmointikielellä ja joita kutsutaan yleisesti suunnittelumalleiksi.

Yksi tärkeä osa tätä taitoa, jonka sinun pitäisi alkaa oppia, on koodin hajottaminen. 

Jos esimerkiksi luot sovelluksellesi yhden näytön, se voi sisältää kirjautumispainikkeen, kuvagallerian ja kaveriluettelon. 

Ihannetapauksessa kannattaa kuitenkin erottaa kukin näistä osista – kirjautumispainikekomponentti, kuvagalleriakomponentti ja ystäväluettelokomponentti – jotta voit käyttää mitä tahansa näistä osista uudelleen sovelluksesi muissa osissa.

Ohjelmistoarkkitehtuuri on paljon subjektiivisempaa kuin muut taidot, joista olen keskustellut tähän mennessä. Muille, kuten SwiftUI, voit perustella: "No, minä tiedän, kuinka tehdä X, Y ja Z, joten olen varma, että olen hyvä SwiftUI -kehittäjä."

 Ohjelmistoarkkitehtuuri on hyvin laaja aihe, eikä usein ole olemassa selvää "oikeaa" tapaa ratkaista ongelma, joten mielestäni paras vertailukohta sille on tämä: katsotko taaksepäin kuuden kuukauden takaista koodiasi, vuotta sitten ja pian.

Jälleen huonon koodin kirjoittaminen on hyväksyttävää, kunhan se vie sinut lähemmäksi paremman koodin kirjoittamista. 

Olen varmasti irvistynyt paikoin, kun katson taaksepäin viisi vuotta sitten kirjoittamaani koodia, koska tiedän nyt enemmän kuin silloin - ja se on hyvä asia.

säikeistystekniikkaa

Viimeinen laajennustaito, josta haluaisin keskustella, on monisäikeinen, joka on käytäntö saada koodi tekemään enemmän kuin yksi asia kerrallaan. 

Monisäikeinen voi olla todellinen kipu niskassa, koska aivojemme on vaikea ymmärtää. Kun koodisi tekee yhden asian kerrallaan, voimme ajatella sen lineaarisesti, mutta kun kaksi tai kolme asiaa tapahtuu samanaikaisesti, mahdollisesti päällekkäin, se voi todella taivuttaa aivosi.

Joten, vaikka monisäikeinen on suuri taito laajenemistaitona, sinun on oltava varovainen. Tavoitteesi tulisi olla ymmärtää vain tarpeeksi käsitteitä ja koodia, jotta se toimisi hyvin menemättä liian pitkälle. 

Ollakseni rehellinen, monet kehittäjät uskovat, että monisäikeisyys saa koodin toimimaan välittömästi kolme tai neljä kertaa nopeammin. 

Vaikka tämä on totta joissakin tapauksissa, monissa muissa tapauksissa koodisi toimii itse asiassa hitaammin, ja sinun on nyt käsiteltävä kaikki lisäkoodin monimutkaisuus.

Jos et usko minua, harkitse tätä David Smithin lainausta - Hän on jäsen AppleSwift -tiimi ja on aiemmin työskennellyt vuosia työskennellessään ytimen parissa Applekehykset:

”Erityinen suositukseni on, että vältät asynkronisen/samanaikaisen koodin kirjoittamisen mahdollisimman paljon. Tämä saattaa tuntua oudolta vuonna 2018, mutta monimutkaisuuden ja suorituskyvyn kustannukset ovat korkeat.

Joten, opi vähän siitä, kuinka monisäikeinen toiminta Swiftissä osoittaa, että ymmärrät käsitteet ja toteutuksen, mutta älä mene yli laidan! "

Yleisiä virheitä, joita uudet iOS -kehittäjät tekevät

Yleisiä virheitä, joita uudet iOS -kehittäjät tekevät

Tässä vaiheessa olen luetellut kaikki ydin- ja laajennustaidot, joiden uskon sinun tarvitse työskennellä kokopäiväisenä iOS-kehittäjänä. 

Haluan kuitenkin keskustella myös yleisimmistä virheistä, joita ihmiset tekevät oppiessaan, koska näen ne koko ajan ja tiedän, miten he asettavat ihmiset takaisin.

Ihmisillä on seitsemän suurta ongelmaa, ja haluaisin käydä ne läpi järjestyksessä. 

Ne ovat seuraavat:

  1. Muistaa kaiken
  2. Kiiltävän esineen oireyhtymä
  3. Yksinäinen susi oppii
  4. Beta -ohjelmiston hyödyntäminen
  5. Riippuen Appleasiakirjoja
  6. Murtuminen Objective-C: hen
  7. Tavoitteena muut kielet

Käydään jokainen niistä läpi yksitellen.

Älä yritä muistaa kaikkea

Älä yritä muistaa kaikkea

Ensimmäinen ja ylivoimaisesti yleisin ongelma, jonka ihmiset kohtaavat, on yrittää muistaa kaikki - lukea opetusohjelma ja uskoa, että heidän on muistettava kaikki se ulkoa. 

Ole hyvä, ole hyvä, älä tee sitä. Se on katastrofin resepti, ja se heikentää kaiken tahdonvoimasi siihen pisteeseen, että et koskaan halua ohjelmoida uudelleen.

Kukaan ei muista kaikkea. Kukaan ei tule muistamaan kaikkea. Vaikka ottaisit huomioon vain julkaisijat Apple, jotka ovat koodikappaleita, joita voimme käyttää sovellustemme rakentamiseen, käytettävissä on oltava reilusti yli sata tuhatta. 

Vaikka rajoittaisit sen sovellusten kehittämisen ydinkomponentteihin, katsot silti useita satoja - kaikki toimivat erittäin tarkasti ja vaativat paljon käytön oppimista.

Sen sijaan opit tekemään jotain uutta ja unohdat heti, kuinka tehdä se uudelleen. 

Joten etsit sitä, käytät sitä uudelleen ja unohdat sen sitten välittömästi. Joten, etsit sitä kolmannen kerran ja käytät sitä, ja tällä kertaa unohdat sen enimmäkseen - jotkut osat jäävät sinulle. 

Tämä sykli jatkuu loputtomiin, ja sinun on viitattava joka kerta opetusohjelmaan tai johonkin muuhun viiteoppaaseen, kunnes perusasiat juurtuvat mieleesi siinä määrin, että voit tehdä sen ilman ketään muuta.

Jos et vielä tiennyt, unohtaminen on tärkeä osa oppimista. 

Aina kun unohdat jotain ja opit sen uudelleen, se uppoaa syvemmälle ja perusteellisemmin aivoihisi. Kun opit jotain uudelleen, aivosi luovat uusia yhteyksiä muihin oppimisiisi asioihin, mikä auttaa sinua ymmärtämään paremmin, mitä yrität tehdä. 

Ja joka kerta kun opit uudelleen, ilmoitat aivoillesi, että tämä aihe on tarpeeksi tärkeä tallentaakseen sen pitkäaikaiseen muistiin.

Mutta jos päätät muistaa kaiken, tulet kamppailemaan. 

Sen sijaan älä ole huolissasi asioiden unohtamisesta. Tiedä mistä etsiä ne on paljon tärkeämpää kuin tietyn Swift -koodin muistaminen jonkin asian saavuttamiseksi. 

Kun unohdat jotain ja joudut oppimaan sen uudelleen, pidä sitä hyvänä asiana - tieto uppoaa syvemmälle toisella, kolmannella ja kymmenennellä kerralla, kun opit sen, joten autat aivojasi.

Vältä kiiltävän esineen oireyhtymää

Toiseksi yleisin ongelma, jonka näen ihmisten kohtaavan, on nimeltään "kiiltävän esineen oireyhtymä", jossa he löytävät opetusohjelmasarjan, joka sopii heille hyvin, ja alkavat edistyä, mutta viikon tai kahden kuluttua he huomaavat toisen opetusohjelmasarjan. haluat seurata ja hypätä sen sijaan. 

Olen saanut ihmisiä lähettämään minulle sähköpostia sanomalla, että he ovat kokeilleet neljää, viittä tai jopa kuutta eri sarjaa eivätkä opi mitään jostain syystä.

Tässä on kysymys siitä, että monet näkökohdat kaiken oppimisessa eivät ole kiinnostavia. Se ei välttämättä ole opettajan vika. 

Se on vain tosiasia opetella koodaamaan - jotkut asiat antavat sinulle hienoja tuloksia pienellä vaivalla, kun taas toiset vievät paljon enemmän aikaa ymmärtääkseen, eivät tuota hienoja tuloksia tai ovat vain osa suurempaa konseptia.

Kun saavutat nämä jyrkät oppimiskäyrät, kiiltävän esineen oireyhtymä alkaa - kun tarjolla on monia ilmaisia ​​opetusohjelmia, voit hypätä aluksen mihin tahansa niistä ja käynnistää sen uudelleen, ja olet takaisin altaan matalassa päässä, joka kattaa helpommat osat olet jo oppinut. 

Mutta, unless alkuperäinen kurssi valitsi käsiteltäviksi epätavallisen aiheen, sinun on luultavasti opittava se lopulta, ja lykkäät vain väistämätöntä.

Joten en pyydä sinua vastustamaan aina kiiltävän esineen oireyhtymää, koska ymmärrän kuinka vaikeaa se on. Sen sijaan on vähintäänkin tietoinen siitä: kun kohtaat ongelman, yritä pyytää apua joltakulta toiselta ja sinnikkäästi vaihtamisen sijaan.

Älä mene yksin

Älä mene yksin

Kun puhutaan jonkun muun kysymisestä, kolmas ongelma, johon näen ihmisten törmäävän, on se, että he menevät yksin oppimaan - he uskovat pystyvänsä täysin oppimaan rakentamaan iOS -sovelluksia Swiftin avulla yksinään eivätkä tarvitse muiden apua .

Tämä menetelmä toimii hyvin pienelle joukolle ihmisiä, yleensä niille, joilla on laaja kokemus muista ohjelmointikielistä tai -alustoista. 

Suurimmalle osalle ihmisistä tällä tavalla oppiminen on kuitenkin kauhea kokemus - jokainen virhe tai väärinkäsitys kestää viisi kertaa kauemmin ratkaistaan, motivaation menettäminen on erittäin helppoa ja katselusta jää paljon inspiraatiota muut onnistuvat.

Jos olet luonnollinen "yksinäinen susi" oppija, kehotan sinua muuttamaan tapoja. 

Jaa oppimasi, pidä yhteyttä muihin oppiviin ja kehitä tapa esittää kysymyksiä. 

Löydät paitsi upean oppijayhteisön, joka tukee ja kannustaa sinua, mutta inspiroidut myös heidän työstään ja vuorostaan ​​inspiroi heitä omallasi. Luota minuun, olen nähnyt tämän satoja kertoja, ja se on täysin muuttava.

Älä käytä betaversioita

Neljäs suuri ongelma, jonka näen, on se, kun ihmiset vaativat käyttämään betaversioita Applekehittämistyökaluja. 

Ymmärrän: joka vuosi Apple julkaisee uuden iOS: n, uuden macOS: n ja muita tuotteita, jotka tarjoavat aina jännittäviä uusia asioita, joita voimme kokeilla. On luonnollista, että ihmiset haluavat oppia uusimmat ja suurimmat, varsinkin jos he tietävät, että Swiftillä on pitkä muutoshistoria.

Kuitenkin, kun ihmiset yrittävät oppia beta -ohjelmistolla, he törmäävät lukuisiin ongelmiin:

Koska opetusohjelmia ei ole päivitetty beta -versiota varten, niiden ohjeiden noudattaminen ei aina ole mahdollista tai epäonnistuu.

Bugit ovat yleisiä beetaversioissa, erityisesti niissä, jotka on julkaistu suuria iOS -päivityksiä varten.

AppleBeta-kehysten vakiintuminen vie aikaa, mikä tarkoittaa, että beta 1:ssä toiminut koodi ei välttämättä toimi beta 3:ssa.

Joten vaikka on jännittävää oppia uusia asioita ja saatat uskoa, että pääset pelin edellä uusilla ominaisuuksilla, luota minuun: se ei ole sen arvoista. 

Käytä aina viimeisimpiä julkisia julkaisuja Applekehittäjätyökaluja, kunnes olet tyytyväinen niihin.

Viitaten virallisiin asiakirjoihin

Viitaten virallisiin asiakirjoihin

Viides suuri ongelma, jonka ihmiset kohtaavat yrittäessään oppia, on luottaminen Appleasiakirjoja. 

Applekehittäjien julkaisutiimi työskentelee ahkerasti dokumentoidakseen mahdollisimman paljon yrityksen laajasta kehyksestä, mutta heidän päätehtävänsä on kirjoittaa viitemateriaalia - asioita, joita luet, kun yrität käyttää tiettyä osaa heidän työkaluistaan ​​- eikä jäsennellyn kurssin luominen, joka auttaa sinua oppimaan luomaan iOS-sovelluksia.

Olen menettänyt lukumäärän siitä, kuinka monta kertaa ihmiset ovat kysyneet minulta: "Kuinka voin oppia Swiftin?" vain sanotaan: "Lue AppleSwift -käyttöopas. " 

Tämä lähestymistapa toimii joillekin ihmisille, ja tiedän, koska se toimi minulle, kun Swift julkistettiin ensimmäisen kerran - luin sen kannesta kanteen. 

Useimmille se on kuitenkin samanlaista kuin yrittää oppia ihmiskieltä lukemalla sanakirjaa. Se on tarkoitettu kattamaan kielen kaiken sen sijaan, että se opettaisi sinulle tärkeimmät osat ja kuinka niitä sovelletaan.

Joten jos sinulla on laaja kokemus muista kielistä, lue AppleViiteoppaat voivat olla hyödyllisiä, mutta jos olet vasta aloittamassa, saatat haluta tutustua niihin uudelleen muutaman kuukauden kuluttua.

Murtuminen Objective-C: hen

Kuudes suuri ongelma, jonka ihmiset kohtaavat, on yrittää oppia Objective-C. Tämä oli AppleEnsisijainen kehityskieli ennen Swiftin käyttöönottoa, ja vaikka joissakin vanhoissa koodikannissa on jäänteitä, valtaosa nykyisestä koodista on nyt Swift ja lähes kaikki uudet koodit ovat myös Swift.

Kirjoitin vuosia Objective-C: n kirjoittamiseen ennen Swiftia ja todella rakastin sitä, mutta sillä on erittäin jyrkkä oppimiskäyrä, ja siitä puuttuu suurin osa Swiftin tärkeistä ominaisuuksista. 

Muistan kun Apple ilmoitti ensin iPhone SDK: sta ja oli kauhuissaan Objective-C: stä, koska se oli toisin kuin mikään muu, mitä olin nähnyt tähän mennessä.

Objective-C: llä ja Swiftillä ei ole juuri mitään yhteistä aloittelijalle. 

Kyllä, he jakavat saman Apple kehykset, mutta eiless aiot työskennellä Apple – ainoa yritys maailmassa, joka tuottaa edelleen suuria määriä Objective-C:tä – sinun tulee jättää Objective-C rauhaan ja keskittyä kokonaan Swiftiin.

Muiden kielten huomioimatta jättäminen

Muiden kielten huomioimatta jättäminen

Viimeinen suuri virhe, jonka näen ihmisten tekevän oppiessaan Swiftia, hylkää muut kielet Swiftia huonommaksi. 

Yleisin kohde on JavaScript, mutta näet myös ihmisten pyrkivän Python-, Java-, Ruby-, Go- ja muihin kieliin ja mihin? Se ei ole kilpailu, ihmiset - näiden kielten ei tarvitse hävitä, jotta Swift voittaa.

Itse asiassa Swift ja SwiftUI ovat usein saaneet inspiraationsa muista kielistä ja kehyksistä – aina kun uusia kieliominaisuuksia harkitaan, yhteisö tarkastelee samanlaisia ​​toteutuksia Rustissa, Pythonissa, Haskellissa ja muilla kielillä, ja JavaScript vaikuttaa voimakkaasti SwiftUI:hin. React puitteissa. 

Joten kun kuulen ihmisten väittävän yhteisössämme, että SwiftUI on JavaScript-vapaa tai jotain vastaavaa, ahdistan-mikään ei voi olla kauempana totuudesta.

iOS -kehitysresurssit ja kurssit

iOS -kehitysresurssit ja kurssit

Nyt siitä osasta, josta useimmat ihmiset ovat kiinnostuneita: mitkä ovat todellisia resursseja, joita minun pitäisi käyttää Swiftin, SwiftUI: n ja muiden oppimiseen - saavuttaaksesi tavoitteesi tulla iOS -kehittäjäksi?

Siellä on monia, ja arvostan sitä tosiasiaa, että Swift-yhteisössä on niin monipuolinen joukko ihmisiä, jotka jakavat tietonsa. 

Tässä artikkelissa aion kuitenkin keskittyä ilmaisiin resursseihin - paikkoihin, joissa voit oppia rakentamaan upeita sovelluksia kuluttamatta senttiäkään.

Tämä johtuu kahdesta tekijästä:

  1. Jotkut uskovat, että mitä korkeampi Swift -kurssin hinta on, sitä parempi sen on oltava, joten he päätyvät maksamaan kohtuuttomia hintoja saamatta riittävästi hyötyä.
  2. Monet sivustot, kuten Udemy, luottavat myymään suuren määrän edullisia kursseja ja ovat varmoja siitä, että jos et pidä niistä, ostat vain toisen. Heillä on myös samanlainen liiketoimintamalli kuin Steamissa, koska myynti on jatkuvaa, mikä kannustaa ihmisiä keräämään suuren määrän kursseja opiskellakseen "yhtenä päivänä".

Joten, luettelen tässä vain ilmaisia ​​resursseja, koska en halua sinun joutuvan noihin ansoihin – älä kuluta sataa dollaria tai enemmän ensimmäiselle kurssille, äläkä osta tusinaa halpoja kursseja ajatellen, että sinä kehittäjä.

Opetusohjelmat

Aloittaa, Apple on kaksi suurta resurssia, jotka voivat auttaa sinua. Ensimmäinen on sen Opetuskoodi -verkkosivusto, joka sisältää opiskelijoiden ja opettajien resursseja Swiftin oppimiseen alusta alkaen aina ammattipätevyyksiin asti. 

Heidän opetussuunnitelmansa on laaja, joten parhaan tulokohdan löytäminen voi kestää jonkin aikaa, mutta kun olet siellä, löydät paljon tutkittavaa.

Toiseksi Apple sisältää sarjan SwiftUI-opetusohjelmia, jotka opastavat sinua luomaan todellisia sovelluksia. Nämä eivät kuitenkaan opeta Swiftia, joten sinun on ensin suoritettava heidän Swift-keskittynyt opetussuunnitelmansa.

Kuten aiemmin totesin, Apple julkaisee myös oppaan erityisesti Swift -ohjelmointikielelle, mutta on hyvä mahdollisuus, että se ei toimi sinulle - se on tarkoitettu viitteeksi pikemminkin kuin jäsennellyksi opetusohjelmaksi, joten se on melko tiheää luettavaa.

Mitä on Appleopetusohjelmat eivät tee sitä, että yritetään tarjota jäsennelty oppimismenetelmä. 

YouTube ja muut sivustot

On olemassa erinomaisia ​​YouTube -videoita, jotka opastavat sinua SwiftUI: n perusteissa, kuten:

VlhcNR7Qrno
, jossa hän opastaa sinua kolikkopelien luomisprosessissa alusta asti.

51xIHDm_BDs
selittää viisi SwiftUI -käsitettä, jotka jokaisen tulisi oppia, kun he aloittavat ohjelmoinnin.

aP-SQXTtWhY
joka sisältää sekä Swiftin että SwiftUI: n samalla kun vastaa yleisöön.

On muitakin sivustoja, joissa on korkealaatuisia Swift- ja SwiftUI-opetusohjelmia, kuten BLCKBIRDS, Ray Wenderlich, Donny Wals, Antoine van der Lee ja paljon muuta-rohkaisen ihmisiä todella käymään erilaisissa resursseissa ja löytämään heille sopivan.

Sovelluspohjainen koulutus

Jos haluat oppia sovellusten kautta, suosittelen kahta täysin ilmaista. Ensimmäinen on AppleSwift Playgrounds -sovellus, jonka avulla voit oppia Swiftin suoraan iPadista tai Macista. 

Interaktiivisia on monia lesslapsille suunnattuja, mutta on myös edistyneempiä lessjotka auttavat sinua kehittämään taitojasi.

Toisen sovelluksen nimi on Unwrap, ja se on minun luoma. Unwrap on yhteensopiva kaikkien iPhone- ja iPad -laitteiden kanssa, ja sen avulla voit oppia, tarkastella ja harjoitella Swiftin perusteita videoiden, testien ja muiden työkalujen avulla. Se kattaa kaikki Swiftin perusteet ja täydentää 100 päivän SwiftUI -opetussuunnitelmaa täydellisesti.

Ratkaisujen hankkiminen

Lopuksi sinun on opittava löytämään vastauksia verkosta. Tämä voi tarkoittaa menemistä Stack Overflow -palveluun, mutta toivon, että ei, koska se ei ole erityisen miellyttävä paikka.

Kysy sen sijaan kysymyksiä Hakkerointi Swift -foorumeilla, suosikki Slack -ryhmässäsi, iOS Dev Happy Hour -istunnoissa, Twitterissä ja muualla - olemme aidosti lämmin ja vieraanvarainen yhteisö, jossa on paljon ihmisiä, jotka haluavat auttaa sinua tavoitteidesi saavuttamisessa.

Yhteisöön osallistuminen

Yhteisöön osallistuminen

Yhteisöstämme puheen ollen haluaisin keskustella todella tärkeästä aiheesta, joka auttaa sinua tapaamaan ihmisiä, jotka ovat samanlaisissa tehtävissä kuin sinä, oppimaan tehokkaammin ja löytämään työpaikkoja-tilanne on win-win-tilanne.

Aihe yhdistää iOS -kehitysyhteisöön. Tämä sisältää tietämisen, mistä etsiä uutisia ja mielenkiintoisia ideoita, minne mennä tapaamaan ihmisiä ja jakaa vinkkejä ja missä mennä kysymään.

Ketä minun pitäisi seurata Twitterissä?

Aloitetaan yksinkertaisimmasta, eli Twitterin käytöstä. Twitter on loistava tapa seurata sinua kiinnostavia asioita, ja muutamia ihmisiä suosittelen lämpimästi iOS -kehityksen tapauksessa.

Kyllä, nämä ihmiset twiittaavat omasta työstään, mutta mielestäni heitä on hienoa seurata, koska he myös twiittaavat paljon muiden ihmisten työstä - he auttavat sinua näkemään erilaisia ​​näkökulmia tiettyyn aiheeseen ja jakavat kaikenlaisia mielenkiintoisia ideoita ja kokeiltavia asioita.

Tässä on 9 ihmistä, joita suosittelen seuraamaan Twitterissä:

Sean Allen viettää paljon aikaa YouTubessa Swift- ja iOS -kehitysvideoiden luomisessa, mutta hän työskentelee myös todella kovasti levittääkseen sanaa muiden työstä - hän tekee todella hienoa työtä auttaakseen jokaista löytämään jotain uutta joka viikko.

Antoine van der Lee ylläpitää iOS -kehityssivustoa osoitteessa https://www.avanderlee.com, mutta hän jakaa myös hienoja linkkejä hyödyllisiin resursseihin, joita hän löytää GitHubista, uutiskirjeistä ja muusta.

Novall Khan työskentelee Apple, mutta se ei estä häntä julkaisemasta videoita säännöllisesti siitä, mitä hän työskentelee, mitä hän oppii, mistä hänellä on ongelmia ja paljon muuta - hän on todella inspiroiva.

Steve Troughton-Smith on tunnettu aikaisemmasta iOS-työstään, mutta sinun kannattaa seurata häntä fantastisen linkkien vuoksi, joita hän jakaa vaikuttavaan työhön. Pidän siitä, miten hän jakaa omien sovellustensa kehityskehityksen, joten voit nähdä niiden kasvavan alusta loppuun.

Kaya Thomas on yksi yhteisömme tunnetuimmista indie-kehittäjistä, ja hänet on esillä Apple useammin kuin voin laskea. Hän twiittaa usein omasta työstään ja esityksistään, mutta hän jakaa myös linkkejä lukemiinsa kirjoihin, lukemiinsa artikkeleihin ja muihin resursseihin.

Majid Jabrayilov ei vain kirjoita fantastista Swift- ja SwiftUI -blogia, vaan hän on myös rengasless muiden promootori - jos seuraat häntä Twitterissä, saat idean sen jälkeen, kun olet lähettänyt tiesi monista eri lähteistä.

Donny Wals kirjoittaa Swift -blogin ja viime aikoina kirjoja yhdistetyistä ja perustiedoista, mutta hän myös kannustaa ihmisiä jakamaan työnsä Twitterissä. Jopa sen lukeminen kerran viikossa inspiroi sinua kokeilemaan uusia asioita, joten sinun kannattaa ehdottomasti seurata Donnya.

Sommer Panage toimii AppleEsteettömyystiimi, joten vaikka hän on hieman rajallinen sanomassaan, hän twiittaa paljon ensiluokkaisia ​​vinkkejä itseltään ja muilta, joiden avulla kaikki voivat luoda parempia sovelluksia.

Natascha Fadeeva kirjoittaa blogia Swift- ja iOS -kehityksestä, mukaan lukien artikkeleita ydintiedoista, haastattelukysymyksistä ja muista aiheista, mutta hän myös twiittaa asioista, joita hän löytää muualta.

Uutiskirjeet ja paljon muuta

Uutiskirjeet ja paljon muuta

Twitter ei tietenkään ole ainoa paikka pitää yhteyttä yhteisöön; on myös uutiskirjeitä, Slack -ryhmiä, Zoom -tapaamisia, foorumeita, konferensseja ja muita paikkoja. En halua kyllästyttää sinua liikaa, joten luettelen vain yhden näistä:

Et voi mennä vikaan iOS Dev viikoittain uutiskirjeitä varten. Tätä kirjoittaessani se on juuri ohittanut 500 numeroa, yhden joka viikko, ja mielestäni se kertoo sinulle kaiken, mitä sinun tarvitsee tietää sen tärkeydestä.

Jos haluat lähettää viestin verkkofoorumille, https://www.hackingwithswift.com/forums on aika hyvä. Valittavana on monia luokkia, ja kuka tahansa huomioi seless kokemustasolla, tervetuloa osallistumaan. Olet enemmän kuin tervetullut lähettämään aloittelijakysymyksesi tänne, usko minua!

Joka kuukausi ,. iOS -kehittäjä Happy Hour pidetään Zoom -ryhmäpuhelussa, jossa on yli 300 henkilöä, mutta todellinen hauskuus on breakout -huoneissa, joissa voit keskustella 6-8 hengen ryhmien kanssa kerrallaan. Se on hauskaa ja tapaat uusia ihmisiä.

Konferensseihin osallistuminen on ollut vaikeaa koronaviruspandemian vuoksi, mutta Apple's WWDC oli valtava menestys viime vuonna, ja siihen liittyi joukko yhteisötapahtumia. Ystäväryhmä ja minä loimme a GitHub-arkisto auttaaksesi pitämään kirjaa kaikista muista tapahtumista, artikkeleista ja muista tapahtuneista – katso!

Lopuksi, jos haluat keskustella Slackissa, jossa voit saada vastauksia nopeammin, voit liittyä ilmaiseen Hakkerointi Swift Slack -ryhmän kanssa ja liity johonkin Swift-, SwiftUI- ja muihin kanaviin.

Kuinka kauan kestää iOS: n oppiminen?

Tämä on usein kysytty kysymys: kuinka kauan kestää edetä siitä, kun ei tiedä mitään Swiftistä siihen, että pystyy saamaan lähtötason iOS-kehittäjäaseman?

Ilmeinen vastaus on "se riippuu", mutta se olisi poliisi tässä tapauksessa, joten haluan käsitellä sitä muutamalla eri tavalla.

Kultainen sääntö on, ettei pidä kiirettä

Ennen kaikkea et voi suorittaa useita kursseja samanaikaisesti. Muistatko mitä sanoin "kiiltävän esineen oireyhtymästä"? Kyllä, monet ihmiset uskovat, että he voivat suorittaa kaksi kurssia samanaikaisesti, sitten täyttää neljä, viisi tai jopa enemmän tuntia joka päivä ja silti ymmärtää laadukkaasti käsitellyt aiheet.

Selvyyden vuoksi olen nähnyt ihmisten yrittävän tätä niin monta kertaa ja se epäonnistuu aina. Joka kerta - se ei koskaan toimi, ja kuulen ihmisten sanovan, että se johtuu siitä, että opetusohjelmat olivat huonoja tai Swift oli liian vaikea tai kirjaimellisesti mistä tahansa muusta syystä kuin yrittää kiirehtiä läpi jotain monimutkaista.

Sain kirjaimellisesti juuri sähköpostin, jossa sanottiin: "Hei Paul! Kuinka nopeasti voin lopettaa Swiftin, jos opiskelen neljä tai viisi tuntia päivässä?" Eikä oppiminen yksinkertaisesti toimi näin - olipa kyse Swiftin oppimisesta, pianonsoiton opettamisesta, luistelun oppimisesta tai jostain muusta.

Swiftin oppiminen voi olla toisinaan vaikeaa, ja sovellusten rakentamisen oppiminen vaatii paljon kokeiluja ja virheitä, virheiden tekemistä ja vääriä käännöksiä. Ja se on hienoa - se on parempi kuin hieno, se on fantastista! 

Koska joka kerta, kun yrität jotain, teet virheen tai käännyt väärään suuntaan, opit jotain matkan varrella, ja kun lopulta päädyt ratkaisuun, ymmärrät sen paljon paremmin.

Joten, TL; DR täällä ei ole kiire - ota aikaa, älä pelkää tutkia syntyviä tangentteja, älä pelkää kokeilla projektejasi ja älä pelkää palata johonkin olet aiemmin oppinut ja oppinut sen uudelleen tarpeen mukaan.

Millainen on sinun koulutustaustasi

Millainen on sinun koulutustaustasi?

Toiseksi, sinun tulee harkita taustaasi ennen Swiftiin tuloa. Näet, että sovellusten rakentamisen oppiminen vaatii monenlaisia ​​taitoja, ja jos tulet pöytään, jolla on runsaasti ennakkotietoa, kuten version control, tietorakenteita, algoritmeja ja paljon muuta, sinulla on merkittävä etu verrattuna niihin, jotka ovat aloittelijoita tietotekniikassa yleensä, sekä Swiftiin ja muihin Apple puitteet.

Joten tässä on muutamia mahdollisuuksia siitä, missä saatat olla juuri nyt:

Jos sinulla on tietojenkäsittelytieteen tutkinto, tunnet jo monet Swiftin käytön aloittamiseen tarvittavat CS -perusteet. Muuttujat, taulukot, silmukat, matriisit, joukot, funktiot, OOP ja muut käsitteet ovat hyödyllisiä Swiftissä, samoin kuin kaikki työsi tietorakenteiden ja algoritmien kanssa. Tämä voi säästää 4–6 kuukauden opintoaikaa opiskeltavista aiheista riippuen, ja se antaa sinulle myös etuja haettaessa töitä moniin yrityksiin.

Jos sinulla ei ole CS -tutkintoa, mutta olet osallistunut koodauksen käynnistysleirille, sinulla on monia perusasioita, joita tarvitset Swiftin käytön aloittamiseen. Tämä ei anna sinulle samaa etua haettaessa töitä kyseisissä yrityksissä, koska he odottavat usein tutkintoa vain valitakseen valintaruudun mielivaltaisten vaatimustensa luettelosta, mutta se säästää silti kolme tai neljä kuukautta.

Jos sinulla ei ole CS -tutkintoa etkä osallistunut bootcampiin, mutta olet koodannut vapaa -ajallasi, säästät jonkin aikaa - luultavasti noin kaksi kuukautta riippuen käyttämästäsi kielestä tai puitteista. .

Entä jos sinulla ei ole CS -tutkintoa, et ole käynyt bootcampia ja sinulla ei ole aiempaa kokemusta koodaamisesta? Silloin arvioisin 9-12 kuukauden päästä tyhjästä lähtötason työhön. Kyllä, se voi olla koko vuoden työ sen nykyisen kokopäivätyön lisäksi, ja se on vain saadaksesi ensimmäinen työsi iOS-kehittäjänä.

Onko aina sama vuosi? Ei. Jos sinulla on aiempaa kokemusta, voit lyhentää tämän ajan 1-6 kuukauteen, kuten aiemmin totesin. Jos otat parhaat numerot molemmilta puolilta-9 kuukautta tyhjästä lähtötason työhön ja 6 kuukautta CS-tutkinnon saamiseen-, voit olla vuokrattavissa vain 3 kuukaudessa, mikä on uskomatonta.

Saatat uskoa, että ensimmäisen työpaikan löytäminen kolmessa kuukaudessa on mahdotonta, mutta se ei ole sitä. Tapasin jonkun, joka osallistui 100 Days of Swift -kurssilleni ja sai työpaikan ennen 50. päivää – hän oli jo oppinut tarpeeksi sovelluskehityksestä less kuin kaksi kuukautta, koska he pyrkivät saamaan jokaisen päivän laskemaan.

Joten et tarvitse CS -tutkintoa tai käynnistysleiriä, mutta sinun on oltava valmis tekemään töitä.

Anna itsellesi liikkumavaraa

Kolmas seikka, jonka haluaisin tehdä ennen kuin siirrymme eteenpäin, on, että "se kestää niin kauan kuin se kestää". Rakastan John Lennonin lyriikkaa, joka sanoo: "Elämä on mitä tapahtuu, kun olet kiireinen tekemään muita suunnitelmia."

On upeaa, jos sinulla on suuria suunnitelmia oppia ja suuria unelmia haluamaasi työhön, mutta joskus olet väsynyt, joskus stressaantunut, joskus katto vuotaa tai koirasi on mentävä eläinlääkäriin tai lapsesi tarvitsevat ylimääräistä apua kotitehtävissä tai mitä tahansa, ja se on vain elämää. 

Älä siis ole liian ankara itsellesi, jos myöhästyt oppimisaikataulustasi tai jos puutut muutaman päivän tai jopa muutaman viikon jne. - niin kauan kuin olet kestävä, saat siellä.

Se on fantastista, jos työskentelet todella kovasti ja saat töitä 50 päivän kuluttua - hyvin tehty! Jos siihen menee 500 päivää, se on myös upeaa, ja sinun pitäisi olla yhtä ylpeä itsestäsi. Heck, jos kestää viisi vuotta, olen varma, että se ei ole sitä, mitä halusit, mutta lopputulos on sama, ja se on tärkeintä.

Valmistautuminen hakemukseen

Valmistautuminen hakemukseen

Viimeisenä mutta ei vähäisimpänä, jos olet hieman pidemmällä iOS-oppimismatkallasi ja ajattelet ensimmäisen lähtötason työsi aloittamista, haluaisin huomauttaa sinulle valtavan kokoelman resursseja, jotka olen koonnut auttamaan sinua.

Suosittelisin Sean Allenin Swift -haastatteluvinkit videoita - hänellä on heille koko soittolista, jossa voit käsitellä yksittäisiä keskusteluja, kuten luokat vs rakenteet, toiminnallinen ohjelmointi, virheiden käsittely ja paljon muuta. Mikään videoista ei ole erityisen pitkä, mutta ne kaikki on suunniteltu tarjoamaan sinulle taidot, joita tarvitset menestyäksesi hyvin haastattelutilanteessa.

Missä nyt?

Okei, joten olen käynyt läpi tarvitsemasi ydin- ja laajennustaidot, yleiset oppimisvirheet, kurssit, jotka voit ottaa yhteyttä iOS -yhteisöön ja kuinka valmistautua työhaastatteluun - tämä on paljon kattavaa, ja toivottavasti siitä oli apua.

Lisäksi toivon, että olen osoittanut, kuinka paljon tietoa on saatavilla ilmaiseksi. 

Kyllä, houkutus käyttää satoja dollareita tai enemmän kurssille on vahva, mutta rentoudu - liiku ensin, löydä vauhtia ja löydä myös joku, joka opettaa Swiftia sinulle sopivalla tavalla. Kun olet hyvässä paikassa ja tunnet olevasi valmis, mene eteenpäin ja käytä rahaa, jos haluat.

Ystävälliset terveiset matkallasi!

kirjailijasta
David Attard
Kirjoittaja: David AttardVerkkosivu: https://www.linkedin.com/in/dattard/
David on työskennellyt verkko- / digitaalialalla tai sen ympäristössä viimeiset 18 vuotta. Hänellä on laaja kokemus ohjelmisto- ja verkkosuunnitteluteollisuudesta WordPressin, Joomlan ja niitä ympäröivien markkinarakojen käytöstä. Digitaalisena konsulttina hän keskittyy auttamaan yrityksiä saamaan kilpailuetua käyttämällä verkkosivustonsa ja tänään saatavilla olevien digitaalisten alustojen yhdistelmää.

Yksi asia vielä... Tiesitkö, että ihmiset, jotka jakavat hyödyllisiä juttuja, kuten tämä viesti, näyttävät myös mahtavilta? ;-)
Ole hyvä Jätä hyödyllinen kommentoi ajatuksiasi ja jaa tämä sitten Facebook-ryhmissäsi (ryhmissä), jotka pitävät tätä hyödyllisenä, ja hyödynnetään yhdessä. Kiitos jakamisesta ja mukavuudesta!

Disclosure: Tämä sivu voi sisältää linkkejä ulkoisille sivustoille tuotteille, joita rakastamme ja kannatamme sydämestämme. Jos ostat suosittelemiamme tuotteita, saatamme ansaita viittausmaksun. Tällaiset maksut eivät vaikuta suosituksiimme, emmekä hyväksy maksuja positiivisista arvosteluista.

Kirjoittaja (t) esillä:  Inc-lehden logo   Sitepoint-logo   CSS Tricks -logo    webdesignerdepot-logo   WPMU DEV -logo   ja paljon muuta ...