Pagina principala » Web design » Noțiuni de bază cu Dezvoltare Web Fullstack

    Noțiuni de bază cu Dezvoltare Web Fullstack

    Aceste zile, moderne dezvoltarea stivă completă este foarte popular atât în ​​agențiile mici, cât și în companiile mai mari, cu o echipă tehnică dedicată. Inginerii de web full stack lucrează la un întreg set de tehnologii web inclusiv frontend, backend, și gestionarea serverului.

    Mulți oameni susțin că stivă completă duce doar la a fi un "jack de toate meseriile, maestru de nici unul". Din anumite puncte de vedere, acest lucru poate fi adevărat, totuși competența este doar la fel de importantă ca și ceea ce se poate realiza cu ea. Mulți furnizori de știri complete oferă valoare deoarece pot lua o idee de la concepție la lansare, și înțelegeți pe deplin fiecare pas al procesului.

    Dacă te gândești mergând pe întregul traseu de stivă, atunci acest articol este pentru tine. Voi explica cerințele generale ale dezvoltatorului de stive complete, ce rol implică și cum poate fi util setul de competențe pentru freelancerii / contractorii care doresc să lucreze direct fie pentru clienți, fie pentru propriile lor proiecte.

    Bazele fundamentale ale stack-ului

    Dezvoltarea completă a stack-urilor a evoluat mult, tehnologia web sa schimbat foarte mult. Cerințele privind stack-urile complete ar trebui să fie utilizate ca reguli pentru a lua în considerare următoarele. În general, un "stack" reprezintă tehnologiile care rulează în mod unison pentru a face un site de lucru. Aceasta înseamnă cod frontend, cod backend, sistem de bază de date și platformă de server web + OS pentru server.

    Principiul de bază al dezvoltării complete este de a înțelege toate aspectele legate de construirea unui site web. Acest lucru nu înseamnă cunoașterea designului sau a activității UI / UX, deși acest lucru vă poate îmbunătăți considerabil viabilitatea și calitatea muncii.

    • Elementele fundamentale ale frontendului includ HTML / CSS și JavaScript, cel mai probabil cu a cadru, cum ar fi Angular sau React.
    • Pentru o limbă de backend veți dori să alegeți ceva ce poate fi cuplat cu un sistem de baze de date. PHP / MySQL este cea mai comună și mai ușor de învățat, deoarece atribuie mai multe motoare CMS cum ar fi WordPress. De asemenea LAMPĂ stiva este, fără îndoială, cel mai popular stack de web de astăzi.
    • Cunoașterea serverului ar putea fi la fel de simplă sau cât de detaliată doriți. Elementele de bază absolută ar fi cunoașterea unui program de server cum ar fi Apache cuplat cu o bază de date cum ar fi MySQL sau PostgreSQL.
    • Puteți merge chiar mai departe pentru a include cunoștințe despre instalarea serverelor de poștă electronică sau instrumente de performanță, cum ar fi memcached sau Varnish.

    Un stack complet dev ar trebui să dabble în toate cele trei domenii cu suficiente cunoștințe lansați un site independent, și fără prea mult ajutor de la altcineva.

    Depunerea tehnică a cunoștințelor

    O întrebare importantă despre dezvoltarea stack-ului complet este cât de adânc să intri în fiecare zonă. Este un inginer plin de stivuitoare vreodată un maestru al ceva? Unii susțin că este posibil, dar care ar putea să nu fie scopul de a merge la stack.

    Cele mai multe companii doresc să angajeze ingineri full stack care au puțină cunoaștere peste tot. Acești ingineri se pot specializa într-o zonă, dar aceștia pot completa orice rol atunci când este necesar.

    Devs, care încep doar această cale, ar trebui juca în jurul valorii de toate zonele de învățare "suficient de suficient" pentru a rezolva problemele în care acestea apar. Aceasta oferă o interpretare reală a tehnologiilor pentru a vedea cum se aplică diferite probleme la proiectele reale.

    Cel mai mare beneficiu al codificării stack-ului complet este abilitatea de a construiți propriile aplicații fără a lucra pentru nimeni altcineva.

    Dacă învățați fiecare etapă a procesului de dezvoltare, atunci puteți face totul singur. Nu aveți nevoie să fiți un maestru al PHP pentru a crea o aplicație personalizată Laravel. Și nu aveți nevoie să fiți un guru JavaScript pentru a crea o navigare prin dropdown flexibilă mai ales acum că avem atât de multe coduri open source disponibile pe web.

    Deci, cât de adânc ar trebui să intri în oricare dintre aceste zone? Acest lucru depinde în întregime de dvs. și răspunsul dvs. se va schimba probabil în timp.

    Dar când începem prima dată, pur și simplu mergeți destul de adânc pentru a implementa ceea ce ați învățat într-un proiect real. Când intri în ceva ce nu înțelegi, folosește-l ca o oportunitate de a merge mai adânc, și aflați mai multe despre acel subiect.

    Alegerea limbilor

    Este un pic de conundrum pentru noul dezvoltator de a alege ce tehnologii să învețe. Obținerea necesităților din cale, HTML și CSS sunt absolut necesare. JavaScript este, de asemenea, o necesitate, dar nu trebuie să te consideri un master JS. Cu toate acestea, ar trebui să fiți interesat să aflați mai mult decât simplu JavaScript.

    Majoritatea distribuitorilor invata jQuery, dar cadre precum React, Ember, Angular, Vue sau Backbone ofera un proces mai simplu pentru construirea de aplicatii web la scara larga.

    Este posibil să se scufunde chiar mai profund învățarea fancy efecte JavaScript, cum ar fi animațiile, dar ele sunt total opționale. Un dezvoltator de stive complete ar trebui să știe suficient pentru a face treaba și pentru a trece de acolo.

    Alegerea limbii backend este mai puțin despre avantajul tehnic și mai mult despre confort. Cei mai multi programatori realizeaza asta Python este o limbă mai versatilă decât PHP, cu toate acestea, majoritatea site-urilor rulează pe serverele PHP. Asta face PHP un limbaj valoros la mai multe companii.

    Alegeți orice limbă se potrivește nevoilor dvs. sau vă oferă cele mai mari perspective. De asemenea, rețineți asta nu esti blocat cu un singur limbaj pentru totdeauna. Dacă începeți cu Ruby, dar treceți la Python, nu pierdeți nimic în acest proces.

    Cu toate acestea, vă recomand că, odată ce veți găsi o limbă de backend pe care o doriți, faceți mai profundă cu această limbă și alegeți un cadru conex. PHP are Laravel, Ruby are Rails, și Python are Django - printre multe alte opțiuni. Aceste cadre vor accelera procesul de dezvoltare și vă vor ajuta să vă structurați corect aplicațiile.

    Baze de date și servere

    Alegerea unui motor de baze de date se reduce la cerințele de proiect și stack-ul de servere. PHP lucrează adesea cu MySQL, deci este cea mai preferată alegere. două stive web cele mai mari astăzi sunt LAMPĂ (Linux-Apache-MySQL-PHP) și ÎNSEMNA (MongoDB-ExpressJS-AngularJS-Node.js).

    Cele mai multe companii de hosting oferă LAMP de la început, fără configurare necesară. Dar soluțiile personalizate, cum ar fi Oceanul digital, vă permit să rulați aproape orice, cu un vas de grăsime. Puteți găsi mai multe stive de pe această listă sau căutați online.

    Baza de date de alegere va fi deseori legat de limba dvs. backend. Python vine în mod implicit cu suport SQLite și RoR Devs poate lucra de obicei cu orice. Și, sincer, orice limbă poate lucra de obicei cu orice bază de date.

    Dar doriți să alegeți ceva care este destul de comun pentru a fi utilizat în majoritatea proiectelor web. SQL este o limbă generală și utilizează cea mai mare parte aceeași sintaxă pentru toate motoarele de baze de date. Veți găsi diferențe în configurarea și administrarea tabelului, dar acestea sunt de obicei minore.

    Dincolo de baze de date, iată câteva subiecte tehnice de la server pe care ați putea dori să le cunoașteți.

    • CDN-uri și găzduire de conținut
    • Instalarea și actualizarea software-ului serverului
    • Cele mai bune config-uri de server pentru vârfurile de trafic și timpii de încărcare
    • Soluții de cache pentru interogările bazei de date și pentru stocarea sistemului de fișiere
    • Backup-uri automate de baze de date și fișiere plate sau backup de imagini pe disc
    • Configurarea HTTPS cu administrarea domeniului (servere DNS, înregistrări CNAME etc.)
    • Subiecte mai detaliate, cum ar fi e-mail, microservicii și echilibrarea încărcării

    Una dintre cele mai bune căi de a învăța este tinkering cu servere pe măsură ce construiți proiecte. Luați un element de bază VPS cont și încercați să configurați propriile dvs. stive. Aceste VPS-uri sunt medii virtuale de servere virtuale unde aveți control complet pentru a configura (sau distruge) totul. De asemenea, lista de mai sus nu este o foaie de parcurs necesară pentru toți dezvoltatorii plin de stive.

    Singura cunoaștere de care ai nevoie este ceea ce este necesar pentru a crea un mediu server gol și pentru a instala software-ul necesar pentru a rula un site web. De acolo, orice altceva este doar o cunoaștere îmbunătățită. Dacă aveți vreodată întrebări sau doriți să învățați de la profesioniști, verificați comunitatea Reddit / r / SysAdmin.

    Drumul în față

    Dacă chiar vrei să înveți o dezvoltare completă a stack-urilor, faceți o listă a tuturor tehnologiilor pe care doriți să le învățați. De acolo, puteți să le rezolvați unul după altul, alcătuiți propriile proiecte de practică pentru a testa ceea ce învățați.

    Dezvoltarea web este o industrie mereu în schimbare, deci ar trebui să fiți întotdeauna dispuși să aflați mai multe. Testați diferite stive și limbi până când găsiți ceea ce vă place. Dar întotdeauna să fie dispus să meargă mai adânc și să se îmbunătățească!

    Este o dezvoltare completă a stivei în valoare de efort? Asta e pentru tine să decizi. Dar, aici sunt câteva posturi legate care vă pot ajuta să înțelegeți acest lucru.

    • Cu privire la legitimitatea "Full-Stack" (Heapsortjobs.com)
    • Deci vrei să devii un dezvoltator full-stack (Rubysteps.com)
    • 7 sfaturi despre cum să devii un dezvoltator complet stivă (Usersnap.com)