Ma az egyik kedvenc tanárom, Brad Traversy áttekintést tett közzé arról, hogy mit javasol, tanuljon meg webfejlesztővé válni 2020-ban.
Brad átveszi a közösségi médiában hallott nagy felhajtást. Tanácsai praktikusak és reálisak. És nagyjából mindenben egyetértek vele, amit javasol neked.
A legfontosabb dolog, amit Brad hangsúlyoz - és amit mindig hangsúlyozok - az, hogy ne érezze magát ijedten, vagy hagyja magát elárasztani.
Ne feledje: a freeCodeCamp tanterve kiterjed ezeknek az eszközöknek a többségére, és több mint 40 000 embernek nyújtott segítséget fejlesztői munkához. Ha kétségei vannak, csak erre koncentráljon.
Az alábbiakban összefoglalom Brad főbb meglátásait az Ön kényelme érdekében. Ezért azt javasoljuk, hogy nézze meg a videóját, amelyet alább beágyaztam. Sok részletet ad hozzá, túl azon, amit ezek a feljegyzések közvetítenek. Ez egy 73 perces óra.
Webfejlesztés 2020-ban: áttekintés
A videó fő célja, hogy megismerje a webfejlesztők számára elérhető, több mainstream webfejlesztő eszközt.
"Nem próbálok elárasztani technológiákkal. Ezek csak a lehetőségek, amelyek megvannak ... Nagyon sok technológia létezik. Amikor valami olyasmit hall, mint a Nuxt vagy a Gatsby, azt akarom, hogy tudja, mi ez. És akkor választhatja, ha meg akarja tanulni, vagy sem. "
Brad először azzal ösztönzi az embereket, hogy először kérdezzék meg, mit akarnak csinálni. Szeretne egy termékcégnél dolgozni? Vagy tanácsadóként dolgozni? Szabadúszó akarsz lenni? Vagy saját terméket készíteni?
Sok tanácsa arról, hogy mit kell megtanulnia, abból adódik, hogy mi a célja. És sok eszközjavaslatát ennek fényében foglalja össze.
Kiindulásként azt ajánlja, hogy megtanulja az úgynevezett "szükségszerűségeket".

Egy ellenérzékeny dologra hívja fel a figyelmet: a webfejlesztéshez nincs szüksége divatos számítógépre. "Ez nem olyan, mint a játékmotor fejlesztése vagy valami hasonló, ezért használhat középkategóriás laptopot vagy asztali gépet, sőt egyes esetekben alacsonyabb szintű számítógépet is."
MacOS-t, Windows 10-et és Linuxot használ felhőszerverekhez, sőt egyes médiaszervereihez is.
Szerkesztője nagy rajongója a VS Code-nak, és a böngészőalapú hibakereséshez a Chrome-ot és a beépített DevTools programot használja. Ezt mondta, szerinte a Firefox is hosszú utat tett meg, és életképes alternatíva.
Javasolja a szabványos HTML és CSS használatát, valamint az olyan újabb CSS eszközök megtanulását, mint a Flexbox és a Grid.
Szerinte adottnak kell lennie az adaptív webdesign elsajátításának 2020-ban. "Minden komoly projektnek, amelyet létrehoz, jól kell kinéznie és teljesen használhatónak kell lennie minden eszközön."
Ahelyett, hogy olyan CSS-keretrendszerekre támaszkodna, mint a Bootstrap, azt javasolja, hogy gyakorolja saját moduláris CSS-összetevőinek felépítését, amelyeket aztán újra felhasználhat a projekt során.
Azt mondta, hogy ezekkel találkozhat, amikor különböző munkáltatók projektjein dolgozik.

Külön említi a Tailwind-et, amiről korábban nem hallottam. A Tailwind kissé eltér a többi CSS-kerettől. A "segédprogram osztályokra" összpontosít, amelyeket kombinálva elérheti, amit a tervezéssel szeretne.
Nem meglepő, hogy Brad azt ajánlja, hogy nagyon jó legyen a JavaScript használatával.

Tanulás gyakorlati tempóban
Brad útmutatójában többször hangsúlyozza a gyakorlatiasság szükségességét.
Igen - mindenre vannak legjobb gyakorlatok. De sok esetben létezik elég jó módszer, amely elősegíti a gyorsabb mozgást és a több munkát, anélkül, hogy belemerülne az eszközökbe.
Az egyik legérdekesebb (és talán eretnek) dolog, amit mond:
"Nincs szükség a DevOps és az AWS, valamint mindezek megtanulására egy kis webhely számára. A tárhely vagy az olyan felügyelt tárhely, mint az InMotion vagy a Hostgator, rendben van. Lehetővé teszi, hogy közvetlenül a böngészőben hajtsa végre a [telepítést]. Nincs szükség túlbonyolított dolgok. "
Azt állítja, hogy még 2020-ban is el kell mondani valamit a megszokott eszközök használatáról.

Azok számára, akik nem ismerik a webfejlesztést, Brad azt javasolja, hogy először jussanak el odáig, hogy képesek legyenek az első webes webfejlesztőként dolgozni. Ez lehetővé teszi, hogy szabadúszóként weboldalakat készítsen a helyi vállalkozások számára.
"A hipszterek azt mondják, hogy feltétlenül használnia kell egy kezelőfelületet. Nem hiszem, hogy ez igaz. Ha sablonokat akarsz renderelni a szerveren anélkül, hogy kezelőfelületet használnánk, szerintem ez teljesen rendben van, de sokan vannak olyan munkák, amelyek olyasmit keresnek, mint a React vagy a Vue.
De ha készen áll a front end keretrendszer kezelésére, javasolja a React, a Vue és az Angular felfedezését. - Próbálja ki mind a hármat, és találja ki, melyik tetszik a legjobban.
Ugyancsak bólint Svelte-nek - ami nem keretrendszer, hanem inkább fordító. De azt mondja, hogy valószínűleg túl új ahhoz, hogy 2020-ban megpróbáljam felvenni.
Beszél a szerveroldali renderelés növekvő népszerűségéről. A fájlrendszer-alapú útválasztás azt jelenti, hogy nem kell bonyolult útválasztási fájlt létrehoznia. Ehelyett egyszerűen beillesztheti a fájlokat abba a könyvtárba, ahová szeretné őket.
A két népszerű kiszolgálóoldali megjelenítési eszköz a Next.js (a React számára) és a Nuxt.js (a Vue opció).
Egy másik feltörekvő trend a Static Site Renders, amely szerinte nem kell megtanulnia, de tisztában kell lennie vele. Például a Gatsby webhelyek rendkívül gyorsak és nem igényelnek szervert.
Háttér fejlesztő eszközök

A szerveroldali fejlesztéshez Brad a Node.js-t részesíti előnyben gyorsasága miatt, és azért, mert a JavaScript-et mind az elülső, mind a hátsó végén tudja használni.
A szerveroldali fejlesztési keretrendszerekhez az Express használatát javasolja, mivel ez a legnépszerűbb, és "nagy szabadságot ad arra, hogy a saját igényeinek megfelelően dolgozzon."
Néhány projekthez a Pythont is használja, és azt is ajánlja.
"A Python két félelmetes keretrendszerrel rendelkezik. A Django egy nagy, teljes funkcionalitású keretrendszer, ahol a lombik minimalistabb. Megadja neked, amire szükséged van, de a többi döntést meghozod. Őszintén szólva nem választhatom a kettő közül egyet, én szeresd mindkettőjüket, és különböző dolgokra használd fel őket. "
És gyorsan jön a PHP védelmére:
"Sokan szajkóznak a PHP-vel, és ez nem szerencsés, mert a PHP nagyszerű nyelv lehet. Praktikus és egyszerűen telepíthető szinte bárhová. A PHP kiválóan alkalmas azoknak a szabadúszóknak a számára, akiknek gyorsan ki kell hozniuk a dolgokat. Ha azt tervezi, nagy cégnél dolgozik, a PHP nem biztos, hogy a legjobb választás, de ha szabadúszó vagy, és személyes projekteket építesz, a PHP remek választás lehet. Hűvös lett a PHP-t bash-zni. A PHP volt az első nyelv, amit megtanultam, és még mindig nagyon szeretem azt ... Ha megnézed a Laravel kódot, az nagyon elegáns. "
Brad az adatbázisok gyors áttekintését is elvégzi, és az évelő kedvenc PostgreSQL-t ajánlja.

Egyéb eszközök, amelyek valószínűleg itt maradnak
A GraphQL az REST for API-k alternatívája. Számos tanfolyam foglalkozik a GraphQL-lel Brad csatornáján és az freeCodeCamp csatornáján egyaránt. De azt mondja: "A GraphQL-t manapság nem kell megtanulnod, de elég nagy ahhoz, hogy azt gondolom, hogy itt marad. Ez több, mint egy trend."
Brad beszél a tartalomkezelő rendszerekről (CMS) és arról, hogy ezek hogyan fejlődnek új "fej nélküli" opciókká, ahol csak háttérként használja őket, és kódolja saját kezelőfelületét.
"A CMS nagyon hasznos azoknak a szabadúszóknak, akiknek vannak olyan ügyfeleik, akik szeretnének bejelentkezni, létrehozni a blogbejegyzéseiket és ilyesmiket. Sokan lenyűgözik a WordPress programot, de az interneten hatalmas százalékban vannak webhelyek, amelyeket a WordPress üzemeltet. és még mindig nagyon népszerű. "
A webszervereknél az NGINX-et részesíti előnyben az Apache-nál, mert "úgy tűnik, hogy ez kevésbé bonyolult". Az NGINX-et széles körben használjuk a freeCodeCamp-on, és hajlandó vagyok egyetérteni.
Brad elmagyarázza a virtualizáció működését, és arról is beszél, hogyan egyszerűsítheti a bonyolultabb projekteket azáltal, hogy több számítógépen egységesíti a környezetet. De óvatosságra int, hogy ne próbáljon mindent virtualizálni:
"A Docker nagyon jó a csapatoknak. Az nem tetszik, amikor az emberek azt mondják, hogy mindig a Dockert kell használnod. Ez csak a preferencia. Ha csak egy helyi LAMP szervert akarsz futtatni, akkor ezzel nincs semmi baj. Ne érezz nyomást hogy megtanuljon valami Dockerhez hasonlót. "
És hozzáteszi, hogy kihangsúlyozzak valamit, amit személy szerint nem tudok eléggé hangsúlyozni: "Tudom, hogy sok idétlen típus csak túlbonyolítani akarja a dolgokat, és utálom ezt. Az, hogy mindezt felsorolom, nem jelenti azt, hogy tovább nyomom te."
Azt is gyorsan leszögezi, hogy a legtöbb nagyvállalat dedikált DevOps-csapatokat (más néven "Helyi Megbízhatósági Mérnököket") hív el, akik sokat tehetnek érted.
Örülök, hogy készségei vannak, amelyeket különlegességként tanulhat meg
Ha tesztelni szeretné kezét a mobilalkalmazások fejlesztésében, Brad határozottan javasolja a Flutter keretrendszert. A Dart-ot használja, amely egy homályosabb nyelv. Leírja, hogy a Dart a Java és a JavaScript között van, és azt mondja, hogy ha ismeri ezeket a nyelveket, akkor képesnek kell lennie arra, hogy felvegye.

A mobilalkalmazások fejlesztésének második választása a React Native, amelyet könnyen fel lehet venni, ha már ismeri a React alkalmazást.
Ezután Brad nagyszerű munkát végez annak elmagyarázásával, hogy mik a Progresszív Webalkalmazások és néhány előnyük. Itt a dia, de ismételten bátorítom, hogy nézze meg a teljes videóját.

Ezután hozzáér az Electronhoz, amely lehetővé teszi asztali alkalmazások felépítését JavaScript használatával. Eleinte szkeptikus volt, de szerinte néhány kedvenc asztali alkalmazása - például a VS Code és a Discord - most az Electron felhasználásával készült.
Megemlíti a JAMstack-ot (JavaScript, API-k és Markup) és a szerver nélküli architektúrát. Ezek olyan fejlettebb témák, amelyeken mind az ő csatornája, mind a freeCodeCamp YouTube-csatornája videó oktatóanyagokat is tartalmaz.
És akkor eljut a 2020-as nagy trendekhez.
Gépi tanulás és webes összeszerelés
Az, hogy mindenki más gépi tanulásról beszél, még nem jelenti azt, hogy mindent el kell dobnia és meg kell tanulnia. Így előzi meg beszédének ezt a szakaszát.
És igen, a gépi tanulást megteheti JavaScript-ben is.
"A Python a gépi tanulás királya. De még a JavaScript használatával is, amely a TensorFlow.js fájlt használja, a Brain.js fájlt használhatja neurális hálózatok létrehozására és igazi jó dolgokra."
A Web Assemblyről való beszédéből egyértelmű, hogy eléggé izgatott.
"A Web Assembly még mindig a kezdeti szakaszában van, de úgy gondolom, hogy még többet fogunk látni ebben az évben. Hagyományosan a weblapon a JavaScript-et használjuk a DOM manipulálására és a számítások futtatására. A JavaScript sebességkorlátozással rendelkezik. Nyelv mint a C vagy a C ++ sokkal gyorsabb, mint a JavaScript. A Web Assembly tehát egy hatékony, alacsony szintű bájtkód, amelyet egy böngésző futtathat és rendkívül gyors. Olyan nyelvek generálhatják, mint a C, C ++ és Rust. "
A rozsda az egyik nyelv, amelyet a WebAssembly segítségével használhat (a C és a C ++ mellett). Lényegesen könnyebb megtanulni és használni, mint a C és a C ++.
De fontos megjegyezni, hogy a WebAssembly nem menti fel a JavaScript megtanulásának szükségességét.
"Szinte a JavaScriptre gondolhat, mint főnökre, és ez meg tudja mondani a Web Assembly számára, hogy mit kell tennie. Így lehetővé teszi számunkra, hogy nagyon gyors, alacsony szintű nyelveket, például C ++ -ot használjunk webalkalmazásainkban, és ez sokkal több képességet ad nekünk - például következő szintű videojátékok és videoszerkesztő eszközök közvetlenül a böngészőben - ezek a dolgok elképzelhetetlenek csupán a JavaScript használatával. "
Zárásként azt mondja: "Minél többet tanul, annál könnyebb többet megtudni és ezeket a technológiákat egymáshoz illeszteni. Próbáljon meg nem borulni. Vegyen egyet-egyet, végezzen néhány kutatást, és találja ki, mit Meg akarom tenni."
Ismét szeretném megköszönni Brad Traversynek, hogy elkészítette ezt az átfogó videót.
Az emberek állandóan azt kérdezik tőlem: "Mit kell megtanulnom, ha webfejlesztőként akarok lenni?" És a válaszom az, hogy "csak használja a freeCodeCamp-ot alaptantervként, és menet közben más tanulási forrásokba oszlik."
Örömmel mondhatom, hogy Brad Traversy Media YouTube-csatornája egyike azoknak a további forrásoknak, amelyeket a legjobban ajánlok.