výběr rámce pro vaši aplikaci NodeJS může být těžký. Je jich tolik, s vlastními silnými a slabými stránkami. Na konci dne bude zvolený rámec záviset na vašem programovacím prostředí a na tom, co má vaše aplikace dělat. Některé rámce jsou lehké, rychlé a nestarají se o to, jak si aplikaci vytvoříte. Jiní mají více funkcí, ale mohou vás donutit používat jejich motory a určitým způsobem organizovat svůj kód.
cílem tohoto článku je porovnat některé z nejvíce populární Uzel rámců tak, že lze nakonec rozhodnout, který z nich je právě pro váš projekt.
co je rámec?
obecně lze říci, že rámec je podpůrný systém pro vaši aplikaci. Node poskytuje sadu nástrojů pro rozhraní s věcmi, které vaše aplikace potřebuje, jako je síť a souborový systém. Rámec rozšiřuje tyto schopnosti a abstraktuje některé složitější aspekty vývoje. Například obslužný program ve vašem kódu může obdržet objekt požadavku ze sítě. Rámec by mohl zachytit tento požadavek objekt před tím, než dosáhne svého psovoda, přidává některé další metody a možnosti aby to bylo snazší pracovat.
existuje několik příchutí uzlového rámce a každá poskytuje jiný programovací zážitek.
MVC Rámců
MVC (Model View Controller) architektura je užitečný návrhový vzor, který rozděluje logiku aplikace do tří částí — modely definovat tvar data, názory na uspořádání uživatelského rozhraní a ovladače pro komunikaci mezi dvěma. Uzlové rámce, které podporují architekturu MVC, jsou užitečné, pokud nechcete trávit příliš mnoho času starostí o uspořádání kódu.
Express
můžeme také dostat Express z cesty jako první, protože žádný seznam rámců uzlů by bez něj nebyl úplný. Express je stále vládnoucím šampiónem populárních rámců, jak potvrzují jeho hvězdy 47.5 K Github, hodinky 1.8 K a vidlice 7.7 K. To samo o sobě z něj dělá vynikající volbu. Je robustní, dobře testovaný, a existuje velká komunita, která s ní udržuje a pracuje, která vás může podpořit a odpovědět na otázky.
Express se prezentuje jako “ rychlý, ne-umíněný, minimalistický rámec pro uzel.“Důraz je kladen na výkon a poskytování pouze toho, co potřebujete. Rámec poskytuje malou funkčnost jeho vlastní, místo toho, aby rozsáhlé middleware řetězení zpracovávat požadavky.
Začínáme
Vytvořte server.js nebo aplikace.js soubor v kořenovém adresáři projektu a přidejte následující kód
const express = require('express')const app = express()app.get('/', function (req, res) { res.send('Hello World')})app.listen(3000)
Spustit server s
node ./server.js
a navštivte localhost:3000 v prohlížeči vidět reakci.
plachty
plachty zdůrazňují stabilitu a snadné použití a poskytují mnohem více po vybalení z krabice než Express. Nakloní se ve směru plného zásobníku a poskytuje podporu pro ověřování, vlastní ORM pro propojení databází, WebSockets a templating. Plachty je víc umíněný, než Vyjádřit — což znamená, že musí použít za předpokladu, ORM (čára Ponoru) a templating engine (EJS, i když rozšíření s názvem Konsolidovat poskytuje podporu pro další šablonovacího motorů, které jsou kompatibilní s Express.) Sails se může pochlubit také působivým generátorem API s názvem Blueprints, který umožňuje generovat koncové body API s minimálním ručním kódováním. Z dokumentace plachet:
…pokud vytvoříte uživatele.soubor modelu js ve vašem projektu, pak s povolenými plány budete moci okamžitě navštívit / user / create?name = joe vytvořit uživatele, a návštěva / uživatel vidět řadu uživatelů vaší aplikace. Vše bez psaní jediného řádku kódu!
plachty jsou již dlouhou dobu a patří mezi nejoblíbenější rámce podle svých hvězd, pohledů a vidlic Github. Mnoho velkých společností se spoléhá na plachty, což znamená, že je dostatečně robustní, aby podporovalo podnikové aplikace.
začínáme
Plachty poskytuje výkonné rozhraní příkazového řádku se dostat nahoru a běží s novou aplikaci velmi rychle
npm install -g sailssails new <project_name>
Budete vyzváni, aby si vybrat buď webové aplikace šablony s vestavěným-in ověření a přihlášení nebo prázdné aplikace. Jakmile Plachty dokončí nastavení základy, disk cd-rom do složky projektu a spusťte
sails lift
nyní můžete přejít na localhost:1337 vidět generované stránky.
Full-Stack Frameworků
Full-stack frameworků poskytují strukturu a funkčnost pro celou aplikaci – od klienta na server do databáze. Full-stack framework může přijít s mnoha funkcemi, včetně šablon motorů, WebSocket knihovny, a ORMs. V závislosti na velikosti vašeho týmu a aplikace mohou být tyto funkce velmi užitečné nebo mohou být více, než potřebujete.
Meteor
Meteor je druhý nejvíce hvězdný, zobrazený a vidlicový rámec uzlu na Githubu. Komunita je živá a dokumentace je rozsáhlá. Dokumentace obsahuje osvědčené postupy, doporučené průvodce stylem a mnoho tutoriálů a technických článků. Meteor je dodáván s npm, a jeho vlastní správce balíčků s názvem atmosféra, stejně jako vestavěnou podporu pro Mongo datastore a snadnou integraci s React, Úhlové nebo Blaze. Je umíněnější než Expres nebo plachty.
Meteor používá „data on the wire“ na rozdíl od Vykreslování na straně serveru-server tedy odesílá data, nikoli HTML, a klient je vykreslí. Meteor build tool poskytuje po vybalení z krabice podporu pro mobilní přes Cordova a podporuje horké překládky.
Začínáme
nástroj pro sestavení Meteoru je to, co vytváří, kompiluje a spouští vaši aplikaci. Stáhněte si ji přes curl.
curl https://install.meteor.com/meteor create <project_name>
tím vytvoříte strukturu souborů pro vše, co potřebujete v základní aplikaci Javascript, uspořádané do adresářů /client a / server. cd do kořenového adresáře projektu a spusťte
meteor run
aplikace by nyní měla být spuštěna na localhost:3000
REST API Frameworks
pokud máte na straně klienta aplikace vztahuje, možná budete potřebovat rámec pro serverové části zásobníku. V tomto případě můžete jít s jednoduchým REST API framework jen pro zpracování požadavků CRUD na váš server. Dalo by se to udělat s Express, ale existují také rámce specificky zaměřené na řešení tohoto konkrétního případu.
Loopback
Loopback je podle Githubu druhým nejoblíbenějším REST API frameworkem. Vyvinutý společností IBM, je „vysoce rozšiřitelný, open-source Uzlu rámec založený na Express, který umožňuje rychle vytvořit Api a microservices.“Dodává se s nástrojem příkazového řádku pro snadné generování projektů a vytváření řadičů a modelů a poskytuje doplňkovou podporu pro snadnou autentizaci a autorizaci. Neposkytuje žádnou podporu pro zobrazení nebo šablony nebo vyhrazený ORM, protože je určen k použití pouze jako API.
Loopback umožňuje vytvořit dynamické API během několika minut s minimálním kódováním. Vývojový cyklus je velmi rychlý a struktura souborů je čistá a užitečná. Nastavení obsahuje možnosti konfigurace eslint, prettier, mocha a docker hned po vybalení z krabice.
Začínáme
npm install -g @loopback/clilb4 <project_name>
budete vyzváni k zodpovězení několika otázek o tom, jak chcete nastavit aplikaci, a struktura souboru bude lešení. cd do projektu root a spustit
npm start
vytvořit novou trasu, spustit
lb4 controller
a odpověď na výzvy. Po vytvoření souboru řadiče můžete importovat funkci Loopback get a použít ji k nastavení řadiče
import {get} from '@loopback/rest';export class HelloController { @get('/hello') hello(): string { return 'Hello world!'; }}
shrnutí: nejlepší uzel.JS Frameworks
Rámec | Výkon | Společenství | Snadné Použití | Nejlepší Pro |
---|---|---|---|---|
Express | Rychle. Přidává málo, takže nic, co by se dostalo do cesty surové rychlosti uzlu. | masivní. Spousta otázek položených a zodpovězených. | tak obtížné, jak chcete, aby to. | velké a malé projekty. Také skvělý způsob, jak se naučit pracovat s uzlem. |
Plachty | Střední. Důraz je kladen na zlepšení efektivity vývojáře oproti výkonu. | Velké. Dobře zavedený projekt, který existuje již dlouhou dobu. | snadné. Plány usnadňují uvedení API do provozu s minimálním kódováním. | středně velké projekty, které se musí rychle dostat ze země. |
Meteor | Pomalejší. Důraz je kladen na vstávání/prototypování projektu velmi rychle. | menší, ale živé a rostoucí. | snadné. Plány usnadňují uvedení API do provozu s minimálním kódováním. | rychlé vstávání malých projektů. Zašpinit si ruce novým nástrojem. |
Loopback | Střední. | malý, ale ti, kteří ho milují, ho opravdu milují. | snadné, ale neposkytuje tolik dopředu. | vytvoření podnikového API pro samostatný frontend. |
Závěry
je těžké vybrat konečné „nejlepší“ Uzel rámec, jako rámec, který zvolíte, bude měnit na základě vašich potřeb. Pokud chcete svobodu vybrat si vlastní knihovny a integrace třetích stran, Express nebo Loopback může být vaše nejlepší sázka. Ale pokud váš tým chce postavit zbrusu novou aplikaci zepředu dozadu během několika dní, Meteor nebo plachty by mohly lépe vyhovovat vašim potřebám.
Existuje mnoho jiných rámců rámec uvedených v tomto článku, a nejlepší způsob, jak vědět, co bude pracovat pro vaši aplikaci, nebo tým je přečíst si dokumenty a zkuste pár ven.
- Jak používat API
- s Javascriptem
- Jak vytvořit API
- Uzel.js a expres.js
- jak vytvořit aplikaci Počasí s uzlem.js
- Jak Nastavit GraphQL Server s Uzel a Vyjádřit