Je to férová otázka. Pre nezasväteného sa vývoj frontendu musí zdať ako vánok. Ale ak je to tak, prečo nie sú vývojári frontendu tucet?
Odpoveď je jednoduchá: vývoj front-endu, ako každý špecializovaný obchod alebo divácky šport, je oveľa ťažší, ako sa zdá. Až keď si do nej ponoríte prsty na nohách, uvedomíte si, aké búrlivé sú vody.
Vývoj frontendu je komplikovanejší, ako sa zdá.
Nezabúdajúc na náročnosť vývoja na strane servera je stále dôležité uznať problémy, ktoré so sebou prináša fungovanie na strane klienta. Ako front-end vývojár musí byť väčšina práce vykonaná v HTML a CSS, čo ponecháva obmedzené nástroje na obchádzanie chýb. JavaScript tu a tam pomáha, ale detekcia funkcií je spojená s réžiou výkonu. Znamená to viac kódu a viac príležitostí na zlyhanie tohto kódu. Navyše, keď váš web začne rásť, práca s CSS je bolestivá. Je to veľmi statické a veľa toho vo svojej hlave držíte.
Strmá krivka učenia je čiastočne spôsobená neustále sa meniacou povahou odboru. S klientskym rozhraním sa vždy dá niečo nové naučiť: responzívne mediálne dopyty, HTML AppCache, CSS transformácie, WebGL atď. Každý z týchto nástrojov prináša vzrušujúce nové možnosti pre vývojárov frontendu, ale tiež mení spôsob, akým sa vykonáva ich práca.
To tiež znamená zmeniť spôsob výučby vývoja frontendu, čo najčastejšie a najpresnejšie. Žiaľ, žiadny inštruktor nikdy nemôže dúfať, že bude držať krok s meniacimi sa technológiami, čo znamená, že každý nový frontend vývojár, ktorý sa pripojí k pracovnej sile, je už niekoľko krokov pozadu a snaží sa naplniť svoju sadu nástrojov nekonečným množstvom potrebných zdrojov.
Front-end je viac než len vývoj.
S frontendom to nie je len o kóde. Ide o to, ako kód interaguje so spotrebiteľom. S vývojom na strane klienta sa môže zlý dizajn ľahko stať prekážkou medzi produktom a publikom. Dobrý front-end vývojár potrebuje porozumieť výkonnosti webu a rôznym metrikám, ktoré určujú online úspech. To znamená ukladanie do vyrovnávacej pamäte http, optimalizáciu časov vyhľadávania DNS, používanie skriptov na zostavenie minifikácie a výber najlepšieho nástroja na rozloženie CSS pre projekt.
Nielen to, dobrý front-end vývojár musí tiež rozumieť marketingu. To znamená poznať psychológiu spotrebiteľa, uprednostňovať dostupnosť a použiteľnosť produktu a udržiavať silné SEO. Znamená to tiež mať základné znalosti o teórii dizajnu a príležitostne pracovať s grafickými návrhmi, ktoré je takmer nemožné implementovať.
Pri vývoji na strane klienta je tiež dôležité zamerať sa na bezpečnosť produktu, ochranu pred CSRF, XSS, DNS pining a clickjacking. Ale nie všetok vývoj frontendu je na strane klienta – dokonca aj vývojári frontendu sa musia z času na čas pohrabať v kóde na strane servera. Správne: dobrý front-end vývojár musí byť aj dobrý back-end vývojár.
Znamená to, aby bol produkt kompatibilný so všetkým.
Vývojári Peter-Paul Koch, Douglas Crockfort a Nicholas Zakas sa zhodujú – “front-end vývoj je najnepriateľskejšie vývojové prostredie na svete.” Dôvod: kompatibilita. Keď front-end vývojár dokončí svoju prácu (a tiež množstvo iných úloh), vráti sa späť do práce a uistí sa, že produkt funguje optimálne na každom prehliadači, mobilnom zariadení a špičkovej hriankovači pod slnkom. . To môže byť veľa práce.
Z hlavy, koľko internetových prehliadačov si dokážete predstaviť? Aby sme vymenovali aspoň niektoré, vývojári front-endu musia vyvíjať prehliadače Chrome, Firefox, Opera, Safari, Internet Explorer a teraz Edge – nehovoriac o niekoľkých minulých vydaniach každého prehliadača, ktoré je potrebné zvážiť z hľadiska kompatibility. Zvážte toto: každá verzia Internet Explorera, od 6 až po 10, má svoje vlastné jedinečné chyby a obmedzenia. Stále je však dôležité vyhovieť každému, inak sa vám nepodarí sprístupniť váš produkt pre toľko spotrebiteľov.
A to je len desktopový trh. Teraz zvážte každú značku a model smartfónu a tabletu ktoré môžu spotrebitelia použiť na prístup k vašej službe, pričom každý má iné vstupné metódy, ktoré je potrebné zvážiť. Funguje služba bez klávesnice? Ide to aj bez myši? Má dotykovú podporu? Má to gestá? Služba musí pracovať na všetkých týchto veciach – aj keď používatelia prispôsobujú výstup tak, aby vyhovoval ich vlastným potrebám. Či už používateľ upraví veľkosť textu, zmení farby alebo úplne zakáže CSS alebo JavaScript, produkt musí zostať funkčný. Ako hovorí front-end vývojár Bulat Bochkariov, „Pracujeme s mizernými nástrojmi na nekonzistentných platformách prevádzkovaných všetkými druhmi zariadení, ktoré si dokážete predstaviť… zaisťujeme, že produkt funguje pre každého, bez ohľadu na to, čo sa deje.“
Prečo je teda také ťažké nájsť dobrého frontendového vývojára? Pretože byť dobrým front-end vývojárom je ťažké – možno oveľa ťažšie, ako si myslíte. Dobrý front-end vývojár musí byť trpezlivý, odhodlaný a ochotný plniť množstvo rôznych úloh mimo tradičného vývoja, pričom sa musí uistiť, že produkt je optimalizovaný pre čo najväčšie publikum – a áno, to bude určite ťažké. podľa
Tento článok bol široko zdieľaný na internete: