Necesar pentru programare web. Servicii Internet utile pentru învățarea principiilor de bază ale programării și a structurii de cod a oricărei aplicații. Crearea de aplicații pentru sistemul de operare Windows

  • Traducere
  • Tutorial

Drumul este lung și anevoios, dar interesant și util!

Articolul a fost conceput ca ghid practic pentru cei care doresc să devină un dezvoltator web profesionist. Am scris cod web de peste 20 de ani. Lucrez cu și ajut dezvoltatorii web în fiecare zi. În acest articol, voi descrie ce trebuie să înveți, când trebuie să înveți și de unde să obții informațiile (cel mai adesea, chiar și gratuit). Apoi, voi da sfaturi pentru a obține experiență în lumea reală și, cel mai important, pentru a fi plătit pentru a scrie cod.

Există multe link-uri către gratuit și resurse importante. Pentru simplitate, le-am adunat în PDF și le-am împărțit pe categorii. Nu sunt plătit pentru că menționez site-uri către care am furnizat link-uri - vreau doar să vă recomand cele mai bune resurse pentru a vă ajuta să vă atingeți obiectivul.

Lucruri de amintit:

1. Aveți voie să parcurgeți articolul

Ghidul vă poate ajuta indiferent unde vă aflați pe drumul către dezvoltarea profesională. Derulați la titlul care descrie cel mai bine situația dvs. actuală și citiți de acolo. Dacă tocmai ați început această cale sau încă vă gândiți la ea, urmați sfatul regelui din „Alice în Țara Minunilor”:

Începeți de la început și continuați până ajungeți la sfârșit; și oprește-te deja acolo.

2. Încearcă puțin din toate și apoi alege o specializare.

Banii nu sunt cel mai important lucru. Trebuie să iubești ceea ce faci! Dar nu vei ști ce îți place până nu îl încerci.


Găsește-ți pasiunea, apoi monetizează-o

Ghidul vă va ajuta să vă familiarizați cu cât mai multe o cantitate mare domenii de dezvoltare web cât mai repede posibil. Și apoi te va ajuta să alegi o specializare în zona care îți place. Nu vei deveni perfect la nimic la început - vei învăța elementele de bază și apoi vei continua să înveți. Găsește-ți pasiunea și îți voi arăta cum să mergi mai departe.

Am decis să scriu cod. Îmi place web-ul. Nu stiu de unde sa incep


Vei reusi!

Felicitări! Acesta este un prim pas mare și începutul a ceva foarte interesant. Dar poate fi și foarte dificil. Nu-ți face griji, te voi ajuta.

În primul rând, trebuie să vă familiarizați rapid cu elementele de bază ale tuturor domeniilor dezvoltării web („ciclul complet”). Antrenamentul va fi variat, dar superficial. Acesta este pentru a găsi un domeniu care vă place și, de asemenea, pentru a dobândi abilități de bază zone diferite. Apoi veți putea înțelege și lucra cu set mare sarcini, indiferent de ceea ce alegeți.

Aflați elementele de bază ale HTML

Limbajul de marcare hipertext Limbajul de marcare(HTML), controlează conținutul și aspectul a ceea ce vedeți în browser. Odată ce începeți acolo, aveți o interfață de utilizator cu care puteți interacționa și puteți vedea rezultatele codului dvs. Pe măsură ce înveți limbi mai complexe, importanța acestora va crește. Nu trebuie să codificați orbește.

Iată ce trebuie să înveți Tema HTML:

Cunosc deja elementele de bază ale HTML

Misto! Aceasta este foarte pas important. Acum, aflați elementele de bază ale JavaScript.

Aflați elementele de bază JavaScript

JavaScript este limbajul web și toate browserele majore (Chrome, Firefox, Safari, IE, multe altele) îl acceptă. Fiecare site, fiecare aplicație web pe care ați folosit-o, cel mai probabil conține o cantitate mare Cod JS. Ca să nu mai vorbim de faptul că limbajul câștigă popularitate pe alte platforme - servere, computere desktop, Alte dispozitive.

Pentru moment, aveți nevoie de elementele de bază, iar următoarele resurse sunt bune pentru asta:

Cunosc elementele de bază ale JavaScript și HTML

Uimitor! Acum să adăugăm CSS la abilitățile tale

Învață CSS

CSS sau Foi de stil în cascadă (foi de stil în cascadă). Folosit pentru setare aspect elemente HTML Pe pagina. Consultați tutorialul gratuit al Mozilla, apoi consultați trucurile CSS pentru a rezolva cele mai frecvente probleme. probleme complexe(este o cautare in dreapta sus).

Să trecem la backend

Până acum, ne-am uitat la ceea ce se numește „front end” al dezvoltării web. Te-ai familiarizat cu principalele limbi care rulează în browser. Este timpul să trecem la backend - codul care rulează pe server. Nu vă faceți griji, nu veți avea nevoie de un server - computerul se va ocupa de el.

Există o mulțime de limbi backend, dar, deoarece sunteți familiarizat cu JavaScript, vă recomand să învățați să utilizați Node.js. Vă permite să rulați cod JS pe server, mai degrabă decât în ​​browser.

În plus, trebuie să înveți Express și MongoDB.

Expres
Aceasta este o bibliotecă cu care Node.JS poate funcționa ca server web (ascultă solicitările din pagini și trimite-le răspunsuri).
MongoDB
Este o bază de date care vă permite să stocați și să preluați informații.

Puteți studia aceste trei subiecte datorită următorului material educațional excelent și gratuit și continuării acestuia.

Trebuie să aleg între dezvoltarea frontend, backend și ciclu complet

După ce ați încercat ambele opțiuni de dezvoltare, este timpul să faceți o alegere. Dacă nu ați avut timp să le încercați, consultați secțiunea anterioară a articolului pentru a completa golurile din cunoștințele dvs.

În acest moment, ați scris două tipuri de cod. Unul este pentru interacțiunea cu utilizatorul, celălalt este pentru date. Ce preferi?

Interacțiunea cu utilizatorul? Felicitări, ești un dezvoltator front-end!

Interacțiunea cu datele? Felicitări, ești un dezvoltator backend!

Ambii? Felicitări, ești un dezvoltator full-stack!

Nu ți-a plăcut nimic? Felicitări, dezvoltarea web nu este pentru tine. Bucură-te că te-ai dat seama acum și că nu ai pierdut o mulțime de timp și bani. Nu ești pregătit să renunți? Poate nu ai întâlnit o limbă care ți-a plăcut? Încercați să învățați alte limbi în secțiunea „Vreau să fiu dezvoltator backend”.

Vreau să fiu un dezvoltator full-stack

Misto. Trebuie să citiți tot conținutul secțiunilor „Vreau să fiu dezvoltator backend” și „Vreau să fiu dezvoltator frontend”.

Vreau să fiu un dezvoltator front-end și cunosc elementele de bază ale JavaScript, HTML și CSS

Pentru munca eficientaÎn calitate de dezvoltator front-end, trebuie să cunoașteți HTML, CSS și JavaScript la nivelul clientului. De asemenea, va trebui să înțelegeți bine mai multe cadre importante. Veți dobândi abilitățile pe care angajatorii și clienții se așteaptă să le găsească la dezvoltatorii front-end.

Până acum ar trebui să cunoașteți deja elementele de bază ale HTML. În caz contrar, reveniți la secțiunea Aflați elementele de bază HTML.

Învață HTML intermediar și avansat
Consultați tutorialul HTML intermediar și apoi tutorialul HTML avansat.
Aflați JavaScript avansat la nivel de client


O serie excelentă de cărți despre JS și este gratuită

Pentru a vă îmbunătăți cunoștințele JavaScript, vă recomand seria de cărți You Don't Know JS de Kyle Simpson. Autorul a postat întreaga serie online gratuit:

În plus, dvs cel mai bun prieten ar trebui să devină și MDN JavaScript.

[De asemenea, o traducere excelentă a cărții excelente „Expressive JavaScript” vă este disponibilă complet gratuit.]

Cunoașterea trinității front-end, HTML, CSS și JavaScript este, desigur, grozavă. Dar pentru a face bani, va trebui să vă familiarizați cu niște cadre.

Învață jQuery
Este cea mai populară bibliotecă JS din toate timpurile. Deși unele cadre noi au făcut jQuery mai puțin important, dacă sunteți în căutarea unui loc de muncă, există șanse mari ca jQuery să fie pe descrierile postului (și menționat în interviuri) pentru mulți ani de acum înainte.

Recomand să înveți jQuery folosind materiale FreeCodeCamp - este rapid și metoda eficienta. După aceea, accesați site-ul oficial de antrenament - acolo veți găsi instrucțiuni suplimentare.

Aflați un cadru JS popular
Framework-urile facilitează lucrul cu un anumit limbaj sau tehnologie, deoarece rezolvă cele mai mari probleme existente pentru tehnologia selectată. JavaScript a avut un efect foarte benefic asupra dezvoltării și popularizării cadrelor.

Aproape o dată pe săptămână apare un nou cadru, care va înlocui un nou standard de dezvoltare. Va trebui să parcurgeți site-urile de locuri de muncă și să căutați puțin pe Google pentru a afla ce cadru este popular pe piața dvs. De asemenea, recomand instrumentul Hacker News pentru evaluarea tendințelor pieței muncii.

La momentul scrierii acestui articol, următoarele cadre erau populare:

După ce ai ales cel mai potrivit cadru și te-ai familiarizat cu acesta, merită să studiezi cadrul CSS care vine cu acesta. Cei mai mari doi jucători de pe această piață astăzi sunt Bootstrap și Material Design.

Bootstrap
Bootstrap a fost creat de dezvoltatorii Twitter și este deja destul de matur și popular. Există versiuni Bootstrap pentru Angular, Angular 2 și React.
Material
Material este un set de reguli de proiectare dezvoltate la Google. Câștigă popularitate și există versiuni pentru Angular și React. Deoarece Angular este, de asemenea, o creație a Google, Material se potrivește perfect cu acesta.

Iată câteva link-uri pentru tine:

Felicitări! Aveți abilități cheie de dezvoltator front-end!


Uită-te doar la el!

Vreau să fiu dezvoltator backend

Minunat! Primul pas este alegerea unei limbi. Există multe limbi disponibile pentru lucrul cu backend și fiecare are propriile sale avantaje și dezavantaje. Consultați tabelul limbajelor de programare sortate după popularitate. Toți sunt în top zece de zece ani. Cele marcate cu verde sunt limbi web care au câștigat popularitate de-a lungul anilor.


Indexul TIOBE al limbajelor de programare, www.tiobe.com/tiobe_index?page=index

Concentrează-te pe limbile ale căror nume le-am încercuit în verde. Dacă nu le cunoașteți, începeți din partea de sus a mesei și mergeți în jos. Oprește-te când găsești ceva care îți place și sapă adânc!

Dacă sunteți familiarizat cu una dintre cele marcate verde limbi și îți place - concentrează-te asupra ei.

Îmbunătățiți-vă abilitățile de interviu
Trebuie să vă pregătiți pentru mai mult decât pentru a scrie cod. Un articol bun de la Life Hacker descrie o mulțime de informații utile și valoroase.
Principalul lucru este să câștigi un punct de sprijin pe piață
Nu vă faceți griji prea mult pentru a obține jobul de vis la angajatorul de vis cu salariul de vis. În primul rând, obțineți un loc de muncă în care scrieți cod pentru bani. Odată ce dobândiți mai multă experiență, vă puteți planifica următorul pas.
Vreau să fiu freelancer
A fi propriul tău șef este bine, dar vine și cu o presiune enormă și dificultăți mari. Cea mai bună sursă informații despre freelancing din tot ce am văzut - DoubleYourFreelancing.com. Are o serie de articole care te vor ajuta să devii un freelancer mai bun decât aș putea eu vreodată. Citit.

O altă opțiune, dacă ai încredere în tine, este serviciul Toptal. Acceptă doar 3% din toți solicitanții, iar procesul este foarte complicat, dar dacă intri, vei avea acces la joburi bine plătite la care poți lucra de la distanță.

Am început să lucrez, dar simt că sunt într-o fundătură
A intelege. Nu este ușor și dacă cineva ți-a spus altfel, fie nu a făcut-o, fie încearcă să te înșele din bani. Dacă vă simțiți blocat, încercați aceste opțiuni:
Actualizează-ți intenția inițială
Întrebați-vă, scrieți pe hârtie de ce ați decis să urmați această cale. Mai este valabil raspunsul tau? Dacă da, atunci de ce să te oprești? Redirecţiona!

De unde să înveți programarea de la zero?
În acest articol, am încercat să analizez în detaliu dacă este posibil să devii programator de la zero pe cont propriu și ce opțiuni sunt disponibile pentru a stăpâni programarea și a începe să câștigi bani din asta.
UPD: Cei care caută de unde să învețe programarea de la zero în 2018 (sau doar se pregătesc să înceapă în 2019 :)) sunt foarte norocoși datorită cărții lui Yakov Kramarenko „Introducere în dezvoltare” software" Recomand din toată inima să-l verificați - merită o actualizare cu evaluarea numărul 1 Google și recenziile cititorilor pentru cei care învață să codeze singuri.

Am încercat să dau cel mai bun mod - după părerea mea. Vă avertizez - nu este ușor! Lectură în continuare te poate costa multe ore de activități interesante :)

Vă spun imediat - dacă vă decideți să studiați programarea numai pe cont propriu, fără a investi bani, va trebui să petreceți mai mult timp. Așteptați-vă să stăpâniți o nouă specialitate în cel puțin un an dacă studiați în paralel cu un alt loc de muncă.

Dacă găsiți ceva de adăugat la acest articol pentru a-l face mai util pentru oameni, scrieți în comentarii.

Acest articol conține o practică mai bună, pe baza experienței mele, dacă vrei să înveți singur programarea. Toate acestea sunt încă relevante cu câteva completări.

O carte despre programarea web pentru începători

Versiunea 2016 este tradusă: https://courses.prometheus.org.ua/courses/Prometheus/CS50/2016_T1/about.

Este mai bine să urmați cursul în limba engleză. Îți vei îmbunătăți limbajul și informațiile vor fi mai proaspete. Deși cursul de schimb nu s-a schimbat prea mult - doar în 2017 în schimb PHP a pornit să fie folosit de Python.

Finalizarea cursului va dura timp, dar va oferi o înțelegere destul de completă, care altfel este dificil de obținut pe cont propriu.

Inițial, trebuie să decideți ce domeniu de programare vă interesează. Dacă despre care vorbim despre învățarea dezvoltării de la zero și vrei să începi să câștigi bani în curând, atunci după părerea mea există două opțiuni: dezvoltare pentru dispozitive mobile sau dezvoltare web.

Cea mai bună alegere într-o astfel de situație, după părerea mea, este să începi să înveți dezvoltarea web. Aici pragul de intrare pentru începători este mai scăzut și există posibilitatea de a începe să îndepliniți comenzile simple mai devreme.

Cum să devii singur programator de la zero

Dacă aș începe de la zero pentru a învăța singur dezvoltarea web (înțelegând că fără a investi bani aceasta este o cale mai lungă), atunci mi-aș recomanda această cale:

1. Înțelegeți HTML și CSS

Un curs bun pentru dezvoltarea de bază a HTML și CSS: https://learn.shayhowe.com/html-css/ (engleză) sau https://webref.ru/layout/learn-html-css (traducere).

După aceea, merită să ne uităm la capacitățile Bootstrap, care a devenit standardul de facto pentru dezvoltarea accelerată a aplicațiilor web: http://getbootstrap.com/

Acest lucru va fi suficient pentru următorii pași.
Poate doriți să vă opriți în acest moment și să studiați CSS mai detaliat. Acest lucru vă va oferi posibilitatea de a lucra ca designer de layout - o persoană care face un design static din Pagina HTML, după care programatorul îl reînvie, implementând logica proiectului.

De asemenea, puteți câștiga bani din asta - atât ca freelancer, cât și lucrând într-o companie IT specializată în dezvoltare web.

Dar de când ne-am hotărât să devenim programator, mergem mai departe!

2. Cunoașteți jQuery

Dacă v-a plăcut, puteți continua să înțelegeți interfața și să începeți să învățați Javascript.

Dacă urmează https://angularjs.org/ sau http://backbonejs.org/, atunci aceasta este calea către dezvoltarea front-end. O specialitate bună, mai ales că astfel de cunoștințe vor fi utile oricărui programator care a ales dezvoltarea web.

Sfatul meu este să rămâneți cu jQuery pentru moment și să mergeți mai departe.

3. Stăpânește un limbaj de programare pentru server

Există o mulțime de alegere aici. Cele mai promițătoare limbaje de programare sunt Ruby, Java, Python, Node.JS (Javascript pentru server).

Cel mai într-un limbaj simplu programarea pentru un începător va fi Python. Dacă înveți Python și apoi cadrul de dezvoltare web Django, vei avea tot ce ai nevoie pentru a aborda pe cont propriu niște proiecte destul de complexe.

O opțiune bună este limbajul de programare Python și Django

Plus - Python și Django vă vor învăța programarea „corectă”. Python este în mod constant printre cele mai populare limbi TOP5-10 și buni specialisti Python are unii dintre cei mai bine plătiți programatori. Python este un limbaj de programare simplu și ușor de înțeles pentru programatorii începători și este folosit în mulți companii mariși pe proiecte mari.

Pentru a începe pe cont propriu, citiți „Python for Kids” de Jason Briggs sau urmăriți:

Printre alte materiale, recomand Learn Python The Hard Way. carte " Python simplu. Stilul modern de programare.” Și, desigur, Tutorialul Python 2 și Tutorialul Python 3.

Django este, fără îndoială, cel mai bun cadru pentru dezvoltarea web

Cel mai bun instrument pentru toate ocaziile este foarte greu de găsit. Django are potențialul de a deveni un astfel de instrument pentru dezvoltarea web.

De unde să începi să înveți Django:

Începe cu documentație oficială, există un tutorial foarte bun: https://docs.djangoproject.com/en/2.1/intro/

Tango cu Django este oportunitate bunaîmbunătățiți-vă limba engleză și, în același timp, înțelegeți cum sunt structurate proiectele web și cum funcționează totul.

Opțiunea #2 - PHP și WordPress

O altă modalitate este să începeți cu PHP și să lucrați cu CMS popular. Dacă învățați singur să programați și doriți să începeți rapid, începeți cu PHP.

Mulți oameni consideră PHP un limbaj de programare „nu chiar real” și din motive întemeiate. PHP este rar folosit în aplicații web mari și este conceput doar pentru web - nu poate fi folosit în alte domenii.

Pe de altă parte, PHP conduce la numărul de site-uri web lansate în lume. Cele mai populare CMS (sisteme de management al conținutului) se bazează pe acesta.

După aceea, descoperiți cum să creați teme pentru WordPress - acesta este probabil cel mai popular CMS din lume, dacă este măsurat prin numărul de site-uri care rulează.

Odată ce înțelegi bine acest lucru, poți deja să-ți găsești un loc de muncă. Există o mulțime de site-uri care rulează PHP și WordPress, așa că există suficientă muncă pentru toată lumea.

Cum să începi să faci bani ca programator

Mulți oameni își imaginează munca unui programator independent astfel:

In realitate arata cam asa:

Dacă ești gata să lucrezi ca programator și cauți o modalitate de a câștiga bani, bine ai venit la freelancing! Schimburile independenți vă vor permite să găsiți comenzi simple(posibil aproape gratuit la început) - pentru a face antrenament. În general, munca pentru o companie IT poate fi mai profitabilă dacă sunteți doar în căutarea unui loc de muncă în programare.

După punctul 2 - stăpânind HTML, CSS și jQuery - poți merge la schimburi independente și poți lua comenzi simple, construindu-ți profilul.

Știi engleză? https://www.upwork.com/

Deloc, chiar și cu un dicționar? http://freelance.ru/

Până când veți putea face site-uri web, vă va fi mai ușor să găsiți clienți - vor exista recenzii și experiență.

Calea rapidă către dezvoltarea web

Pe baza experienței mele, va dura 6 până la 12 luni pentru a învăța programarea de la zero. cel mai bun scenariu, în timp ce 6 luni este dacă cineva te ajută.

Pentru a accelera procesul de intrare în IT, căutați oportunitatea de a merge la antrenament (s-ar putea să aveți nevoie de mai multe) sau găsiți o persoană care să se antreneze cu dvs. În realitate, fără o persoană care să-ți transmită cunoștințele, este foarte greu să stai un an să citești cărți și să nu începi niciodată; Si cu persoană informată despre care poate vorbi pur și simplu lucruri dificile- mult mai ușor.

La un moment dat, am ales calea de intrare prin antrenament. Având în vedere că știam multe despre dezvoltare, acest lucru mi-a permis să stăpânesc în 2 luni ceea ce ar fi putut dura șase luni. Gaseste-ti calea.

Am oameni care au decis serios să înceapă o carieră de programare și vor să accelereze procesul. Există multe alte cursuri. Dacă vă găsiți un mentor - o persoană care vă va conduce de mână - acest lucru vă va scurta semnificativ calea spre a deveni dezvoltator.

De îndată ce te simți încrezător că poți crea ceva, caută o companie în care să te poți dezvolta în continuare sau clienți.

HTML, CSS, Python și Javascript sunt doar cunoștințele de bază, prima etapă. În continuare, practica, studierea algoritmilor și a instrumentelor de dezvoltare este foarte importantă.

Dacă aveți întrebări, întrebați în comentarii! Sper că acest articol vă va ajuta să faceți primul pas. Noroc!

  • Traducere
  • Tutorial

Drumul este lung și anevoios, dar interesant și util!

Articolul a fost conceput ca un ghid practic pentru cei care doresc să devină un dezvoltator web profesionist. Am scris cod web de peste 20 de ani. Lucrez cu și ajut dezvoltatorii web în fiecare zi. În acest articol, voi descrie ce trebuie să înveți, când trebuie să înveți și de unde să obții informațiile (cel mai adesea, chiar și gratuit). Apoi, voi da sfaturi pentru a obține experiență în lumea reală și, cel mai important, pentru a fi plătit pentru a scrie cod.

Există multe link-uri către resurse gratuite și importante împrăștiate de-a lungul articolului. Pentru simplitate, le-am adunat în PDF și le-am împărțit pe categorii. Nu sunt plătită să menționez site-urile către care fac link - vreau doar să recomand cele mai bune resurse pentru a vă ajuta să vă atingeți obiectivul.

Lucruri de amintit:

1. Aveți voie să parcurgeți articolul

Ghidul vă poate ajuta indiferent unde vă aflați pe drumul către dezvoltarea profesională. Derulați la titlul care descrie cel mai bine situația dvs. actuală și citiți de acolo. Dacă tocmai ați început această cale sau încă vă gândiți la ea, urmați sfatul regelui din „Alice în Țara Minunilor”:

Începeți de la început și continuați până ajungeți la sfârșit; și oprește-te deja acolo.

2. Încearcă puțin din toate și apoi alege o specializare.

Banii nu sunt cel mai important lucru. Trebuie să iubești ceea ce faci! Dar nu vei ști ce îți place până nu îl încerci.


Găsește-ți pasiunea, apoi monetizează-o

Ghidul vă va ajuta să vă familiarizați cu cât mai multe domenii ale dezvoltării web cât mai repede posibil. Și apoi te va ajuta să alegi o specializare în zona care îți place. Nu vei deveni perfect la nimic la început - vei învăța elementele de bază și apoi vei continua să înveți. Găsește-ți pasiunea și îți voi arăta cum să mergi mai departe.

Am decis să scriu cod. Îmi place web-ul. Nu stiu de unde sa incep


Vei reusi!

Felicitări! Acesta este un prim pas mare și începutul a ceva foarte interesant. Dar poate fi și foarte dificil. Nu-ți face griji, te voi ajuta.

În primul rând, trebuie să vă familiarizați rapid cu elementele de bază ale tuturor domeniilor dezvoltării web („ciclul complet”). Antrenamentul va fi variat, dar superficial. Acest lucru este pentru a găsi un domeniu care vă place și, de asemenea, pentru a obține abilități de bază în diferite domenii. Apoi veți putea înțelege și lucra cu un set mare de probleme, indiferent de ceea ce alegeți.

Aflați elementele de bază ale HTML

Hypertext Markup Language (HTML) controlează conținutul și aspectul a ceea ce vedeți în browser. Odată ce începeți acolo, aveți o interfață de utilizator cu care puteți interacționa și puteți vedea rezultatele codului dvs. Pe măsură ce înveți limbi mai complexe, importanța acestora va crește. Nu trebuie să codificați orbește.

Iată ce trebuie să înveți despre HTML:

Cunosc deja elementele de bază ale HTML

Misto! Acesta este un pas foarte important. Acum, aflați elementele de bază ale JavaScript.

Aflați elementele de bază JavaScript

JavaScript este limbajul web și toate browserele majore (Chrome, Firefox, Safari, IE, multe altele) îl acceptă. Fiecare site, fiecare aplicație web pe care ați folosit-o, cel mai probabil conține o cantitate imensă de cod JS. Ca să nu mai vorbim de faptul că limbajul câștigă popularitate pe alte platforme - servere, computere desktop și alte dispozitive.

Pentru moment, aveți nevoie de elementele de bază, iar următoarele resurse sunt bune pentru asta:

Cunosc elementele de bază ale JavaScript și HTML

Uimitor! Acum să adăugăm CSS la abilitățile tale

Învață CSS

CSS sau Foi de stil în cascadă (foi de stil în cascadă). Folosit pentru a personaliza aspectul elementelor HTML pe pagină. Consultați tutorialul gratuit al Mozilla, apoi consultați trucurile CSS pentru cele mai dificile probleme (căutați în dreapta sus).

Să trecem la backend

Până acum, ne-am uitat la ceea ce se numește „front end” al dezvoltării web. Te-ai familiarizat cu principalele limbi care rulează în browser. Este timpul să trecem la backend - codul care rulează pe server. Nu vă faceți griji, nu veți avea nevoie de un server - computerul se va ocupa de el.

Există o mulțime de limbi backend, dar, deoarece sunteți familiarizat cu JavaScript, vă recomand să învățați să utilizați Node.js. Vă permite să rulați cod JS pe server, mai degrabă decât în ​​browser.

În plus, trebuie să înveți Express și MongoDB.

Expres
Aceasta este o bibliotecă cu care Node.JS poate funcționa ca server web (ascultă solicitările din pagini și trimite-le răspunsuri).
MongoDB
Este o bază de date care vă permite să stocați și să preluați informații.

Puteți studia aceste trei subiecte datorită următorului material educațional excelent și gratuit și continuării acestuia.

Trebuie să aleg între dezvoltarea frontend, backend și ciclu complet

După ce ați încercat ambele opțiuni de dezvoltare, este timpul să faceți o alegere. Dacă nu ați avut timp să le încercați, consultați secțiunea anterioară a articolului pentru a completa golurile din cunoștințele dvs.

În acest moment, ați scris două tipuri de cod. Unul este pentru interacțiunea cu utilizatorul, celălalt este pentru date. Ce preferi?

Interacțiunea cu utilizatorul? Felicitări, ești un dezvoltator front-end!

Interacțiunea cu datele? Felicitări, ești un dezvoltator backend!

Ambii? Felicitări, ești un dezvoltator full-stack!

Nu ți-a plăcut nimic? Felicitări, dezvoltarea web nu este pentru tine. Bucură-te că te-ai dat seama acum și că nu ai pierdut o mulțime de timp și bani. Nu ești pregătit să renunți? Poate nu ai întâlnit o limbă care ți-a plăcut? Încercați să învățați alte limbi în secțiunea „Vreau să fiu dezvoltator backend”.

Vreau să fiu un dezvoltator full-stack

Misto. Trebuie să citiți tot conținutul secțiunilor „Vreau să fiu dezvoltator backend” și „Vreau să fiu dezvoltator frontend”.

Vreau să fiu un dezvoltator front-end și cunosc elementele de bază ale JavaScript, HTML și CSS

Pentru a lucra eficient ca dezvoltator front-end, trebuie să cunoașteți fluent HTML, CSS și JavaScript la nivelul clientului. De asemenea, va trebui să înțelegeți mai multe cadre importante. Veți dobândi abilitățile pe care angajatorii și clienții se așteaptă să le găsească la dezvoltatorii front-end.

Până acum ar trebui să cunoașteți deja elementele de bază ale HTML. În caz contrar, reveniți la secțiunea Aflați elementele de bază HTML.

Învață HTML intermediar și avansat
Consultați tutorialul HTML intermediar și apoi tutorialul HTML avansat.
Aflați JavaScript avansat la nivel de client


O serie excelentă de cărți despre JS și este gratuită

Pentru a vă îmbunătăți cunoștințele JavaScript, vă recomand seria de cărți You Don't Know JS de Kyle Simpson. Autorul a postat întreaga serie online gratuit:

În plus, MDN JavaScript ar trebui să fie și cel mai bun prieten al tău.

[De asemenea, o traducere excelentă a cărții excelente „” vă este, de asemenea, disponibilă complet gratuit.]

Cunoașterea trinității front-end, HTML, CSS și JavaScript este, desigur, grozavă. Dar pentru a face bani, va trebui să vă familiarizați cu niște cadre.

Învață jQuery
Este cea mai populară bibliotecă JS din toate timpurile. Deși unele cadre noi au făcut jQuery mai puțin important, dacă sunteți în căutarea unui loc de muncă, există șanse mari ca jQuery să fie pe descrierile postului (și menționat în interviuri) pentru mulți ani de acum înainte.

Recomand să înveți jQuery folosind materiale FreeCodeCamp - este o metodă rapidă și eficientă. După aceea, accesați site-ul oficial de antrenament - acolo veți găsi instrucțiuni suplimentare.

Aflați un cadru JS popular
Framework-urile facilitează lucrul cu un anumit limbaj sau tehnologie, deoarece rezolvă cele mai mari probleme pe care le are tehnologia aleasă. JavaScript a avut un efect foarte benefic asupra dezvoltării și popularizării cadrelor.

Aproape o dată pe săptămână apare un nou cadru, care va înlocui un nou standard de dezvoltare. Va trebui să parcurgeți site-urile de locuri de muncă și să căutați puțin pe Google pentru a afla ce cadru este popular pe piața dvs. De asemenea, recomand instrumentul Hacker News pentru evaluarea tendințelor pieței muncii.

La momentul scrierii acestui articol, următoarele cadre erau populare:

După ce ai ales cel mai potrivit cadru și te-ai familiarizat cu acesta, merită să studiezi cadrul CSS care vine cu acesta. Cei mai mari doi jucători de pe această piață astăzi sunt Bootstrap și Material Design.

Bootstrap
Bootstrap a fost creat de dezvoltatorii Twitter și este deja destul de matur și popular. Există versiuni Bootstrap pentru Angular, Angular 2 și React.
Material
Material este un set de reguli de proiectare dezvoltate la Google. Câștigă popularitate și există versiuni pentru Angular și React. Deoarece Angular este, de asemenea, o creație a Google, Material se potrivește perfect cu acesta.

Iată câteva link-uri pentru tine:

Felicitări! Aveți abilități cheie de dezvoltator front-end!


Uită-te doar la el!

Vreau să fiu dezvoltator backend

Minunat! Primul pas este alegerea unei limbi. Există multe limbi disponibile pentru lucrul cu backend și fiecare are propriile sale avantaje și dezavantaje. Consultați tabelul limbajelor de programare sortate după popularitate. Toți sunt în top zece de zece ani. Cele marcate cu verde sunt limbi web care au câștigat popularitate de-a lungul anilor.


Indexul TIOBE al limbajelor de programare, www.tiobe.com/tiobe_index?page=index

Concentrează-te pe limbile ale căror nume le-am încercuit în verde. Dacă nu le cunoașteți, începeți din partea de sus a mesei și mergeți în jos. Oprește-te când găsești ceva care îți place și sapă adânc!

Dacă sunteți familiarizat cu una dintre limbile marcate cu verde și vă place, concentrați-vă asupra ei.

Îmbunătățiți-vă abilitățile de interviu
Trebuie să vă pregătiți pentru mai mult decât pentru a scrie cod. Un articol bun de la Life Hacker descrie o mulțime de informații utile și valoroase.
Principalul lucru este să câștigi un punct de sprijin pe piață
Nu vă faceți griji prea mult pentru a obține jobul de vis la angajatorul de vis cu salariul de vis. În primul rând, obțineți un loc de muncă în care scrieți cod pentru bani. Odată ce dobândiți mai multă experiență, vă puteți planifica următorul pas.
Vreau să fiu freelancer
A fi propriul tău șef este un lucru bun, dar vine și cu o presiune enormă și dificultăți mari. Cea mai bună sursă de informații despre freelancing pe care am văzut-o este DoubleYourFreelancing.com. Are o serie de articole care te vor ajuta să devii un freelancer mai bun decât aș putea eu vreodată. Citit.

O altă opțiune, dacă ai încredere în tine, este serviciul Toptal. Acceptă doar 3% din toți solicitanții, iar procesul este foarte complicat, dar dacă intri, vei avea acces la joburi bine plătite la care poți lucra de la distanță.

Am început să lucrez, dar simt că sunt într-o fundătură
A intelege. Nu este ușor și dacă cineva ți-a spus altfel, fie nu a făcut-o, fie încearcă să te înșele din bani. Dacă vă simțiți blocat, încercați aceste opțiuni:
Actualizează-ți intenția inițială
Întrebați-vă, scrieți pe hârtie de ce ați decis să urmați această cale. Mai este valabil raspunsul tau? Dacă da, atunci de ce să te oprești? Redirecţiona!

De la autor: Bună ziua, dragă cititoare a blogului nostru! Probabil ați auzit multe stereotipuri despre programatorii web. Mulți oameni cred că vorbesc un fel de limbaj special, unde în loc de cuvinte există un cod. De asemenea, sunt creaturi nocturne și practic nu dorm deloc. Programatorul nu-și scoate niciodată căștile și nu-și dă drumul mouse-ului. Și dacă nu are un șoarece în mâini, atunci desenează cu entuziasm câteva simboluri misterioase pe hârtie, o tabletă sau o masă prăfuită. Desigur, acestea nu sunt altceva decât stereotipuri. Altfel, nu ar fi atât de mulți oameni care doresc să învețe cum să devină programator web de la zero. Să le satisfacem curiozitatea și să le vorbim despre această profesie interesantă și solicitată pe internet.

Deci, te gândești cum să devii un programator web de la zero. Dar se pare că există o mică problemă... Nu aveți absolut nicio experiență. Cum să te asiguri că ești luat în serios în acest domeniu? Vă sugerez să vă familiarizați cu lista de pași care trebuie făcuți pentru a purta titlul mândru de dezvoltator web. Vei fi chiar surprins de cât de simplu este totul. Mai întâi trebuie să renunți la toate îndoielile din calea ta. Și în același timp lenea. Merge!

Scurte informații despre profesia în cauză

Obiect de studiu: programator web, cunoscut și ca dezvoltator web, cunoscut și ca dezvoltator, web master și arhitect invizibil al Internetului. Cam atâtea nume sunt.

Cine este aceasta? O persoană care dezvoltă site-uri web și aplicații web noi și îmbunătățește. Acest proces poate include etape precum proiectarea web, programarea și aspectul site-ului, configurarea serverului web și extinderea funcționalității deja proiecte finalizate.

Cerințe: abilități specifice de programare și un portofoliu decent de site-uri deja realizate pentru a-l arăta potențiali clienți.

Tipuri de webmasteri: totul depinde de ce client sau limba serverului deținut de un specialist. De exemplu, ASP.NET, Perl, C#, Java, PHP, care poate fi folosit și pentru a crea dezvoltări sau motoare pentru site-uri web - CMS. Există motoare gratuite (Joomla, WordPress) și plătite (Bitrix, SiteEdit). Programatorii deosebit de talentați își pot crea propriile motoare.

În general, dezvoltarea web este un concept mai larg decât programarea web. Casta onorabilă a dezvoltatorilor web include nu numai programatorul care scrie baza (motorul) site-ului, ci și designerul, designerul de layout, testerul etc. Există și oameni care sunt implicați în administrare, completare de conținut, promovare și promovare. a site-ului.
Iată instrucțiunile promise despre cum să devii programator web.

Pasul unu - alege o specializare

Orice curs decent de programare web învață o specializare specifică, îngustă, de la zero. Deci decide imediat ce vrei sa faci. Cel puțin în primul rând. Apoi poți explora alte orizonturi. Iată câteva direcții gata făcute din care să alegeți:

Front-end sau Back-end?

React.js sau Angular.js?

Dacă cauți cu entuziasm într-un motor de căutare ce înseamnă toate acestea, în convingerea fermă de a deveni un jack of all trades, atunci revino în fire. Majoritatea companiilor au nevoie de specialisti foarte specializati.

Deși, pentru a te decide asupra unei specializări, poate fi necesar să încerci puțin din toate. Trebuie să iubești ceea ce faci. Deci uita de bani pentru moment. Gândește-te la ce este mai aproape de tine? Vrei să scrii cod toată ziua și noaptea? Sau poate dezvolta interfețe? Sau poate site-uri de testare?

Pasul doi - Familiarizați-vă cu elementele de bază ale tuturor domeniilor dezvoltării web

Chiar dacă nu vei fi un dezvoltator „ciclu complet”, trebuie totuși să cunoști elementele de bază.

HTML și CSS.

Învățarea programării web ar trebui să înceapă cu înțelegerea Bazele HTML. Este un limbaj de marcare hipertext care controlează aspectul și conținutul informațiilor pe care le vedem în browser. În viitor, pe măsură ce înveți limbi mai complexe, importanța HTML va crește din ce în ce mai mult.

Iată ce trebuie să înveți despre HTML:

etichete, atribute, elemente;

anteturi;

Tendințele moderneși abordări în dezvoltarea web

Aflați algoritmul pentru o creștere rapidă de la zero în construirea site-ului web

paragrafe;

Imagini;

CSS este o foaie de stil în cascadă care este utilizată pentru a personaliza aspectul elementelor HTML pe o pagină web. Pentru a învăța HTML și CSS, puteți verifica acest lucru și apoi consultați cursul pentru mai multe soluții. sarcini complexe.

PHP.

Mai departe, limbaj PHP. Piața este plină de locuri libere pentru dezvoltatorii PHP. Această limbă este relativ ușoară și este excelentă pentru a începe o carieră. Aici trebuie să cunoașteți sintaxa PHP în sine și bazele de date Date MySQL, principalele lor funcții și comenzi, jQuery, AJAX, CMS, CSS și, desigur, HLML. Iată una bună.

JavaScript.

Un alt limbaj extrem de popular care rulează aproape peste tot este JavaScript. Are un domeniu de aplicare extrem de larg. Pe el sunt scrise aplicații Android, desktop și web; este acceptat de toate browserele și platformele ( dispozitive mobile, calculatoare, servere etc.).

Când studiezi Bazele JavaScript veți avea nevoie de: date și variabile, condiții, evenimente, matrice, bucle, obiecte, funcții, apeluri inverse, DOM, logică, JSON, .

Învăța limbaj JavaScript poți cu ajutorul unui curs excelent pentru programatori web.

Până acum am luat în considerare așa-numitul Dezvoltare front-end, care este conceput pentru a interacționa cu utilizatorii. Și există și cod care rulează pe server - Back-end. Dacă decideți să deveniți un dezvoltator backend, atunci vă sfătuiesc să vă familiarizați cu Node.js, care rulează cod JS pe server, biblioteca Express și baza de date MongoDB.

Pasul trei - obțineți experiență reală

Pentru a începe, finalizați câteva proiecte de formare pe care le veți găsi în cărți și cursuri pentru programatori web. De asemenea, vă puteți dezvolta propriul dvs propriul blog, chiar dacă este elementar.

Apoi începe să lucrezi pentru altcineva:

ajuta o rudă sau un prieten care deține propria afacere. Faceți un site web sau o aplicație web pentru el „pentru mulțumiri” sau pentru o taxă nominală. Doar nu țintiți imediat proiecte internaționale și nu promiteți exagerat munți de aur;

lucra la birou. Dacă ai noroc, vei deveni un programator web acolo de la zero și vei învăța de la profesioniști;

cauta comenzi pe bursele freelance si forumuri specializate. Există întotdeauna de lucru pentru dezvoltatori acolo.

Nu uitați să vă actualizați în mod constant portofoliul. Fără el, va fi dificil să găsești clienți potriviți.

Daca citesti articolul meu si nu te intereseaza nici dezvoltarea front-end, nici back-end, bucura-te, programarea web nu este pentru tine. De ce să fii fericit? Da, pentru că ți-ai dat seama la timp și nu ai pierdut mulți bani, nervi și timp.

Tendințe și abordări moderne în dezvoltarea web

Aflați algoritmul pentru o creștere rapidă de la zero în construirea site-ului web

Backend

Backend-ul este partea de server a aplicației, care nu este vizibilă pentru utilizatori. Aceasta include: autorizarea, stocarea și prelucrarea datelor, buletine informative prin e-mail etc. Să spunem doar că backend-ul este ceea ce este sub capotă.

Există multe limbaje de programare aici, iată cele mai comune:

PHP
Asp net
Java
Piton
Rubin
Nodul js

Vă sfătuiesc să alegeți doar unul, deoarece cu cerințele actuale pentru programatori, va dura cel puțin câțiva ani pentru a ajunge la nivelul mediu. Atunci când alegeți, vă puteți familiariza cu posturile vacante din orașul dvs., puteți vedea care sunt mai potrivite, unde plătesc mai mult și în funcție de ce limbă au nevoie și alegeți.

Serverul este utilizat în mare măsură pentru lucrul cu date. Prin urmare, va trebui să înveți cel puțin unul dintre baze de date relaționale date:

Oracol
MSSQL
MYSQL
Postgres

În ceea ce privește complexitatea, aceasta este aproximativ același lucru cu stăpânirea unui limbaj de programare. În toate bazele de date enumerate există o parte care este aceeași peste tot - așa-numitul sql (limbaj de interogare), precum și un limbaj procedural care este diferit în fiecare bază de date. Deoarece sql este în continuare același și este baza pentru tot ceea ce are legătură cu procesarea datelor, trecerea la o altă bază de date nu este o astfel de problemă. Prin urmare, puteți alege oricare pentru început, dar chiar și aici aș merge după principiul analizei posturilor vacante.

Personal, dau un plus studierii backend-ului, deoarece abilitățile de aici sunt mai statice și odată ce înveți ceva, poți lucra la el pentru o lungă perioadă de timp.

În față

Frontend este partea care rulează în browser cu care utilizatorul interacționează direct. Acestea sunt interfețe dinamice, meniuri, evenimente bazate pe acțiunea utilizatorului, schimb de date cu partea de server, în general, ceea ce se întâmplă pe client.

Limbajul de programare aici este javascript. Pe de o parte, acesta este un plus cert, deoarece după ce l-ați studiat, toate companiile din orașul dvs. care sunt angajate în dezvoltarea web vă vor fi deschise, iar acum multe fac acest lucru. Pe de altă parte, există nuanțe.

JavaScript are în prezent două standarde care sunt utilizate pe scară largă: ECMAScript 5 și ECMAScript 6. Diferența dintre ele este că ECMAScript 5 nu are un OPP cu drepturi depline. ECMAScript 6 o are, dar din moment ce acest standard a apărut relativ recent, majoritatea aplicațiilor sunt deja scrise în ECMAScript 5, drept urmare va fi necesară stăpânirea ambelor standarde și, ca urmare, a două abordări diferite la dezvoltare.

Un alt punct care trebuie luat în considerare este că același cod scris în javascript poate diferit antrenează-te în browsere diferiteși pe diferite sisteme de operare. Cu cerințele actuale pentru aplicații, va fi necesar să scrieți așa-numitul cod cross-browser, adică un cod a cărui execuție va da același rezultat peste tot. Nu există un manual specific pentru scrierea unui astfel de cod în acest caz, forumurile și ok Google vă pot ajuta.

Problemele problematice pe care le-am descris au fost rezolvate în cadrele js moderne (de exemplu, Angular și React). Dar în proiectele care sunt scrise fără a utiliza cadre, aceste probleme rămân.

Pentru mine personal, un dezavantaj și mai mare este că tendințele se dezvoltă foarte repede aici. Versiunile cadrelor sunt actualizate în mod constant, sunt lansate biblioteci noi și toată lumea dorește imediat să înceapă să le folosească. În general, nu poți ține pasul cu comunitatea.

Stivă completă

Deja din nume ar trebui să fie clar că acest tip dezvoltatorii dezvoltă ambele părți. Nu recomand să încercați să deveniți un astfel de dezvoltator, deoarece nu veți avea suficientă putere mentală în niciun caz și majoritatea companiilor au luat deja calea diviziunii muncii. Cu toate acestea, stiva completă este locul în care trebuie să începeți pentru a face un pas către backend sau frontend. După ce ai dezvoltat câteva aplicații mici, vei înțelege diferența dintre ele (și chiar există una) și vei putea decide care parte este mai aproape de tine.

La un moment dat, ca să mă hotăresc, am citit cartea „Crearea site-urilor web dinamice”, autor „Robin Nixon”. Cartea este mică, doar 500 de pagini, dar datorită ei mi-am făcut o idee generală despre dezvoltarea web și am făcut cu îndrăzneală o alegere către backend, ceea ce încă nu regret. Am dat această carte ca exemplu, poți lua orice altă carte, nu contează.