Kako začeti z Fullstack Web Development
Te dni, moderno razvoj celotnega sklada je zelo priljubljen tako v majhnih agencijah kot tudi v večjih podjetjih z namensko tehnično ekipo. Spletni inženirji s polnim skladom delajo na celotnem spletnem nizu tehnologij vključno s frontendom, backendom, in upravljanje strežnikov.
Mnogi ljudje trdijo, da popolni stack vodi k temu, da je "jack of all trades, master of none". Z nekega vidika je to lahko res, vendar je spretnostna veščina le tako pomembna kot tisto, kar je mogoče z njo doseči. Številni polni skladi nudijo vrednost, ker lahko sprejmejo idejo od zasnove do začetka, in popolnoma razumeti vsakem koraku procesa.
Če razmišljaš gremo po celotni poti, potem je ta članek za vas. Razložil bom splošne zahteve razvijalca v celoti, kakšna je vloga in kako je spretnostna spretnost lahko koristna za samostojne delavce / izvajalce, ki želijo delati neposredno za stranke ali v svojih lastnih projektih..
Osnove celotnega sklada
Sodobni razvoj celotnega sklada je prešel dolgo pot, saj se je spletna tehnologija veliko spremenila. Zahteve za polni sklad bi bilo treba uporabiti kot smernice, ki jih je treba upoštevati. Na splošno "stack" predstavlja tehnologije, ki potekajo v sozvočju ustvariti spletno mesto. To pomeni kodo vmesnika, backend kodo, sistem baze podatkov in platformo spletnega strežnika + OS za strežnik.
Osnovno načelo celotnega razvoja je, da razumemo vse vidike gradnje spletne strani. To ne pomeni poznavanja dizajna ali UI / UX dela, čeprav lahko to močno izboljša vašo sposobnost preživetja in kakovost dela.
- Osnove frontend vključujejo HTML / CSS in JavaScript, najverjetneje z a okvir, kot so Angular ali React.
- Za ozadni jezik boste želeli izbrati nekaj, kar bi lahko povezali s sistemom baze podatkov. PHP / MySQL je najpogostejši in najlažji način za učenje, ker napaja številne CMS motorje, kot je WordPress. Tudi LAMP Stack je nedvomno najbolj priljubljen spletni stack danes.
- Znanje strežnika je lahko tako preprosto ali podrobno, kot želite. Absolutne osnove bi bile znanje o strežniškem programu Apache skupaj z bazo podatkov MySQL ali PostgreSQL.
- Morda boste šli še dlje, če boste vključevali znanje o nameščanju poštnih strežnikov ali orodja za zmogljivost, kot je memcached ali Varnish.
Razvijalec s polnim skladom bi se moral pomikati na vsa tri področja z zadostnim znanjem zaženete spletno stran neodvisno, in brez večje pomoči nikogar drugega.
Tehnična globina znanja
Veliko vprašanje o popolnem razvoju stack je kako globoko greste v vsako območje. Ali je inženir s popolnim skladom res kdaj koli mojster? Nekateri trdijo, da je to mogoče, vendar to ne sme biti namen polnega sklada.
Večina podjetij želi najeti inženirje s polnim skladom, ki imajo povsod malo znanja. Ti inženirji so lahko specializirani za eno področje, vendar po potrebi lahko izpolnijo vsako vlogo.
Naprave, ki šele začenjajo to pot, bi morale igrajo na vseh področjih in se učijo "dovolj" za reševanje težav, ko se pojavijo. To daje tehnologijam resnično svetovno razlago, da bi videli, kako se različni problemi nanašajo na resnične projekte.
Največja prednost kodiranja s polnim skladom je zmožnost zgradite svoje aplikacije brez dela za koga drugega.
Če spoznate vsako stopnjo razvojnega procesa, lahko vse naredite sami. Ni vam treba biti mojster PHP, da lahko izdelate aplikacijo Laravel po meri. Poleg tega vam ni treba biti guru JavaScript, da ustvarite prilagodljivo navigacijsko navigacijo, zlasti zdaj, ko imamo na spletu na voljo toliko odprte izvorne kode..
Torej, kako globoko bi morali iti v katero od teh območij? To je v celoti odvisno od vas in vaš odgovor se bo sčasoma verjetno spremenil.
Toda ko prvič začnemo, samo dovolj globoko, da izvedete, kar ste se naučili, v pravi projekt. Ko naletite na nekaj, kar ne razumete, uporabite ga kot priložnost za poglobitev, in izveste več o tej temi.
Izbira jezikov
Za novega razvijalca je malo strah, da izbere, katere tehnologije se bo naučil. Odstranjevanje potreb, HTML in CSS sta nujno potrebna. JavaScript je prav tako nujen, vendar vam ni treba upoštevati JS-ja. Vsekakor vas zanima več kot le navaden JavaScript.
Večina razvijalcev se uči tudi jQuery, vendar okvirji, kot so React, Ember, Angular, Vue ali Backbone, ponujajo enostavnejši postopek za izdelavo obsežnih spletnih aplikacij.
Možno je še globlje učenje fantazijski JavaScript učinki, animacije, vendar so popolnoma neobvezne. Razvijalec s polnim skladom bi moral vedeti dovolj, da bo opravil delo in od tam nadaljeval.
Izbira backend jezika je manj o tehnični prednosti in več o udobju. Večina programerjev se tega zaveda Python je bolj vsestranski jezik kot PHP, vendar večina spletnih strani deluje na strežnikih PHP. To pomeni PHP dragocen jezik več podjetij.
Izberite jezik, ki ustreza vašim potrebam, ali vam ponuja največje možnosti. Prav tako ne pozabite, da ne boste večno obkroženi z enim ozadnim jezikom. Če začnete z Rubyjem, vendar preklopite na Python, v procesu ne izgubite ničesar.
Vendar priporočam, da ko enkrat najdete želeni jezik, uporabite ta jezik in izbrani okvir. PHP ima Laravel, Ruby ima Rails in Python ima Django - med mnogimi drugimi možnostmi. Ti okviri bodo pospešili vaš razvojni proces in vam pomagali ustrezno strukturirati aplikacije.
Baze podatkov in strežniki
Izbira motorja baze podatkov se nanaša na zahteve projekta in strežniški sklad. PHP pogosto deluje z MySQL, zato je to najprimernejša izbira. The dva največja spletna skladišča danes LAMP (Linux-Apache-MySQL-PHP) in POMENI (MongoDB-ExpressJS-AngularJS-Node.js).
Večina hosting podjetja ponujajo LAMP od začetka brez potrebe po namestitvi. Toda prilagojene rešitve, kot je Digital Ocean, vam omogočajo, da s skoraj malo maščobami poganjate skoraj vse. Več spletnih skladov lahko najdete na tem seznamu ali pa jih poiščete v spletu.
Vaša zbirka podatkov bo pogosto povezan z vašim ozadjem. Python ima privzeto podporo za SQLite in RO Oddelki lahko običajno delajo z vsem. In pošteno, vsak jezik lahko običajno deluje z vsako bazo podatkov.
Ampak želite izbrati nekaj, kar je dovolj pogosto za uporabo v večini spletnih projektov. SQL je splošni jezik in uporablja večinoma isto sintakso v vseh motorjih baz podatkov. Našli boste razlike v nastavitvi tabele in upravljanju, vendar so te običajno manjše.
Poleg podatkovnih baz je tukaj nekaj tehničnih tem, ki jih boste morda želeli izvedeti.
- Gostovanje CDN-jev in vsebine
- Namestitev in posodobitve strežniške programske opreme
- Najboljše strežniške konfiguracije za konice prometa in čas nalaganja
- Rešitve predpomnjenja za poizvedbe baze podatkov in shranjevanje datotečnega sistema
- Avtomatizirane varnostne kopije podatkovnih baz in ploščatih datotek ali varnostnih kopij za upodabljanje diskov
- Nastavitev HTTPS z upravljanjem domene (strežniki DNS, zapisi CNAME itd.)
- Podrobnejše teme, kot so e-pošta, mikroservis in uravnoteženje obremenitve
Eden najboljših načinov za učenje je rokovanje s strežniki ko gradite projekte. Zgrabi osnovno VPS račun in poskusite nastaviti lastne sklade. Ti VPS-ji so popolna navidezna strežniška okolja, kjer imate popoln nadzor za konfiguriranje (ali uničenje) vsega. Zgornji seznam tudi ni potreben načrt za vse razvijalce s polnim skladom.
Edino znanje, ki ga resnično potrebujete, je kar je potrebno za ustvarjanje praznega strežniškega okolja in namestitev programske opreme, potrebne za zagon spletnega mesta. Od tam je vse drugo le izboljšano znanje. Če kdaj imate vprašanja ali želite izvedeti, od strokovnjakov odjaviti Reddit's / r / SysAdmin skupnosti.
Cesta naprej
Če se resnično želite naučiti popolnega razvoja stack, naredite seznam vseh tehnologij, ki jih želite naučiti. Od tam se lahko spopadete z njimi ena po ena, ki sestavljajo svoje lastne projekte, da preizkusite, kaj ste se naučili.
Spletni razvoj je vedno spreminjajoča se industrija, zato morate biti vedno pripravljeni izvedeti več. Preizkusite različne skale in jezike, dokler ne najdete, kar želite. Ampak vedno bodite pripravljeni iti globlje in bolje!
Ali je celoten razvoj stack vreden truda? To je za vas. Ampak tukaj je nekaj sorodnih objav, ki vam lahko pomagajo ugotoviti.
- O legitimnosti "Full-Stack" (heapsortjobs.com)
- Torej želite postati razvijalec v celoti (rubysteps.com)
- 7 nasvetov o tem, kako postati Full Stack razvijalec (usersnap.com)