Začíname s vývojom webu Fullstack
Dnes, moderné vývoj úplných zásobníkov je veľmi populárny v malých agentúrach, ako aj vo väčších firmách so špecializovaným technickým tímom. Kompletný stack webových inžinierov pracuje na celom webovom stohu technológií vrátane frontend, backend, a správa serverov.
Mnoho ľudí tvrdí, že celý stack vedie len k tomu, že je "jackom všetkých obchodov, majstrom žiadneho". Z určitého hľadiska to môže byť pravda, ale schopnosť je len taká dôležitá ako to, čo sa dá s ňou dosiahnuť. Veľa plných stack devs ponúkajú hodnotu, pretože môžu mať nápad od počatia po spustenie, a plne pochopiť na každom kroku procesu.
Ak uvažujete prechádzanie celej zásobnej trasy, potom tento článok je pre vás. Vysvetlím všeobecné požiadavky vývojára s plnými zásobníkmi, akú rolu prináša a ako môže byť zručnosť užitočná pre freelancerov / zmluvných partnerov, ktorí chcú pracovať priamo buď pre klientov, alebo vo svojich vlastných projektoch.
Kompletné základy stackov
Moderný vývoj plného zásobníka dosiahol dlhú cestu, pretože web technológia sa veľa zmenila. Požiadavky na plné zásobníky by sa mali používať ako usmernenia, ktoré je potrebné zvážiť. Všeobecne povedané, "zásobník" predstavuje technológie, ktoré fungujú spoločne aby webová stránka fungovala. To znamená kód frontend, backend kód, databázový systém a platformu webového servera + OS pre server.
Základným princípom vývoja plných zásobníkov je pochopiť všetky aspekty tvorby webových stránok. To neznamená znalosť dizajnu alebo práce UI / UX, aj keď to môže výrazne zlepšiť životaschopnosť a kvalitu práce.
- Základné prvky frontend zahŕňajú HTML / CSS a JavaScript, s najväčšou pravdepodobnosťou s rámec, ako napríklad Angular alebo React.
- Pri jazyku backend budete chcieť vybrať niečo, čo môže byť spojené s databázovým systémom. PHP / MySQL je najbežnejší a najjednoduchší naučiť sa, pretože napája veľa CMS motorov, ako je WordPress. Tiež LAMP stack je nepochybne najobľúbenejší webový stack dnes.
- Znalosť serverov môže byť jednoduchá alebo podrobná, ako sa vám páči. Absolútne základy by boli vedomosti o serverovom programe, ako je apache spolu s databázou, ako je MySQL alebo PostgreSQL.
- Môžete ísť ešte ďalej, vrátane znalostí o inštalácii poštových serverov, alebo výkonových nástrojov, ako memcached alebo Lak.
Kompletný stack dev by sa mal čistiť vo všetkých troch oblastiach s dostatočnými znalosťami spustiť webovú stránku nezávisle, a bez veľkej pomoci od niekoho iného.
Technická hĺbka poznania
Veľká otázka o vývoji plných zásobníkov je ako hlboko ísť do každej oblasti. Je úplný stack inžinier skutočne niekedy majstrom niečoho? Niektorí tvrdia, že je to možné, ale to nemusí byť cieľom plného stohu.
Väčšina spoločností chce najať úplných technikov stackov, ktorí majú všade na svete vedomosti. Títo inžinieri sa môžu špecializovať na jednu oblasť, ale v prípade potreby dokážu vyplniť ľubovoľnú úlohu.
Devs, ktorí práve začínajú túto cestu by mali hračka okolo vo všetkých oblastiach učiť sa "dosť" na riešenie problémov, ktoré vzniknú. To dáva reálnym svetovým interpretáciám technológie, aby zistili, aké rôzne problémy sa týkajú reálnych projektov.
Najväčší prínos kódovania s plným zásobníkom je schopnosť stavať svoje vlastné aplikácie bez práce pre niekoho iného.
Ak sa naučíte každú fázu vývojového procesu, potom môžete urobiť všetko sami. Nemusíte byť majstrom PHP na vytvorenie vlastnej aplikácie Laravel. A nemusíte byť JavaScript guru na vytvorenie flexibilnej dropdown navigácie, najmä teraz, že máme toľko otvoreného zdrojového kódu k dispozícii na webe.
Takže ako hlboko by ste mali ísť do niektorej z týchto oblastí? To je úplne na vás a vaša odpoveď sa pravdepodobne časom zmení.
Ale keď ste prvýkrát začali, jednoducho ísť dostatočne hlboko, aby ste realizovali to, čo ste sa naučili, do skutočného projektu. Keď narazíte na niečo, čo nerozumiete, využite to ako príležitosť na to, aby ste prešli hlbšie, a dozvedieť sa viac o danom predmete.
Výber jazykov
Je to trochu hádanku pre nového vývojára, ktorý si zvolí, ktoré technológie sa naučia. Získanie potrebných potrieb, HTML a CSS sú absolútne potrebné. JavaScript je tiež nevyhnutnosťou, ale nemusíte sa považovať za JS majstra. Mali by ste však záujem dozvedieť sa viac ako jednoduchý JavaScript.
Väčšina vývojárov sa naučí jQuery, ale také rámce ako React, Ember, Angular, Vue alebo Backbone ponúkajú jednoduchší proces budovania webových aplikácií v plnom rozsahu.
Je možné potápať ešte hlbšie učenie efektívne efekty JavaScript, ako sú animácie, ale sú úplne nepovinné. Kompletný vývojár stackov by mal vedieť dosť, aby si túto prácu urobil, a odtiaľ sa presuniete ďalej.
Voľba jazyka Backend je menej o technickej výhode a viac o pohodlí. Väčšina programátorov to uvedomuje Python je viac univerzálny jazyk ako PHP, väčšina webových stránok však beží na serveroch PHP. Toto robí PHP cenným jazykom do viacerých spoločností.
Vyberte si jazyk, ktorý vyhovuje vašim potrebám, alebo ponúka najväčšie vyhliadky. Majte na pamäti aj to nebudete navždy visieť s jedným podporným jazykom. Ak začnete s Ruby, ale prepnete na Python, nestrácate nič v tomto procese.
Odporúčam však, aby ste hneď, keď nájdete spätný jazyk, ktorý sa vám páči, ponorte sa hlbšie do tohto jazyka a vyzdvihnúť súvisiaci rámec. PHP má Laravel, Ruby má Rails a Python má Django - medzi mnohými ďalšími možnosťami. Tieto rámce urýchlia váš vývojový proces a pomôžu vám správne štruktúrovať vaše aplikácie.
Databázy a servery
Výber databázového stroja spočíva v požiadavkách na projekt a zásobníku serverov. PHP často pracuje s MySQL, takže je to najobľúbenejšia voľba. dva najväčšie webové stacky dnes sú LAMP (Linux-Apache-MySQL-PHP) a STREDNÉ (MongoDB-ExpressJS-angularjs-Node.js).
Väčšina hostiteľských spoločností ponúka LAMP od začiatku bez nutnosti inštalácie. Ale vlastné riešenia, ako je digitálny oceán, vám umožnia bežať takmer čokoľvek s malým lakom. Na tomto zozname nájdete viac stohov webových stránok alebo prehľadávanie online.
Vaša voľba bude často je viazaný na váš podporný jazyk. Python je štandardne vybavený podporou SQLite a RoR devs môžu bežne pracovať s čokoľvek. A úprimne povedané, každý jazyk môže zvyčajne pracovať s ľubovoľnou databázou.
Ale chcete vyzdvihnúť niečo, čo je dosť spoločné na použitie vo väčšine webových projektov. SQL je všeobecný jazyk a väčšinou používa rovnakú syntax vo všetkých databázových strojoch. Nájdete rozdiely v nastavení a administrácii tabuliek, ale tieto sú zvyčajne malé.
Okrem databáz sú tu niektoré technické témy na strane servera, o ktorých by ste sa chceli dozvedieť.
- CDN a hosting obsahu
- Inštalácia a aktualizácie softvéru pre server
- Najlepšie serverové konfigurácie pre dopravné špičky a zaťaženie
- Spracovanie do vyrovnávacej pamäte riešení pre databázové otázky a ukladanie súborového systému
- Automatizované zálohovanie databáz a plochých súborov alebo zálohovanie diskových obrazov
- Nastavenie protokolu HTTPS s riadením domény (servery DNS, záznamy CNAME atď.)
- Podrobnejšie témy, ako napríklad e-mail, mikroobsluhy a vyrovnávanie zaťaženia
Jedným z najlepších spôsobov učenia je tinkering so servermi ako vytvárate projekty. Chyť základný VPS účet a skúste nastaviť vlastné zásobníky. Tieto VPS sú úplné virtuálne serverové prostredia, kde máte plnú kontrolu nad konfiguráciou (alebo zničením) všetkého. Tiež uvedený zoznam nie je požadovaným plánom pre všetkých vývojárov plných zásobníkov.
Jediné poznanie, ktoré skutočne potrebujete, je bez ohľadu na to, čo je potrebné na vytvorenie prázdneho serverového prostredia, a nainštalujte softvér potrebný na spustenie webovej stránky. Odtiaľ je čokoľvek iné len lepšie poznanie. Ak máte niekedy otázky alebo chcete sa učiť od profesionálov, pozrite sa na komunitu Reddit / r / SysAdmin.
The Road Ahead
Ak sa naozaj chcete naučiť celý vývoj zásobníkov, zoznam všetkých technológií, ktoré sa chcete naučiť. Odtiaľ si ich môžete vyriešiť individuálne a pripraviť si svoje vlastné praktické skúšky, aby ste otestovali to, čo sa naučíte.
Vývoj webu je neustále sa meniaci priemysel, takže by ste mali byť vždy ochotní sa viac učiť. Vyskúšajte rôzne stohy a jazyky, kým nenájdete to, čo sa vám páči. Ale vždy buďte ochotní ísť hlbšie a lepšie!
Je plný stohový vývoj stojí za to? To je pre vás rozhodnutie. Ale tu sú niektoré súvisiace príspevky, ktoré vám môžu pomôcť vyriešiť to.
- O oprávnenosti "full-stack" (Heapsortjobs.com)
- Takže sa chcete stať plnohodnotným vývojárom (Rubysteps.com)
- 7 tipov, ako sa stať plnohodnotným vývojárom (Usersnap.com)