15 skvělých alternativ k Reactu, Angularu a Vue

„The Sound of Music“ možná káže: „Začněme úplně od začátku, velmi dobrého místa, kde začít“. Ale téměř každý vývojář ví, že je to pošetilý plán. Správné místo, kde začít, je pevný základ vybudovaný skvělým týmem vývojářů open source. Naklonujte jejich tvrdou práci a pak přidejte jen tolik kódu, aby byl váš vlastní. Není třeba opakovat to, co už udělali všichni před vámi.

Je to snadný plán – jakmile se rozhodnete. Bohužel zvolit si tento základ může být téměř stejně těžké jako začít úplně od začátku. Svět webových frameworků je velmi aktivní oblastí vývoje a mohou existovat desítky dobrých open source projektů, které by byly skvělým začátkem pro váš projekt.

A aby toho nebylo málo, různé týmy, které tyto různé projekty vytvořily, se vydaly jinou cestou, protože měly vážné filozofické rozdíly s ostatními možnostmi. Podívaly se na ostatní frameworky a rozhodly se, že to zvládnou lépe. Jinými slovy, udělali to z nějakého důvodu a vy s jejich rozhodnutím můžete, ale nemusíte souhlasit.

Níže uvedený seznam dobrých míst pro začátek záměrně vynechává lídry trhu React, Angular a Vue, jen aby to bylo trochu jednodušší. To ale neznamená, že by velká trojka byla špatná. Stále pro vás mohou být tím pravým. Jde jen o to, že se o nich neustále mluví a tyto diskuse vynechávají některé docela dobré další možnosti.

Existuje spousta dobrých důvodů, proč si vybrat ty nejpopulárnější. Mnoho lidí na tvém místě se rozhlíželo a mnoho z nich si z dobrého důvodu vybralo React, Angular nebo Vue. Ale to bylo tehdy. Mezitím někteří chytří lidé vytvořili novější frameworky, které jsou rychlejší, jednodušší, silnější nebo některý z velké sady superlativů.

Ve většině níže uvedených případů týmy vytvořily něco zajímavého a výkonného tím, že si nově představily podstatu frameworku. To je efektní způsob, jak říci, že skončily odstraněním nějaké funkce, čímž zefektivnily framework, a tím snížily množství potřebné paměti, zrychlily dobu spouštění nebo jej obecně učinily svižnějším. Nebo v několika případech přidali nové nápady, které se v budoucnu mohou stát standardem.

Pokud máte čas na investování, zde je seznam některých dalších zajímavých voleb. Nemusí být nutně vhodné pro některé lidi a rozhodně nejsou nejlepší volbou pro všechny, ale mohou být lepší volbou pro vás. Vaším úkolem, pokud se rozhodnete jej přijmout, je vytvořit solidní popis vaší webové aplikace, sepsat relativně pevný popis různých případů použití a s ohledem na to pak tyto nástroje vyhodnotit.

Možná se vám líbí určitý přístup k návrhu kódu. Možná vaše aplikace nepotřebuje některé funkce v tlustších a populárnějších frameworcích. Existují desítky důvodů, proč investovat do některé z těchto dalších cest. Možná právě zjistíte, že jedna z nich dělá pro vaši aplikaci zázraky.

Petit DOM

Pokud se vám líbí myšlenka virtuálního DOM, ale nechcete všechna omezení, která jsou spojena s přijetím myšlení lidí z Reactu, Vue nebo jiného frameworku zvučného jména, pak je Petit DOM tou správnou cestou. Získáte malé množství kódu, které vám umožní manipulovat s virtuální kolekcí značek a poté je přenést do skutečného DOM. Vše ostatní ohledně struktury komponent a vykreslování je na vás. Pokud jsou vaše komponenty jednoduché nebo pokud se chystáte vytvořit nějakou superkomplexní hierarchii vykreslování, která bude jen vaše, může být tento nástroj vaším základem, protože vše, co poskytuje, je nástroj pro virtualizaci DOM.

Surplus

Virtuální DOM nemusí být pro každého. Zabírá místo, takže pokud vaše manipulace nejsou příliš složité, můžete své instrukce rovnou převést do oficiálního DOM. Právě to dělá knihovna Surplus. Vezme všemi oblíbenou značku JSX a zkompiluje ji do kódu, který bude manipulovat se skutečným DOM. Jak se říká v reklamním byznysu, odstraní prostředníka. Žádné porovnávání. Žádná tajná vrstva navíc. Jen čistá manipulace se skutečným DOM. Pokud je váš kód dostatečně jednoduchý a přímočarý, aby s DOMem udělal jen pár věcí, proč se trápit s virtuálním rozptylem?“

RE:DOM

Další možností pro ty, kteří nechtějí investovat žádnou paměť do virtuálního DOMu, je maličká knihovna (2KB) s názvem RE:DOM. RE:DOM obsahuje několik základních rutin, které vám umožní vytvořit všechny značky a komponenty pomocí několika jednoduchých volání jazyka JavaScript. Syntaxe je mnohem bližší CSS, takže můžete zadávat poměrně složité značky s ID a třídami pomocí několika stisků kláves. Vaše klávesy „menší než“ (<) a „větší než“ (>) vám poděkují.

Mithril

Ne všechny alternativy jsou drobné a minimalistické. Mithril by se v tomto kontextu dal nazvat „středně velkým“ rámcem, přestože váží jen asi 8 KB. Celý tento kód vytváří virtuální DOM s efektivním aktualizačním mechanismem jako ostatní, ale obsahuje také standardizovanou sadu nástrojů pro řešení mnoha standardních problémů, jako je směrování a volání XMLHttpRequest. Tvůrci projektu chtějí, aby projekty Mithril byly relativně standardizované, a mají pocit, že přidání tohoto kódu do hlavní knihovny standardizaci zvyšuje. Pokud vám to nestačí, prosazují také některé standardní formátovací a idiomatické struktury.

Bobril

Pokud se vám líbí virtuální DOM a stavové komponenty Reactu a rádi programujete v jazyce TypeScript, pak může být Bobril nebo jeho příbuzný ngBobril vhodný pro Angular. Tento framework je v některých benchmarcích konzistentně mnohem rychlejší než React nebo Angular, možná kvůli rychlejším algoritmům diff a absenci podpory izomorfního JavaScriptu. K dispozici jsou také zkrácené funkce pro manipulaci s CSS a kompletní vrstva pro správu stavu BobX, pokud ji potřebujete.

Marko

Pokud jste trávili nějaký čas přihazováním na automaty Pez nebo jiné sběratelské předměty, poznali jste sílu Marko, štíhlého a rychlého frameworku, který eBay sdílí prostřednictvím licence open source. Nejhezčí částí může být velmi lehká syntaxe šablonování, která chytře odstraňuje většinu přebytečného tuku z jazyka HTML, takže struktura je definována odsazením a ničím jiným. A vykreslovací jádro je velmi rychlé, dokáže pohánět propracované konstelace tančících DIVů, které se aktualizují rychleji než 60 snímků za sekundu.

Svelte

Váš standardní webový framework se dodává s kompilátorem a staženou knihovnou, která za běhu zpracovává to, co kompilátor vytvoří. Dvoufázový proces umožňuje velmi propracovaný kód za cenu čekání na stažení runtime knihovny a její parsování při každém otevření stránky. Překladač Svelte se této složitosti zbavuje tím, že vyplivne téměř čistý JavaScript, který je téměř připraven ke spuštění sám o sobě, i když jen v některých novějších prohlížečích (např. Chrome, Firefox, Opera a IE10). Je to chytrá architektonická hra, která vytváří velmi lehké webové stránky, které zabírají málo paměti.

Inferno

Inferno je další framework vytvořený tak, aby dělal mnoho z toho, co React, ale s menšími nároky na stažení a rychlejším spuštěním. Většiny z toho dosahuje tím, že odhazuje propracovaný mechanismus syntetických událostí a soustředí se jen na ty nejpodstatnější, jako je onClick. Mnoho dalších částí rozhraní API je podobných, ne-li stejných, takže je poměrně snadné přesunout váš kód, pokud nepotřebuje vrstvu pro optimalizaci událostí.

Preact

Jedním z nejmenších potomků Reactu je Preact, pocta, která nabízí většinu nejcennějších funkcí, jako je virtuální DOM a propracované komponenty, ale zbavuje se syntetických obsluh událostí a některých dědičností rekvizit. Zatímco Inferno se snaží implementovat pouze nejdůležitější události, jako je onClick, Preact se neobtěžuje snažit se s událostmi cokoli dělat a nechává vás spoléhat na nativní addEventListener prohlížeče. Vynecháním funkcí, které (podle jejich názoru) mnoho nepřidávají, ještě více zmenšují objem stažených souborů. Je to trochu kompromis, protože benchmarky ukazují, že Preact je o něco pomalejší než Inferno. Vaše aplikace se samozřejmě může lišit a vaše zkušenosti se mohou lišit. Pokud opravdu potřebujete čistou kompatibilitu s Reactem, existuje dokonce knihovna (preact-compat), která opravuje většinu problémů při sestavování.

Hapi

Mnoho frameworků přichází v jednom jediném kusu. Hapi je spíše kolekce zásuvných modulů, souhvězdí desítek kousků kódu, které si můžete do svého zásobníku přimíchat, jak uznáte za vhodné. Autentizace, autorizace a logování jsou práce, které lze řešit libovolným počtem možností. Pokud budujete architekturu mikroslužeb plnou rozhraní API, standardizovaný modul plug-in Swagger automaticky vygeneruje dokumentaci Swagger z vašeho základního kódu.

Koa

Někdy potřebujete poměrně složitou kolekci rutin, které žonglují s příchozími požadavky a převádějí je do několika změn, z nichž některé jsou propracované. Koa je navržena tak, aby organizaci veškeré této práce trochu zjednodušila. Její tajemství spočívá v tom, že proměňuje funkce zpětného volání, které normálně v JavaScriptu převládají, v sadu asynchronních funkcí, které se spustí ve správný čas. Vnořené špagetové zásobníky zpětných volání se změní na něco trochu čistšího.

Nest

Další možnost, jak zkrotit složitost serveru, pochází od týmu Nest, který nabízí architekturu plnou kontrolérů, rour a zprostředkovatelů s několika hlídači, interceptory a filtry výjimek vhozenými pro udržení pořádku. Framework je moderní a připravený na zpracování požadavků GraphQL a mikroslužeb hned od začátku.

Drupal, WordPress a Rails

Frameworky postavené v JavaScriptu a běžící nad Node.js dnes vyplňují psychologické centrum světa webového vývoje. Může však být chybou ignorovat předchozí generaci postavenou na PHP, což je základ, který je nyní rychlejší než kdy dříve, protože má také just-in-time kompilátor jako JavaScript. A Ruby a jeho framework Rails nadále slouží jako základní kameny skálopevných webových stránek.

Poslední generace je ostřílená bitvami a prověřená více než desetiletím nepřetržitého vývoje a práce. Existují sofistikovaní designéři, kteří dokáží z aplikací udělat témata a skiny. Je velká pravděpodobnost, že někdo již vytvořil moduly s funkcemi, které potřebujete. Než se tedy pustíte do zkoumání chytrého frameworku Node.js, zvažte, zda některý z těch starých už neumí většinu, ne-li vše, co potřebujete.

Vanilla JS

Můžete to považovat za zlomyslné rýpnutí nebo možná satiru na úrovni „Císařových nových šatů“, ale o jeho úspěchu lze jen těžko polemizovat. Vanilla JS je webová stránka, která se chlubí tím, že její framework se používá na více webových stránkách než „jQuery, Prototype JS, MooTools, YUI a Google Web Toolkit dohromady“. To může, ale také nemusí být pravda vzhledem k rozšíření jQuery, ale zasmějme se nad tím, že hoří. Součástí webu je také malý roztomilý selektor, který vám umožní spojit dohromady vlastní archiv různých komponent, jako jsou Math, DOM, uzávěry nebo regulární výrazy. Bez ohledu na to, co si vyberete, je výsledek dlouhý neuvěřitelných nula bajtů. Zkuste to překonat!“

Pointa tohoto vtipu spočívá v tom, že někdy má smysl použít jen několik standardních prvků v JavaScriptu a vynechat ty navíc. Knihovny a frameworky jako jQuery nebo React vznikly částečně kvůli šíleným rozdílům mezi prohlížeči. Mnoho těchto rozdílů zmizelo díky standardizaci.

Zastánci Vanilla JS se samozřejmě nepostaví čelem k tomu, že zkrácené funkce jako $() jsou nejen pohodlné, ale také šetří místo v našem vlastním kódu. Ale pokud budete document.getElementById používat jen občas, může vám to být jedno. Pokud budete na svou webovou stránku přidávat jen několik funkcí a tyto funkce budou dělat několik základních věcí, může být pro vás nejrychlejším frameworkem prostý vanilkový JavaScript

.

Napsat komentář