Vývoj frontendu a backendu: principy a rozdíly. Backendový vývojář – kdo to je?

front-end vývoj je vytvoření klientské části webu. Front-end vývojář je zodpovědný za rozložení šablony webu a vytvoření uživatelského rozhraní. Front-end vývojář je obvykle jackem všech profesí. Musí mít prostě talent designéra, být šikovný designér layoutu a dobrý programátor.

Moderní front-end vývojář by měl být schopen snadno zvládnout html5, css3, JavaScript(a alespoň JQuery). Každý front-end specialista má svou práci, kterou ukládá ve formě frameworku. Mnoho vývojářů používá při své práci oblíbené frameworky, jako je Twitter, Bootstrap, Foundation 3, Compass.

Co potřebuje front-end vývojář vědět:

Chcete-li být v dnešní době úspěšným vývojářem front-endu, musíte mít sadu základních základních dovedností. Vývojáři, kteří tyto požadavky nesplňují, začnou brzy zaostávat za dynamickým pokrokem, protože informační zdroje začnou brát určité znalosti jako samozřejmost.

Zde jsou hlavní základní dovednosti:

  • JavaScript
  • Pouhá znalost JavaScriptové knihovny již nestačí. Je potřeba pochopit, v jakých případech je použití knihovny skutečně vhodné, a umět případně pracovat se starým dobrým JavaScriptem. Musíte také pochopit, jak fungují datové struktury, jako jsou objekty a pole; funkce, včetně toho, jak a proč by měly být volány a používány; umět pracovat s dědičností prostřednictvím prototypů; a vypořádat se s asynchronií.

  • Systém verzování souborů GIT
  • Bez GitHubu se front-endový vývojář obecně nemůže zapojit do velké open source komunity, která vyrostla kolem front-end vývojových technologií. Klonování úložiště za účelem vyzkoušení jeho schopností by se mělo stát běžnou záležitostí, je důležité pochopit, jak používat větve ve společných projektech.

  • Modulární organizace, správa závislostí a sestavení testů
  • Nástroje RequireJS umožňují vyvíjet pomocí malých, modulárních souborů JS a CSS a následně je zřetězit a minifikovat pomocí svého optimalizačního nástroje pro další použití.

    Pokud výše uvedená možnost z nějakého důvodu nevyhovuje, můžete použít nástroje jako UglifyJS nebo Closure Compiler, které inteligentně zkomprimují požadovaný kód a poté tyto komprimované soubory zřetězí před vytvořením výsledku.

    Pokud je kód napsán v čistém CSS - to znamená, že se nepoužívá preprocesor jako Sass nebo Stylus - RequireJS také pomůže uspořádat potřebné soubory CSS modulárním způsobem. Stačí použít @import v hlavním souboru ke stažení vývojových závislostí a poté spustit optimalizátor RequireJS na hlavním souboru, abyste vytvořili soubor připravený k použití.

  • Vývojářské nástroje zabudované v prohlížeči
  • Za posledních několik let se vývojářské nástroje zabudované do prohlížečů výrazně zlepšily. Pokud se je naučíte správně používat, mohou výrazně zlepšit vaše zkušenosti s vývojem. Vyplatí se vybrat si jeden prohlížeč, jehož vývojářské nástroje budete průběžně používat, ale nástroje v jiných prohlížečích úplně neopouštějte, protože na základě zpětné vazby od vývojářů čas od času přibývají nové užitečné funkce. Konkrétně Dragonfly od Opery přidal některé funkce, díky nimž se její vývojářské nástroje odlišují od ostatních, jako je (experimentální) CSS profiler, přizpůsobitelné klávesové zkratky, vzdálené ladění bez nutnosti připojení USB a možnost ukládat a používat vlastní palety barev. .

  • Příkazový řádek
  • Existuje několik úkolů, které byste měli provést pomocí příkazového řádku bez přemýšlení:

  1. ssh pro připojení k jinému počítači nebo serveru
  2. scp pro kopírování souborů na jiný počítač nebo server
  3. ack nebo grep pro vyhledávání souborů v projektu podle řetězce nebo vzoru
  4. nalézt k detekci souborů, jejichž názvy odpovídají danému vzoru
  5. git provádět alespoň základní akce, jako je přidání, potvrzení, stav a vytažení
  6. vařit pro použití Homebrew k instalaci balíčků
  7. npm k instalaci balíčků Node
  8. klenot k instalaci balíčků Ruby
  • Testování
  • Psaní modulárního volně propojeného kódu spočívá v tom, že je mnohem snazší jej testovat a pomocí nástrojů jako Grunt, příprava projektu s vestavěnými testy je obecně jednodušší než kdy jindy. Grunt integruje QUnit, ale existuje mnoho testovacích rámců, ze kterých si můžete vybrat.

    Zatímco testování modulárního, volně vázaného kódu je zábavné, testování špatně organizovaného kódu může být někde mezi obtížným a nemožným. Na druhou stranu, když se budete nutit psát testy, možná ještě předtím, než napíšete kód, pomůže vám to systematizovat váš přístup a kód. To vám také dá příležitost znovu sestavit svůj kód s větší jistotou do budoucna.

  • Procesní automatizace
  • Možnost použít Grunt k nastavení projektu s vestavěnou podporou pro testování jednotek je jedním z příkladů automatizace procesů. Realita frontendového vývoje je taková, že vývojář musí dělat spoustu opakující se práce, ale jak se říká: dobrý vývojář je líný vývojář. Pokud je nějaká akce provedena více než třikrát, je čas ji zautomatizovat.

    Frontend a backend: o hierarchii vývoje webových aplikací, společných bodech, podobnostech a rozdílech mezi dvěma pilíři webu a také o oblastech jejich odpovědnosti.

    Dávno pryč jsou doby, kdy byl svět webu jednoduchý a přehledný a webové stránky byly sady statických stránek s tabulkovým značením. Vývoj webu prošel rychlou, živou a bohatou vývojovou cestou. Objevily se nové jazyky, techniky, technologie a paradigmata. Dnes je to jedna z nejslibnějších a vysoce placených IT oblastí.

    Složitá a víceúrovňová struktura moderních webových aplikací vyžaduje hierarchické členění procesu vývoje. Historicky se tento proces dělí na dvě části: front-end (klient) a back-end (server). Podívejme se blíže na každého z nich, promluvme si o jejich rozdílech, styčných bodech a oblastech odpovědnosti

    Frontend

    Uživatel zadá adresu do vyhledávacího pole, následuje odkaz z externího zdroje nebo z vyhledávače. Vidí hodně reklamy. Před očima se mu objeví obsedantní požadavek na registraci. Představuje nepohodlnou navigaci a obtížně čitelný obsah. Stránka se dlouho načítá, není přizpůsobena pro mobilní zařízení nebo má zastaralý design. Co dělá uživatel? Správně, opouští stránky.

    Úkolem front-end vývojáře je udělat vše pro to, aby takovému vývoji zabránil. Oblast jeho odpovědnosti pokrývá vytvoření uživatelského rozhraní, což zase implikuje určitou hierarchii. Tento dispoziční návrh, dispozice, adaptace. Důležitou součástí vývoje webové aplikace je UI/UX design- co nejvíce ovlivňuje první dojem uživatele.

    Design ale ještě není front-end. V době moderních webových aplikací, z nichž drtivá většina implementuje nějakou obchodní logiku, je jejich chování neméně důležité než vzhled.

    V této souvislosti nelze nezmínit JavaScript. Skriptovací jazyk byl původně zamýšlen k implementaci jednoduchých funkcí, jako jsou animace prvků rozhraní, ale v šikovných a znalých rukou se promění v úžasně výkonný nástroj. Bylo vytvořeno mnoho JS knihoven, rozšíření a doplňků, které značně rozšiřují rozsah schopností tohoto jazyka.

    Knihovna jQuery usnadňuje implementaci efektivní interakce mezi JavaScriptem a HTML. Jazyk TypeScript zkompilovaný do js kódu umožňuje používat třídy, moduly, šablony a je tak plnohodnotným objektově orientovaným jazykem. Softwarová platforma Node.js transformuje JavaScript z vysoce specializovaného jazyka na jazyk pro všeobecné použití tím, že jej uvolní z karantény prohlížeče. Realizováno na straně klienta odesílání požadavků a zpracování odpovědí serveru, parsování dat, dynamická změna zobrazovaného obsahu.

    Backend

    Backend je serverová logika webové aplikace. Implementováno zde práci s datovým úložištěm, proto musí mít osoba vyvíjející serverovou logiku dovednosti v práci s databázemi a také zkušenosti s používáním mechanismů ORM. Výkon kódu serveru, jeho škálovatelnost, bezpečnost a racionalita závisí na vývojáři backendu.

    Kromě serverové logiky zahrnují odpovědnosti backendera ladění a prototypování pomocí klientské strany aplikace. To s sebou nese nutnost porozumět fungování zásobníku protokolů TCP/IP, HTTP, REST/SOAP a principům interakce mezi prohlížečem a webovou aplikací.

    Navzdory tomu, že front-end oblast je tradičně považována za nejbohatší a nejrozmanitější z hlediska technologie, back-end má také širokou škálu vývojových nástrojů. Kromě kanonického PHP, které je mnohými nespravedlivě kritizováno, silné mezery obsadil Python s frameworkem Django, Java a Node.js, Ruby a také stále populárnější Go.

    Závěr

    Vývoj webu je jednou z nejdynamičtěji se rozvíjejících oblastí v IT. Pokrývá širokou škálu úkolů a dává vzniknout stále novým nástrojům a ideologiím, stává se komplexnějším, přitahuje na svou stranu talentované odborníky a otevírá četné vyhlídky jak pro sebe, tak pro své obhájce.

    Front-end i back-end mají k dispozici různé jazyky a technologie. O jejich relevanci a výhodnosti se vedou zuřivé diskuse. Pravda je ale jako vždy někde poblíž. Výběr technologie by neměl být ovlivněn módou, ale tím, jaké úkoly si vývojář stanoví. Každý jazyk a rámec je vhodný, pokud splňuje specifika řešeného problému. V tomto (a pouze v tomto) případě bude jeho použití nejúčinnější.

    Frontend a backend se vzájemně nevylučují. Pro ty, kteří se v obou oborech cítí stejně dobře, existuje něco jako full stack. Vývojář „full stack“ se zabývá jak klientskou, tak serverovou částí aplikace. Zvládnout takovou profesi není snadný úkol. Na této trnité cestě může jako vůdčí hvězda sloužit online program. Spojuje teorii a praxi v optimálním poměru. Během tréninkového procesu si osvojíte dva programovací jazyky, rozšíříte své portfolio o pět projektů, zlepšíte své komunikační schopnosti a práci se systémem pro správu verzí git.

    A nakonec příjemný bonus pro naše čtenáře – proglib promo kód se slevou 7 000 RUR.

    Program začíná 21. července.

    Frontend je vývoj uživatelského rozhraní a funkcí, které běží na klientské straně webu nebo aplikace. Tento typ vývoje zahrnuje vše, co uživatel vidí při otevření webové stránky. Frontendový vývojář spolupracuje s designéry, programátory a UX analytiky na vytvoření uživatelsky přívětivého a žádaného produktu.

    Chcete-li jasně porozumět tomu, co je vývoj frontendu, otevřete stránku libovolného webu - uvidíte rozhraní před vámi. Kliknutím pravým tlačítkem myši zobrazíte kód této stránky ve svém prohlížeči.

    Tento kód je příkladem práce vývojáře frontendu; je stažen do prohlížeče uživatele a můžete jej vidět na vlastní oči. Kód stránky popisuje vše, co vidíte před sebou: barvy, rozvržení, fonty, uspořádání grafických prvků atd.

    Vývoj frontendu zahrnuje:

    • HTML (HyperText Markup Language)- značkovací jazyk dokumentu, s jehož pomocí se tvoří struktura stránky: nadpisy, odstavce, seznamy atd.;
    • CSS (kaskádové styly)- jazyk pro popis a stylizaci vzhledu dokumentu. CSS kód umožňuje vašemu prohlížeči přesně porozumět tomu, jak zobrazovat prvky. CSS nastavuje barvy a parametry písma, určuje, jak budou umístěny různé bloky webu a podobně. Umožňuje také zobrazit stejný dokument v různých stylech, například pro tisk (normální nebo Braillovo písmo), zobrazení programu na obrazovce nebo čtení hlasem;
    • JavaScript je jazyk, který byl vytvořen, aby přivedl webové stránky k životu. Jeho úkolem je reagovat na akce uživatele, zpracovávat kliknutí myší, pohyby kurzoru a stisknutí kláves. Také odesílá požadavky na server a načítá data bez opětovného načítání stránky, umožňuje zadávat zprávy a mnoho dalšího.

    Co je backendový vývoj?

    Backend development je soubor hardwarových a softwarových nástrojů, s jejichž pomocí je implementována logika fungování webu. Jednoduše řečeno, je to něco, co je skryto očím uživatele a děje se mimo jeho prohlížeč a počítač.

    Například když zadáte dotaz na stránce vyhledávače a stisknete klávesu Vstupte, frontend končí a backend začíná. Váš požadavek je odeslán na server Google nebo Yandex, kde jsou umístěny vyhledávací algoritmy. Tady se dějí všechna „kouzla“. Jakmile se na monitoru objeví informace, které jste hledali, vrátíte se znovu do frontend zóny.

    Celkově je server stejný počítač, jen výkonnější. Ukládá data a odpovídá na požadavky uživatelů.

    Backend je proces propojení serveru s uživatelem.

    Backendový vývojář může použít jakékoli nástroje dostupné na jeho serveru. Má právo zvolit si některý z univerzálních programovacích jazyků, např. Ruby, PHP, Python, Java.

    Pro vývoj backendu se také používají různé systémy správy databází:

    1. MySQL;
    2. PostgreSQL;
    3. SQLite;
    4. MongoDB.

    V závislosti na typu produktu se mohou povinnosti vývojáře backendu značně lišit. Takový specialista může vytvářet a integrovat databáze, poskytovat zabezpečení a vytvářet technologie zálohování a obnovy.

    Jak se vzájemně ovlivňují frontend a backend?

    Interakce mezi frontendem a backendem probíhá v kruhu: frontend posílá uživatelské informace do backendu, kde jsou zpracovány a vráceny zpět ve srozumitelné formě.

    Tyto druhy práce zpravidla provádějí různí specialisté, ale je vhodné, aby každý z nich porozuměl principům, podle kterých jejich kolegové pracují. Pro návrháře rozhraní je například důležité alespoň obecně vědět, jaký je backend projektu, na kterém pracuje. To mu pomůže adekvátně posoudit, jaké technické možnosti může mít stránka nebo aplikace.

    Existuje několik možností interakce mezi frontendem a backendem:

    • HTTP požadavek je odeslán přímo na server, server vyhledá informace, vloží je do šablony a vrátí je jako HTML stránku;
    • Možnost použití nástrojů AJAX (asynchronní JavaScript a XML). V tomto případě je žádost odeslána JavaScript, načte se do prohlížeče a odpověď přichází ve formátu XML nebo JSON;
    • Jednostránkové aplikace, které načítají data bez obnovení stránky. To lze také provést pomocí AJAX nebo frameworků Angular a Ember;
    • Ember nebo knihovna Reagovat pomáhají používat aplikaci jak na serveru, tak na klientovi. Frontend a backend komunikují prostřednictvím AJAX a HTML kódu, který je zpracováván na serveru.

    Jak vidíme, moderní vývoj je komplexní a víceúrovňový proces, který se dělí na dvě části: klient a server. Frontendoví a backendoví programátoři mají k dispozici spoustu nástrojů, jejichž výběr závisí na zadaných úkolech a náročnosti projektu. Oba typy vývoje zahrnují technické a kreativní složky.

    Odpovědnosti frontendových a backendových vývojářů jsou obvykle odděleny, ale jsou chvíle, kdy programátor musí řešit problémy, které vznikají jak na straně serveru, tak na straně klienta. Na trhu často najdete specialisty, kteří se cítí jistě ve frontendu i backendu a dokážou skloubit dva druhy práce.

    Svou cestu ve vývoji frontendu a backendu můžete začít s 12měsíčním kurzem Skillbox. Je vhodný pro začátečníky a programátory s malými zkušenostmi. Účastníci kurzu se během roku naučí základní programovací jazyky v praxi a vytvoří si vlastní portfolio, které jim pomůže najít perspektivní a dobře placenou práci.

    Backend je softwarová a administrativní část vývoje webu nebo jiného zdroje. Zde probíhá proces programování a naplňování funkčností, vzniká jádro, vyvíjí se platforma a přiděluje se administrativní zóna. Backendový vývojář vytvoří serverovou část pro integraci databáze a zajištění výměny informací s uživatelskou stranou.

    Jak se liší vývoj backendu?

    Moderní metodika vývoje zahrnuje oddělení backend a frontend částí. Druhá zahrnuje uživatelské rozhraní a vše, co je pro běžného návštěvníka nutné pro práci se stránkou. Vývoj backendu zahrnuje nástroje pro zpracování příkazů přijatých od uživatele, backend je interní součástí, se kterou může pracovat pouze administrátor.

    Typy vývoje backendu

    Backend development nachází své uplatnění v různých oblastech tvorby informačních produktů. Účelem použití dělení bylo zjednodušit práci. Serverová a klientská část mají různá specifika, takže oddělení pomáhá zvýšit efektivitu. Při práci v jedné oblasti může specialista studovat její vlastnosti hlouběji.

    Kvalitní backend webu má na starosti ukládání dat a zpracování signálů, které přicházejí od uživatele při používání webového rozhraní. Serverová část poskytuje kontrolu nad údaji zadávanými návštěvníky, včetně autorizace. Bezpečnost zde hraje důležitou roli; většina zranitelností se objevuje na straně serveru.

    Podobný úkol plní backendové aplikace, kde je server s databází, která dokáže poskytnout potřebné informace podle příchozích požadavků. Proces vytváření všech webových stránek, aplikací a softwaru má tuto strukturu. Rychlost interakce a správná správa obsahu závisí na kvalitě vývoje na straně serveru.

    Co potřebuje backendový vývojář vědět?

    Otázka, co potřebuje vědět vývojář backendu, vyvolává spoustu kontroverzí, protože nástroje k dosažení cíle mohou být úplně jiné. Stejný problém lze řešit různými způsoby a každý může být účinný svým vlastním způsobem. Hlavní věc je pochopit, jaký je rozdíl mezi vývojem backendu a frontendem. Když už mluvíme o nástrojích, musíte pochopit, proč musíte nainstalovat Ruby a proč není vyžadována instalace Javascriptu.

    Koncept MVC se používá jako schéma provozu zdrojů, které se do ruštiny překládá jako „model-view-controller“. Uživatel pracuje s posledními dvěma, vidí „pohled“ a ovládá jej pomocí „ovladače“. Požadavek je odeslán přes „řadič“ do „modelu“, kde je signál zpracován, v důsledku čehož se „reprezentace“ změní. Můžeme říci, že „model“ je na straně serveru a „pohled“ a „řadič“ jsou na straně klienta.

    K vytvoření serverové části musí vývojář ovládat následující backendové programovací jazyky:

    • javascript;
    • Jáva;
    • krajta.

    Pro pohodlí vývojáři používají frameworky, které jsou softwarovou platformou, sadou nástrojů a knihoven, což jim umožňuje neztrácet čas navíc na řešení typických problémů.

    Mezi backendovými frameworky jsou nejoblíbenější následující:

    • yii2;
    • uzel js.

    Tato sada nástrojů není vyčerpávající, v procesu práce a získávání nových znalostí může backendový vývojář provádět změny ve svých činnostech a vývoj technologií také nestojí a nabízí nové možnosti řešení problémů. Studium základů je nutné k tomu, abyste co nejhlouběji pochopili specifika vaší činnosti.

    Návrhář rozvržení a programátor, umělec a inženýr v jednom. V tomto příspěvku řeknu světu o hrdinovi meče a magii stylů a kódu, který dělá web krásnějším a rychlejším – front-end vývojáři. Příspěvek bude zajímat především všechny, kteří chtějí pochopit, jak se front-end vývojáři liší od designérů layoutů, back-endových vývojářů, UX specialistů a webdesignerů. Jaké dovednosti by měl mít a proč je to taková čest být front-end vývojářem? Autor se netváří objektivně, ale pod kočkou je vítán každý, koho to zajímá.

    Nejprve si ujasněme, co znamená pojem „frontend“ a kdo je vývojář frontendu?

    Tento pojem je velmi specifický a široký, takže je obtížné jej stručně a jednoznačně definovat. Frontend volají celou stranu klienta (včetně softwarové části, která je pro uživatele neviditelná) webových stránek/webových aplikací: rozhraní, šablony, styly, widgety atd. V souladu s tím je vše, co se děje na straně serveru, backend.

    Zde je krátký seznam konceptů a technologií, které jsou nejčastěji spojovány s vývojem front-endu:
    HTML, CSS, JavaScript, jQuery, Node.js, AJAX, SPA...

    Pojďme si rozebrat, co dělá typický front-end vývojář.

    Samozřejmě první zodpovědnost, která mě napadne, je rozložení. Náš hrdina ideálně ví, jak rozvržení stránky jakékoli složitosti. Dodržování standardů (v rámci možností) je nutností.

    Front-end vývojář ve svém týmu monitoruje kvalitu klientského kódu, plácá do rukou nedbalým návrhářům rozvržení a bije designéry, kteří jsou ztraceni ve svých snech.

    Chcete na hlavní stránku svého webu umístit krásnou galerii „jako na tom webu“? Zeptejte se předního vývojáře! Bez váhání vám vyjmenuje tucet hotových řešení, nabídne možnosti přizpůsobení standardních pluginů, a to vše ihned s přihlédnutím ke kompatibilitě s vaším CMS a podporovanými zařízeními/prohlížeči.

    Přemýšlíte o redesignu a přidání módní funkce na váš web? Přizpůsobivost, nekonečné rolování, rolování paralaxou atd. Náš hrdina si již v duchu spočítal, kolik vás bude stát realizace jakéhokoli bláznivého nápadu, a včas vás odradí, pokud jeho umělecký vkus a zdravý rozum naznačují, že takové vlastnosti budou na přinejmenším vyprázdnit plýtvání penězi a nanejvýš příčinou zhoršení uživatelské zkušenosti.

    Pozornost věnovaná detailům a smysl pro krásu jsou charakteristické znaky front-end vývojáře.

    V tomto bodě si načrtneme čáru oddělující návrháře rozvržení a front-endového vývojáře. Nebudeme zabíhat do detailů práce designéra rozložení. Jeho hlavním úkolem je ořezat rozložení. Pokud se pak raději ujme části vývoje backendu (PHP, Python...), pak se vyvíjí směrem k backendovému programátorovi. Pokud se více věnuje programování na straně klienta (JS), pak je možná budoucím front-end vývojářem. Může se také stát, že designér layoutu půjde k designu, což je také docela dobré - praktické schopnosti layoutu se stanou jeho významnou výhodou oproti klasickým designérům „povoláním“.

    Druhou důležitou povinností front-end vývojáře je zajistit správnou úroveň použitelnost a uživatelskou zkušenost(UI a UX). Samozřejmě, že na tyto věci by měl nejprve myslet designér. Ale designér sám nemůže vždy navrhnout rozhraní, které je jasné k použití a snadno implementovatelné, ze stejného důvodu neznalosti technické části. Dobrý front-end vývojář má schopnosti designéra a UX specialisty. Jinými slovy, ví, jak vytvořit krásné a uživatelsky přívětivé uživatelské rozhraní. V žádném případě to ale neubírá chleba designérům a UX specialistům. A pokud některý z nich v týmu chybí, může je částečně nahradit.

    Dám vám příklad z reálného života.
    Návrhář se již na projektu nepodílí a zákazník se rozhodl předělat vzhled a logiku některé části svého internetového obchodu na Bitrixu.
    1. Vedoucí projektu jde za programátorem.
    2. Programátor řekne „potřebujeme layout, technické specifikace a placené řešení z Marketplace, protože to je nestandardní funkce pro obchod“ a pošle manažera designérovi layoutu.
    3. Návrhář layoutu říká „pro takovou galerii potřebujeme layout a nestandardní plugin, protože to není v našem hotovém řešení.“
    Manažer se ocitá v těžké situaci. Klient čeká na výsledek, rozpočet je minimální, nemá koho čerpat. Jak ukazuje praxe, pokud důvěřujete backendovému programátorovi, že takovou situaci zachrání, pak klient dostane něco, co vypadá, že funguje, ale je tak hrozné, že když to návrhář viděl, zbělal by a uživatel by web opustil, spletl si to s jedním velkým bugem. Designér rozložení by si s úkolem rozhodně neporadil. Pouze zkušený front-end vývojář může zachránit situaci s malými ztrátami. Bez zbytečných okolků přepíše podobnou komponentu pro daný úkol, přeuspořádá standardní galerii a přidá prvky interaktivity tak, aby řešení problému vyhovovalo klientovi a potěšilo uživatele a manažer si opět oddechl úlevy.

    Náš hrdina je generalista. Zajímá se o celou škálu webových technologií. Neignoruje vývoj serveru. Kromě nativního JS zná front-endový vývojář alespoň jeden programovací jazyk na straně serveru na středně pokročilé úrovni a může provádět významnou část úkolů, které obvykle provádí back-endový programátor. Ví, jak zacházet s takovou bestií, jako je příkazový řádek (konzole, terminál), a umí dokonce nastavit webový server. Vývoj serverů na platformě Node.js není nic exotického, ale minimálně důvod odpovědět všem „pehpeshnikům“ a „specialistům na pythony“, že na to také nejsme.

    Jedním z hlavních úkolů front-end vývojáře je samozřejmě Vývoj JavaScriptu, od mini-pluginů pro galerie až po plnohodnotné webové služby. Zde opět stojí za zmínku Node.js, který v posledních letech hraje obrovskou roli jak ve vývoji klientské strany webových aplikací, tak i na straně serveru. Stovky klientských frameworků a knihoven, jako jsou jQuery, Angular, Backbone, Knockout, Ember atd. - nekonečný prostor pro vývoj technik pro budování aplikační architektury, zlepšování kvality a rozšiřování škály úloh řešených aplikacemi.

    S rozvojem platformy Node.js se stal populární pojem „full-stack developer“ – v našem případě se jedná o JS vývojáře, který ve svých projektech používá JavaScript pro všechny možné účely. Server, databáze, klientské šablony – to vše pracuje s daty ve formátu JSON, což vypadá velmi výhodně na pozadí PHP, kde „ostřílení programátoři“ píší změť PHP/Smarty/JS/CSS, což je někdy nad síly oddělit jeden měsíc po dokončení projektu.

    Samostatným tématem k diskusi jsou také front-endové vývojářské nástroje. Pro Node.js bylo napsáno mnoho skvělých nástrojů, které fungují v duchu „jeden program, jeden úkol“. Automatizace rutinních úkolů s pomocí Grunt se stala nedílnou součástí práce. Kontrola kódu, spouštění testů, automatické nasazení, obfuskace a minifikace, předzpracování CSS a mnoho dalších úkolů je vyřešeno s třeskem během několika kliknutí.

    Chrome Dev Tools a Firebug jsou bezkonkurenční mezi předními vývojovými nástroji. V šikovných rukou našeho hrdiny dokážou tyto věci zázraky. Jsou vaše webové stránky závadné a pomalu se načítají, což způsobuje, že jsou vyhledávači hodnoceny negativně? Dobrý front-end vývojář použije Firebug k nalezení všech slabých míst ve výkonu webu během několika minut. Mimochodem, a asi SEO optimalizace náš hrdina nezapomíná. Stalo se, že kolegové v osobě designéra a programátora zavedli do kódu stránky krásné značky

    a všechny obrázky měly atribut alt="image001.jpg" . Они, безусловно, получат втык и под чутким надзором будут исправлять это.!}

    Závěr

    Pojďme stručně vyjmenovat, v pořadí, dovednosti dobrého front-end vývojáře popsané výše:
    1. Platné rozvržení v pixelech
    2. Design rozhraní
    3. Práce se serverovými technologiemi
    4. JavaScript ve všech jeho podobách
    5. Optimalizace webových aplikací
    Ukazuje se, že front-end vývojář je skvělý chlap. A opraví design a rozložení, napíše a odladí to, jak má. Tímto příspěvkem nechci klást předního vývojáře nad ostatní, ale chci, aby pochybující občané pochopili rozdíl mezi všeobecným webovým specialistou a vysoce specializovanými specialisty. Může být ostuda, když člověk, který několik let pracuje na nejrůznějších projektech, je svými nadřízenými nazýván jednoduchým designérem layoutu a myslí si, že by to zvládli i bez něj. Kvůli tomuto přístupu k zaměstnancům firmy často přicházejí o velmi hodné lidi.

    
    Nahoru