Pre vývojárov JavaScriptu, Viac možností Stredne ťažké voľby


Výučba programovania jazyk je len súčasťou stať sa vývojárom softvéru. V týchto dňoch písanie softvéru zahŕňa ekosystém nástrojov, z programov, ktoré vývojári používajú na napísanie svojho kódu na služby cloud computingu, ktoré ho spúšťajú. Výber nástrojov je súčasťou práce.

Vývojári na rozhraní front-end, t. J. Tí, ktorí píšu kód, ktorý beží vo vašom prehliadači, majú tradične menej možností ako ich veriaci, ktorí napíšu kód, ktorý beží na serveroch. Prehliadače používajú predovšetkým programovací jazyk JavaScript, zatiaľ čo vývojári na back-end si musia vybrať zo závratného počtu programovacích jazykov a súvisiacich nástrojov.

To sa mení v dôsledku výbuchu nástrojov navrhnutých tak, aby uľahčili život pre vývojárov na front. Nové nástroje sú zmiešaným požehnaním: väčšia voľba je dobrá, ale nástroje môžu rýchlo padnúť a preč.

Vývojári sa teraz spoliehajú na aplikačné rámce – zväzky opakovane použiteľných častí a celkovú štruktúru pre budovanie softvéru. Na začiatku roka 2015 najpoužívanejší rámec JavaScript bol Backbone, podľa údajov zhromaždených spoločnosťou NPM, ktoré robia nástroje na správu balíkov kódu JavaScript. Do konca tohto roka bola schválená novou knihou React pre Facebook. Teraz, o menej ako štyri roky neskôr, Backbone klesol na piate miesto, za novšími rámcami, ako napríklad novinkou Vue, ktorá sa v posledných dvoch rokoch zvýšila, podľa údajov poskytnutých minulý mesiac spoločnosťou NPM.

Táto turbulencia vytvára výzvy pre vývojárov i zamestnávateľov. Podobne ako mnohí programátori, Joe Previte, prednášajúci inžinier v poradenskej firme v Scottsdale, Arizona, sa snaží udržať krok s najnovšími technológiami tým, že pracuje na bočných projektoch vo voľnom čase. Ale často sa obáva, že sa zameriava na nesprávne veci alebo že by sa mohol šíriť príliš tenkým. "Cieľom každej kariéry je stať sa odborníkom v tejto zručnosti," hovorí. "Práca v jazyku JavaScript, keď sa objavia všetky tieto nové knižnice a rámce, môžeme hlboko ponoriť do Reactu a potom prejsť na niečo iné pre celý ďalší projekt a musieť stráviť šesť mesiacov, keď sa dozviete, že miesto vývoja hlbokých odborných znalostí v jednej technológii. "

Je to tiež výzva pre zamestnávateľov, ktorí potrebujú prilákať vývojárov a zabezpečiť, aby nástroje používané na vytváranie softvéru boli podporované v nasledujúcich rokoch. "Je to ako hľadanie krištáľovej gule," hovorí Matt Tucker, generálny riaditeľ a spoluzakladateľ spoločnosti Koan, ktorý robí softvér pre správu tímov. "Vydávate stávky na to, čo sa bude odteraz nachádzať po rokoch, vyvažovaním technických úvah so záujmami komunity."

Prečo je to tak zložité?

Jose Aguinaga, CTO spoločnosti cryptocurrency MyBit, zachytil dezorientujúcu povahu moderného vývoja jazyka JavaScript v širokom článku 2016. V ňom vykreslil fiktívny rozhovor medzi vývojárom, ktorý za pár rokov nevenoval pozornosť na jazyk JavaScript a niekto, kto mal rýchlosť na najnovších trendoch. Menej-aktuálny vývojár chce získať niektoré údaje zo servera a zobraziť ho na webovej stránke a stále viac narastá, pretože jeho kolega navrhuje používať nové nástroje s názvami ako Grunt, Gulp a Broccoli.

Časť fiktívneho dialógu Josefa Aguinaga v roku 2016 medzi dvoma vývojármi jazyka JavaScript.

Jose Aguinaga

Článok bol satirický, ale uvedené nástroje sú skutočné. Návrhy fiktívneho spisovateľa Aguinaga sú pravdepodobne nadmerné, ale mnohé z ospravedlnenia pri používaní týchto nástrojov by malo zmysel vo väčších projektoch. "Nástroje sa stále komplikujú, pretože softvér, ktorý budujeme, je zložitejší," hovorí Tucker.

To je relatívne nový fenomén v práci na frontoch, hovorí Quincy Larson, zakladateľ vzdelávacieho webu FreeCodeCamp. Historicky sa jazyk JavaScript používal najmä na vytvorenie interaktívnych webových stránok. Vývojári by mohli napísať kód, ktorý prechádzal používateľom vyplnením formulára alebo nechať ich prelistovať prostredníctvom digitálneho fotoalbumu a programátor by o ňom často mohol zabudnúť až potom, kým nebol stránku prepracovaná. Ale dnes vývojári sú čoraz viac požiadaní, aby vytvorili desktopový softvér, ktorý beží na programoch prehliadača, ako je Koan, aplikácia pre správu projektov Trello alebo aplikácia pre prácu na pracovisku Slack.

Tieto zložitejšie aplikácie vyžadujú, aby tímy vývojárov spolupracovali na kódovaní, aktualizovali ho, pretože používatelia objavujú chyby a pridávajú nové funkcie v priebehu času. Rastúca stabilita nástrojov JavaScriptu má za cieľ uľahčiť život pre programátorov tým, že ich oslobodí od opätovného vytvárania spoločných funkcií od začiatku, uľahčuje ostatným pochopenie a zmenu ich kódu alebo uľahčuje nájdenie chýb vo veľkých kódových základniach.

Vývojári už od polovice deväťdesiatych rokov vytvárajú nástroje, ako je tento program, pre back-end programátorov, ale vývojári na front-end pracujú v podstate hlboko. Nárast a pokles JavaScript nástrojov by mohol napodobňovať vzostup a pokles ich back-end predchodcov na komprimovanej časovej osi.

Turbulencia môže byť zhoršená inými programovacími trendmi. Koordinátor spoločnosti Koan Arend Naylor poukazuje na rastúcu popularitu "funkčného programovania", čo v podstate sťažuje kódovanie v jednej časti programu, aby zablokoval kód v inej časti toho istého programu. Facebook React patrí medzi nástroje, ktoré ponúkajú podporu pre funkčné programovanie, ktoré sa stáva čoraz bežnejším, pretože softvér sa stáva zložitejším.

Školenia pre budúcnosť

Táto nestabilita odrádza niektorých manažérov od používania nástrojov vytvorených outsidermi. Brian Leroux, hlavný riaditeľ štartovacieho softvéru Cloud Computing Begin, tvrdí, že spoločnosť sa snaží vyhnúť tomu, aby sa v čo najväčšej miere spoliehala na rámcov JavaScriptu alebo iné nástroje tretích strán. To neznamená, že Begin tieto nástroje nikdy nepoužíva, ale Leroux hovorí, že možnosť, že nová verzia knižnice poruší starý kód, môže v dlhodobom časovom horizonte vytvoriť pre vývojárov viac práce, a to aj v prípade, že pomôže rýchlejšie stavať produkt.

Napriek tomu sa knižnice ako React stávajú normou a existuje určitá zhoda, že môžu ušetriť úsilie. Naylor hovorí, že tím Koan nepoužije knižnice, ak dokáže ľahko reprodukovať svoju vlastnú funkčnosť, ale tím sa spolieha na nástroje React a súvisiace nástroje. ČTÚ a vývojári tiež tvrdia, že pri výbere technológií sa zameriavajú na veľkosť komunity za projektom. Vysoko kvalitný nástroj s jediným vývojárom, ktorý by mohol byť zasiahnutý autobusom, je ťažké staviť na projekt.

Ak chcete zvládnuť nepredvídateľnosť, prakticky každý súhlasí s tým, že vývojári v oblasti front-end by sa mali sústrediť na budovanie silných základov programovania, najmä v jazyku JavaScript. "Akonáhle zvládnete základy, to všetko je len iné značky," hovorí Leroux. Spoločnosť Previte napríklad dokázala vyviezť prácu, ktorá pracuje s Reactom, hoci jeho počiatočná skúsenosť bola s Vue.

Ale Aguinaga tvrdí, že len to, že je poznaná v základoch, nestačí. Chce, aby sa vývojári oboznámili s modernými nástrojmi, ktoré vyžadujú iný spôsob myslenia, napríklad React. "Nakoniec som nezahŕňal ľudí, ktorí vyzerali dobre na papieri, pretože sa nedotkli Reactu," hovorí. "Potrebujem ľudí, ktorí môžu byť produktívni [using React] od prvého dňa. "

Dokonca aj keď manažéri prijímania nie sú tak prísne ako Aguinaga, vývojári nemôžu navždy očakávať, že budú spoliehať na rovnaký súbor zručností. Dobrou správou je, že väčšina vývojárov sa nenájde z práce cez noc. Existuje ešte veľa firiem, ktoré majú softvér postavený na Backbone, a tie spoločnosti budú potrebovať vývojárov na udržanie tohto softvéru už roky. To poskytuje čas pre vývojárov, aby zdokonalili svoje zručnosti v iných nástrojoch.

Zlá správa je, že vývojári sa zvyčajne musia naučiť nové veci v ich vlastnom čase. "Nemám veľa priateľov, ktorí sú vývojári a nerozumejú tomu, prečo trávim toľko času v domácom štúdiu," hovorí Eleftheria Batsou, programátorka front-end v Solúne v Grécku.

"Najprv som si prial, aby nebolo veľa nových vecí," hovorí. Ale stála zmena je súčasťou toho, čo zachováva záujem o prácu. "Mám rád, že sa veci vyvíjajú. Áno, je to ťažké, ale naozaj sa mi to páči. "


Ďalšie skvelé príbehy WIRED