Veebiarendus aastal 2020: milliseid kodeerimisvahendeid peaksite õppima

Täna avaldas üks minu lemmikõpetajatest Brad Traversy ülevaate sellest, mida ta soovitab teil õppida veebiarendajaks 2020. aastal.

Brad lõikab läbi suure osa sotsiaalmeedias kuuldust. Tema nõuanded on praktilised ja realistlikud. Olen nõus temaga peaaegu kõiges, mida ta soovitab teil õppida.

Peamine asi, mida Brad rõhutab - ja mida ma alati rõhutan - on see, et te ei tunne hirmu ega lase end üleväsida.

Pidage meeles: freeCodeCampi õppekava hõlmab enamikku neist tööriistadest ja see on aidanud enam kui 40 000 inimesel saada arendajana tööd. Kui kahtlete, keskenduge lihtsalt sellele.

Olen mugavuse huvides kokku võtnud allpool Bradi peamised teadmised. Sellest hoolimata soovitan teil vaadata tema täielikku videot, mille olen allpool põiminud. Ta lisab palju üksikasju kaugemale sellest, mida need märkmed edastavad. See on 73-minutiline vaatamine.

Veebiarendus aastal 2020: ülevaade

Video põhieesmärk on tutvustada veebiarendajatele kättesaadavaid mõningaid peavoolu veebiarenduse tööriistu.

"Ma ei püüa teid tehnoloogiatega üle jõu käia. Need on lihtsalt võimalused, mis teil on ... Seal on palju tehnoloogiaid. Kui kuulete midagi sellist nagu Nuxt või Gatsby, tahan, et teaksite, mis see on. Ja siis saate valida, kas soovite seda õppida või mitte. "

Brad julgustab inimesi kõigepealt küsima, mida nad teha tahavad. Kas soovite töötada tooteettevõttes? Või töötada konsultandina? Kas soovite vabakutselist? Või ehitada oma toode?

Paljud tema nõuanded selle kohta, mida õppida, taanduvad teie eesmärkidele. Ja ta raamistab selles valguses palju oma tööriistaettepanekuid.

Lähtepunktina soovitab ta õppida seda, mida ta nimetab "Vajalikeks".

Ühe intuitiivse asja, mille ta välja toob: veebiarenduseks pole vaja uhket arvutit. "See pole nagu mängumootori arendamine või midagi sellist, nii et võite kasutada keskklassi sülearvutit või töölauda või isegi mõnel juhul madalama klassi arvutit."

Ta kasutab MacOS-i, Windows 10 ja Linuxi pilveserverite jaoks ja isegi mõne oma meediumiserveri jaoks.

Ta on oma redaktori jaoks suur VS Code'i fänn ning kasutab brauseripõhiseks silumiseks Chrome'i ja selle sisseehitatud DevToolsi. Sellest hoolimata arvab ta, et ka Firefox on jõudnud kaugele ja on elujõuline alternatiiv.

Ta soovitab alustada standardsest HTML-ist ja CSS-ist ning õppida uuemaid CSS-i tööriistu nagu Flexbox ja Grid.

Ta ütleb, et tundliku veebidisaini õppimine peaks olema 2020. aastal. "Iga teie loodud tõsine projekt peaks hea välja nägema ja olema täielikult kasutatav kõikides seadmetes."

Selle asemel, et tugineda CSS-i raamistikele nagu Bootstrap, soovitab ta teil harjutada oma modulaarsete CSS-komponentide ehitamist, mida saate seejärel kogu oma projekti jooksul uuesti kasutada.

See ütles, et tema sõnul võite nendega kokku puutuda, kui töötate erinevate tööandjate projektidega.

Ta mainib konkreetselt Tailwindit, millest ma polnud varem kuulnud. Tailwind erineb natuke teistest CSS-i raamistikest. See on keskendunud "utiliidiklassidele", mida saate disaini abil soovitud saavutamiseks kombineerida.

Pole üllatav, et Brad soovitab JavaScripti abil tõeliselt head saada.

Õppimine praktilises tempos

Kogu Bradi juhendis rõhutab ta korduvalt praktilisuse vajadust.

Jah - kõige jaoks on olemas parimad tavad. Kuid paljudel juhtudel on olemas piisavalt hea viis, mis aitab teil kiiremini liikuda ja rohkem teha, ilma tööriistadesse süvenemata.

Üks huvitavamaid (ja võib-olla ketserlikke) asju, mida ta ütleb:

"Pole vaja õppida DevOpsi ja AWS-i ning kõiki neid asju väikese saidi jaoks. Hostimissait või hallatud hostisait nagu InMotion või Hostgator on korras. See võimaldab teil [juurutamist] teha otse brauseris. Pole vaja liiga keerukad asjad. "

Ta väidab, et isegi 2020. aastal on tuttavate tööriistade kasutamise kohta midagi öelda.

Inimestele, kes on veebiarenduses uued kasutajad, soovitab Brad kõigepealt jõuda selleni, et saaks töötada põhilise veebi arendajana. See võimaldab teil vabakutselisena luua veebisaite kohalikele ettevõtetele.

"Hipsterid ütlevad, et peate kindlasti kasutama esiotsa raamistikku. Ma arvan, et see pole tõsi. Kui soovite mallid serveris renderdada ilma esiotsa raamistikku kasutamata, arvan, et see on täiesti hea, kuid neid on palju töökohti, mis otsivad midagi sellist nagu React või Vue. "

Kuid kui olete valmis tegelema esiotsa raamistikega, soovitab ta teil uurida React, Vue ja Angular. "Proovige kõiki kolme ja mõelge välja, milline neist teile kõige rohkem meeldib."

Samuti teeb ta Svelte'ile noogutuse - mis pole raamistik, vaid pigem kompilaator. Kuid tema sõnul on see 2020. aastal proovimiseks ilmselt liiga uus.

Ja ta arutleb serveripoolse renderdamise suureneva populaarsuse üle. Failisüsteemipõhine marsruutimine tähendab, et te ei pea keerulist marsruutimisfaili looma. Selle asemel võite lihtsalt panna failid kataloogi, kuhu soovite.

Kaks populaarset serveripoolse renderdamise tööriista on Next.js (React jaoks) ja Nuxt.js (Vue variant).

Teine tekkiv trend on staatilised saidirenderdused, mida tema sõnul pole teil vaja õppida, kuid peaksite sellest teadlik olema. Näiteks Gatsby saidid on ülikiired ja ei vaja serverit.

Tagumise otsa arendustööriistad

Serveripoolse arenduse jaoks eelistab Brad Node.js-i oma kiiruse ja seetõttu, et ta saab JavaScripti kasutada nii ees- kui ka tagaosas.

Serveripoolsete arendusraamistike jaoks soovitab ta õppida Expressi, kuna see on kõige populaarsem ja "see annab teile palju vabadust luua asju oma äranägemise järgi".

Mõne projekti jaoks kasutab ta ka Pythoni ja soovitab ka seda.

"Pythonil on kaks ägedat raamistikku. Django on suur, täisfunktsionaalne raamistik, kus Flask on minimalistlikum. See annab teile vajaliku, kuid teete ülejäänud otsused. Ma ausalt öeldes ei oska neist kahest ühtegi valida. armasta neid mõlemaid ja kasuta neid erinevate asjade jaoks. "

Ja ta jõuab kiiresti PHP kaitsele:

"Paljud inimesed teevad PHP-le jama ja see on kahetsusväärne, sest PHP võib olla suurepärane keel. See on praktiline ja seda on lihtne juurutada peaaegu kõikjale. PHP sobib suurepäraselt vabakutselistele, kes peavad asjad kiiresti välja saama. Kui plaanite töötades suures ettevõttes, ei pruugi PHP olla parim valik, kuid kui olete vabakutseline ja koostate isiklikke projekte, võib PHP olla suurepärane valik. PHP-i muutmine on muutunud lahedaks. PHP oli esimene õppinud keel ja mulle meeldib see endiselt väga see ... kui vaadata Laraveli koodi, on see väga elegantne. "

Brad teeb ka kiire andmebaaside ülevaatuse ja soovitab mitmeaastast lemmikut PostgreSQL-i.

Muud tööriistad, mis on tõenäoliselt siin, kus jääda

GraphQL on alternatiiv API-de REST-ile. Nii Bradi kanalil kui ka freeCodeCampi kanalil on mitu kursust, mis hõlmavad GraphQL-i. Kuid ta ütleb: "GraphQL pole midagi, mida peate tänapäeval õppima, kuid see on piisavalt suur, et arvan, et see on siin püsimiseks. See on rohkem kui trend."

Brad räägib ka sisuhaldussüsteemidest (CMS) ja nende muutumisest uuteks "peata" valikuteks, kus sa lihtsalt kasutad neid taustana ja kodeerid omaenda esiotsa.

"CMS-id on väga kasulikud vabakutselistele, kellel on kliente, kes soovivad sisse logida ning oma blogipostitusi ja muud sellist luua. Paljud inimesed põlgavad WordPressi, kuid Internetis on tohutu protsent veebisaite, mida haldab WordPress ja see on endiselt väga populaarne. "

Veebiserverite jaoks eelistab ta NGINX-i Apache'ile, kuna "see tundub olevat vähem keeruline". Kasutame NGINX-i palju veebisaidil freeCodeCamp ja ma olen nõus sellega nõustuma.

Brad selgitab ka virtualiseerimise toimimist ja räägib, kuidas see saab keerukamaid projekte lihtsustada, ühtlustades keskkonda mitmes arvutis. Kuid ta hoiatab üritamast kõike virtualiseerida:

"Docker on meeskondadele tõesti hea. Mulle ei meeldi see, kui inimesed ütlevad, et peaksite alati kasutama Dockerit. See on lihtsalt eelistus. Kui soovite lihtsalt käitada kohalikku LAMP-serverit, pole selles midagi halba. Ärge tundke survet õppida midagi sellist nagu Docker. "

Ja lisab, et rõhutada midagi, mida ma isiklikult ei suuda piisavalt rõhutada: "Ma tean, et paljud nohikutüübid tahavad lihtsalt asju liiga keeruliseks muuta ja ma vihkan seda. See, et ma kõik selle üles loetlen, ei tähenda, et ma seda edasi lükkan. sina. "

Samuti toob ta kiiresti välja, et enamikul suurettevõtetel on spetsiaalsed DevOpsi meeskonnad (neid nimetatakse ka "saidi usaldusväärsuse insenerideks"), kes saavad teie jaoks palju teha.

Tore, kui teil on oskusi, mida saate õppida erialadena

Kui soovite proovida oma käsi mobiilirakenduste arendamisel, soovitab Brad tungivalt Flutteri raamistikku. See kasutab Dart'i, mis on ebaselgem keel. Ta kirjeldab Dartit kui kuskil Java ja JavaScripti vahel ning ütleb, et kui oskate mõnda neist keeltest, peaksite selle saama kätte saada.

Tema teine ​​valik mobiilirakenduste arendamiseks on React Native, mida on lihtne kätte saada, kui React juba tunnete.

Seejärel teeb Brad suurepärase töö selgitamaks, mis on progressiivsed veebirakendused ja mõned nende eelised. Siin on slaid, kuid jällegi soovitan teil tungivalt tema täielikku videot vaadata.

Seejärel puudutab ta Electronit, mis võimaldab teil JavaScripti abil töölauarakendusi ehitada. Esialgu oli ta skeptiline, kuid ütles, et mõned tema lemmiklauarakendused - näiteks VS Code ja Discord - on nüüd ehitatud Electroni abil.

Ta mainib JAMstacki (JavaScripti, API-sid ja Markup) ning serveriteta arhitektuuri. Need on täpsemad teemad, millel on nii tema kanalil kui ka freeCodeCampi YouTube'i kanalil videoõpetused.

Ja siis jõuab ta 2020. aasta suurte trendideni.

Masinõpe ja veebikoost

See, et kõik teised räägivad masinõppest, ei tähenda, et peate kõik ära viskama ja õppima. Nii eelistab ta oma jutu seda etappi.

Ja jah, masinõpet saab teha ka JavaScripti abil.

"Python on masinõppe kuningas. Kuid isegi JavaScripti korral on teil TensorFlow.js, teil on Brain.js, et luua närvivõrke ja teha tõelisi lahedaid asju."

Sellest, kuidas ta veebikoosolekust räägib, on selge, et ta on sellest üsna põnevil.

"Veebikoosolek on alles varajases staadiumis, kuid arvan, et näeme seda veel sel aastal. Traditsiooniliselt kasutame DOM-i manipuleerimiseks ja arvutuste käitamiseks veebilehel JavaScripti. JavaScripti kiirus on piiratud. Keel nagu C või C ++ on palju kiirem kui JavaScripti. Nii et Veebikokkuvõte on tõhus, madala tasemega baidikood, mida saab brauser käivitada, ja see on ülikiire. Seda saab genereerida näiteks C, C ++ ja Rust keeltes. "

Rooste on üks keeltest, mida saate WebAssembly'is kasutada (lisaks C ja C ++). Seda on oluliselt lihtsam õppida ja kasutada kui C ja C ++.

Kuid on oluline märkida, et WebAssembly ei vabanda teid JavaScripti õppimise vajadusest.

"Võite peaaegu mõelda JavaScripti kui ülemust ja see võib veebikogule öelda, mida teha. Seega võimaldab see meil oma veebirakendustes kasutada väga kiireid madala taseme keeli nagu C ++ ja see annab meile palju rohkem võimalusi järgmise taseme videomängud ja videotöötlustööriistad otse brauseris - asjad, mis pole lihtsalt JavaScripti abil mõeldavad. "

Lõpetuseks ütleb ta: "Mida rohkem õppida, seda lihtsam on rohkem teada saada ja kõik need tehnoloogiad kokku sobitada. Püüdke mitte hämmingut teha. Võtke see samm korraga, uurige ja mõelge välja, mida te tahan teha."

Jällegi tahan tänada Brad Traversyt selle põhjaliku video koostamise eest.

Inimesed küsivad minult kogu aeg "mida ma peaksin õppima, kui tahan saada veebiarendajaks?" Ja minu vastus on "lihtsalt kasutage oma põhiõppekavana freeCodeCampi ja hargnege teistes õppematerjalides."

Ja mul on hea meel öelda, et Bradi Traversy Media YouTube'i kanal on üks neist lisaressurssidest, mida ma kõige rohkem soovitan.