Astăzi, unul dintre profesorii mei preferați, Brad Traversy, a publicat o prezentare generală a ceea ce vă recomandă să învățați să deveniți dezvoltator web în 2020.

Brad trece printr-o mulțime de hype pe care îl auziți pe social media. Sfaturile sale sunt practice și realiste. Și sunt de acord cu el cu privire la cam tot ce îți recomandă să înveți.

Principalul lucru pe care Brad îl subliniază – și pe care îl subliniez întotdeauna – este să nu te simți descurajat sau să te lași copleșit.

Amintiți-vă: curriculum-ul Routech acoperă majoritatea acestor instrumente și a ajutat peste 40.000 de persoane să obțină locuri de muncă ca dezvoltatori. Când aveți dubii, concentrați-vă doar pe asta.

Am rezumat principalele idei ale lui Brad mai jos pentru comoditate. Acestea fiind spuse, vă încurajez să urmăriți videoclipul său complet, pe care l-am încorporat mai jos. El adaugă o mulțime de detalii dincolo de ceea ce transmit aceste note. Este un ceas de 73 de minute.

Dezvoltarea web în 2020: o prezentare generală

Scopul principal al videoclipului este de a vă familiariza cu unele dintre instrumentele de dezvoltare web mai obișnuite disponibile pentru dezvoltatorii web.

“Nu încerc să te copleșesc cu tehnologii. Acestea sunt doar opțiuni pe care le ai … Există o mulțime de tehnologii acolo. Când auzi ceva de genul Nuxt sau Gatsby, vreau să știi ce este. Și apoi poți alege dacă vrei să o înveți sau nu. “

Brad începe prin a încuraja oamenii să întrebe mai întâi ce vor să facă. Vrei să lucrezi la o companie de produse? Sau lucrați ca consultant? Vrei să lucrezi independent? Sau construiți un produs propriu?

Multe dintre sfaturile sale despre ce să înveți se rezumă la obiectivele tale. Și își încadrează o mulțime de sugestii de instrumente în această lumină.

Ca punct de plecare, el recomandă învățarea a ceea ce el numește „Necesitățile”.

Dezvoltare web in 2020 ce instrumente de codare ar trebui
Acest diapozitiv și toate diapozitivele ulterioare provin din videoclipul lui Brad. Sublinierile indică instrumentele pe care le recomandă personal.

El subliniază un lucru contra-intuitiv: nu aveți nevoie de un computer elegant pentru dezvoltarea web. „Nu este ca dezvoltarea unui motor de jocuri sau ceva de genul acesta, deci puteți utiliza un laptop sau desktop de gamă medie, sau chiar în unele cazuri un computer de nivel inferior.”

El folosește MacOS, Windows 10 și Linux pentru servere cloud și chiar pentru unele dintre serverele sale media.

El este un mare fan al codului VS pentru editorul său și folosește Chrome și DevTool-urile sale încorporate pentru depanarea bazată pe browser. Acestea fiind spuse, el crede că Firefox a parcurs un drum lung și este o alternativă viabilă.

El recomandă să începeți cu HTML și CSS standard și să învățați instrumente CSS mai noi, cum ar fi Flexbox și Grid.

El spune că învățarea designului web receptiv în 2020 ar trebui să fie o dată. „Fiecare proiect serios pe care îl creați ar trebui să arate bine și să fie complet utilizabil pe toate dispozitivele.”

În loc să se bazeze pe cadre CSS precum Bootstrap, el vă recomandă să practicați construirea propriilor componente CSS modulare pe care să le puteți reutiliza pe tot parcursul proiectului.

Acestea fiind spuse, el spune că le puteți întâlni pe măsură ce lucrați la proiecte pentru diferiți angajatori.

1611555790 659 Dezvoltare web in 2020 ce instrumente de codare ar trebui
Bootstrap este de departe cel mai popular cadru CSS, dar există și alte câteva utilizate pe scară largă.

El menționează în mod specific Tailwind, despre care nu mai auzisem până acum. Tailwind este puțin diferit de alte cadre CSS. Se concentrează pe „clase de utilități” pe care le puteți combina pentru a realiza ceea ce doriți cu designul.

Nu este o surpriză faptul că Brad recomandă să devii foarte bun cu JavaScript.

1611555790 941 Dezvoltare web in 2020 ce instrumente de codare ar trebui
Unele dintre elementele fundamentale cu care ar trebui să te pricepi. Brad are videoclipuri pentru majoritatea acestor subiecte, iar cele mai multe dintre acestea sunt acoperite și în programa Routech.

Învățarea într-un ritm practic

De-a lungul ghidului lui Brad, el subliniază în mod repetat necesitatea practicității.

Da – există cele mai bune practici pentru orice. Dar, în multe cazuri, există o modalitate suficient de bună, care vă va ajuta să vă deplasați mai repede și să faceți mai multe lucruri, fără a vă lăsa amestecat în instrumente.

Unul dintre cele mai interesante (și poate eretice) lucruri pe care le spune:

„Nu este nevoie să învățați DevOps și AWS și toate aceste lucruri pentru un site mic. Un site de găzduire sau un site de găzduire gestionat precum InMotion sau Hostgator este în regulă. Vă permite să faceți acest lucru. [deployment] chiar în browser. Nu este nevoie să complicați lucrurile în exces “.

El susține că, chiar și în 2020, există ceva de spus pentru utilizarea instrumentelor familiare.

1611555790 862 Dezvoltare web in 2020 ce instrumente de codare ar trebui

Pentru persoanele noi în dezvoltarea web, Brad recomandă să ajungă mai întâi la punctul de a putea lucra ca dezvoltator web de bază. Acest lucru vă va permite să creați site-uri web pentru întreprinderi locale în calitate de freelancer.

„Hipsterii vor spune că trebuie cu siguranță să utilizați un framework front end. Nu cred că este adevărat. Dacă doriți să redați șabloane pe server fără a utiliza un framework front end, cred că este absolut bine, dar există multe multe locuri de muncă care caută ceva de genul React sau Vue. “

Dar odată ce sunteți gata să abordați cadrele front-end, el vă recomandă să explorați React, Vue și Angular. „Încercați toate cele trei și aflați care dintre ele vă place cel mai mult”.

De asemenea, îi dă din cap lui Svelte – care nu este un cadru, ci mai degrabă un compilator. Însă el spune că este probabil prea nou pentru a încerca să-l ridici în 2020.

Și discută despre popularitatea crescândă a randării laterale a serverului. Rutare bazată pe sistemul de fișiere înseamnă că nu trebuie să creați un fișier de rutare complicat. În schimb, puteți pune doar fișierele în directorul în care doriți să fie.

Cele două instrumente populare de redare laterală a serverului sunt Next.js (pentru React) și Nuxt.js (opțiunea Vue).

O altă tendință emergentă este Static Site Renders, despre care spune că nu trebuie să înveți, dar ar trebui să fii conștient. De exemplu, site-urile Gatsby sunt extrem de rapide și nu au nevoie de un server.

Instrumente de dezvoltare back-end

1611555790 126 Dezvoltare web in 2020 ce instrumente de codare ar trebui
Un diapozitiv din discuția lui Brad cu cele mai populare cadre pentru fiecare limbă.

Pentru dezvoltarea pe partea de server, Brad preferă Node.js pentru viteza sa și pentru că poate folosi JavaScript atât pe partea frontală, cât și pe cea din spate.

Pentru cadrele de dezvoltare pe partea de server, el recomandă învățarea Express, deoarece este cea mai populară și „îți oferă multă libertate de a construi lucrurile așa cum vrei în felul tău”.

De asemenea, folosește Python pentru unele proiecte și îl recomandă și pe acesta.

“Python are două cadre minunate. Django este un cadru larg, cu funcții complete, în care Flask este mai minimalist. Vă oferă ceea ce aveți nevoie, dar luați restul deciziilor. Sincer, nu pot alege una dintre cele două, eu iubește-i pe amândoi și folosește-i pentru lucruri diferite ”.

Și este rapid să vină la apărarea PHP:

“O mulțime de oameni dau prostie PHP și este regretabil, deoarece PHP poate fi un limbaj excelent. Este practic și este simplu de implementat aproape oriunde. PHP este excelent pentru profesioniștii independenți care trebuie să scoată lucruri rapid. Dacă intenționați să care lucrează pentru o companie mare, PHP poate să nu fie cea mai bună alegere, dar dacă lucrezi independent și construiești proiecte personale, PHP poate fi o alegere excelentă. A devenit interesant să bageți PHP. asta … Dacă te uiți la codul Laravel, este foarte elegant. “

Brad face, de asemenea, o prezentare rapidă a bazelor de date și recomandă PostgreSQL preferat peren.

1611555790 117 Dezvoltare web in 2020 ce instrumente de codare ar trebui

Alte instrumente care probabil sunt aici pentru a rămâne

GraphQL este o alternativă la REST pentru API-uri. Există mai multe cursuri care acoperă GraphQL atât pe canalul lui Brad, cât și pe canalul Routech. Dar el spune: „GraphQL nu este ceva ce trebuie să înveți în zilele noastre, dar este suficient de mare încât să cred că este aici pentru a rămâne. Este mai mult decât o tendință”.

Brad vorbește, de asemenea, despre sistemele de gestionare a conținutului (CMS) și despre modul în care acestea evoluează către noi opțiuni „fără cap” în care le folosiți doar ca back-end și vă codificați propriul front-end.

„CMS-urile sunt foarte la îndemână pentru profesioniștii independenți care au clienți care doresc să se poată conecta și să-și creeze postările de blog și alte lucruri de genul acesta. Mulți oameni ignoră WordPress, dar există un procent imens de site-uri web pe internet care sunt administrate de WordPress și este încă foarte popular ”.

Pentru serverele web, el preferă NGINX decât Apache, deoarece „pare a fi mai puțin complicat”. Folosim NGINX pe scară largă la Routech și sunt înclinat să fiu de acord.

Brad explică, de asemenea, modul în care funcționează virtualizarea și vorbește despre modul în care poate simplifica proiecte mai complexe prin standardizarea mediului pe mai multe computere. Dar el avertizează împotriva încercării de a virtualiza totul:

“Docker este foarte bun pentru echipe. Ceea ce nu-mi place este când oamenii spun că ar trebui să utilizați întotdeauna Docker. Este doar o preferință. Dacă doriți doar să rulați un server LAMP local, nu este nimic în neregulă cu asta. Nu simțiți presiunea să învețe ceva de genul lui Docker “.

Și adaugă, pentru a sublinia ceva pe care personal nu îl pot sublinia suficient: „Știu că o mulțime de tipuri tocilare vor doar să complice lucrurile și urăsc asta. Doar pentru că enumer toate acestea nu înseamnă că îl împing pe tu.”

De asemenea, el subliniază rapid că majoritatea companiilor mari au echipe DevOps dedicate (numite și „ingineri de fiabilitate a site-urilor”) care pot face multe din aceste lucruri pentru dvs.

Îmi place să ai abilități pe care le poți învăța ca specialități

Dacă doriți să vă testați mâinile la dezvoltarea aplicațiilor mobile, Brad vă recomandă cu tărie cadrul Flutter. Folosește Dart, care este un limbaj mai obscur. El îl descrie pe Dart ca undeva între Java și JavaScript și spune că, dacă știți oricare dintre aceste limbi, ar trebui să le puteți ridica.

1611555790 749 Dezvoltare web in 2020 ce instrumente de codare ar trebui

A doua sa alegere pentru dezvoltarea aplicațiilor mobile este React Native, care este ușor de preluat dacă știți deja React.

Brad face atunci o treabă excelentă de a explica ce sunt aplicațiile web progresive și câteva dintre beneficiile acestora. Iată diapozitivul, dar din nou, vă încurajez cu tărie să urmăriți videoclipul său complet.

1611555790 243 Dezvoltare web in 2020 ce instrumente de codare ar trebui

Apoi atinge Electron, care vă permite să creați aplicații desktop folosind JavaScript. El a fost inițial sceptic, dar spune că unele dintre aplicațiile sale desktop preferate – cum ar fi VS Code și Discord – sunt acum construite folosind Electron.

El menționează JAMstack (JavaScript, API-uri și Markup) și arhitectura fără server. Acestea sunt subiecte mai avansate pe care atât canalul său, cât și canalul YouTube Routech au și tutoriale video.

Și apoi ajunge la marile tendințe pentru 2020.

Învățare automată și asamblare web

Doar pentru că toți ceilalți vorbesc despre învățarea automată nu înseamnă că trebuie să renunți la totul și să-l înveți. Așa prefață această etapă a discuției sale.

Și da, puteți face și învățarea automată în JavaScript.

“Python este regele pentru învățarea automată. Dar chiar și cu JavaScript aveți TensorFlow.js, aveți Brain.js pentru a crea rețele neuronale și pentru a face niște lucruri interesante.”

Din modul în care vorbește despre Web Assembly este clar că este destul de încântat de asta.

„Asamblarea web este încă în stadiile incipiente, dar cred că vom vedea mai multe din acest an. În mod tradițional, folosim JavaScript pe pagina web pentru a manipula DOM și a executa calcule. JavaScript are limitări în ceea ce privește viteza. O limbă cum ar fi C sau C ++ este mult mai rapid decât JavaScript. Deci, Asamblarea Web este un cod de octet eficient, de nivel scăzut, care poate fi executat de un browser și este extrem de rapid. Poate fi generat de limbaje precum C, C ++ și Rust. “

Rugina este una dintre limbile pe care le puteți utiliza cu WebAssembly (în plus față de C și C ++). Este semnificativ mai ușor de învățat și de utilizat decât C și C ++.

Dar este important să rețineți că WebAssembly nu vă scuză de a trebui să învățați JavaScript.

„Aproape că te poți gândi la JavaScript ca șef și poate să spună Asamblării Web ce trebuie să facem. Deci, ne permite să folosim limbaje foarte rapide la nivel scăzut, cum ar fi C ++, în aplicațiile noastre web, iar acest lucru ne oferă mult mai multe funcții – cum ar fi jocuri video de nivel superior și instrumente de editare video chiar în browser – lucruri care sunt de neconceput doar cu JavaScript. “

În încheiere, el spune: „Cu cât înveți mai mult, cu atât este mai ușor să înveți mai multe și să adaptezi toate aceste tehnologii. Încercați să nu vă lăsați copleșiți. Faceți un pas la rând și faceți câteva cercetări și aflați ce vreau sa fac.”

Din nou, vreau să îi mulțumesc lui Brad Traversy pentru realizarea acestui videoclip cuprinzător.

Oamenii mă întreabă tot timpul „ce ar trebui să învăț dacă vreau să devin dezvoltator web?” Și răspunsul meu este „folosiți Routech ca curriculum principal, și filtrați-vă în alte resurse de învățare pe măsură ce mergeți”.

Și sunt bucuros să spun asta Canalul YouTube al lui Brad’s Traversy Media este una dintre acele resurse suplimentare pe care le recomand cel mai mult.