which Choosing a framework for your nodejs application can be tough. Niitä on niin paljon, omine vahvuuksineen ja heikkouksineen. Loppujen lopuksi valitsemasi puitteet riippuvat ohjelmointiympäristöstäsi ja siitä, mitä haluat sovelluksesi tekevän. Jotkut puitteet ovat kevyitä, nopeita ja eivät välitä siitä, miten rakentaa sovelluksen. Toiset ovat enemmän ominaisuuksia, mutta voi pakottaa sinut käyttämään moottoreita ja järjestää koodin tietyllä tavalla.
tämän artikkelin tavoitteena on vertailla joitakin suosituimpia Solmukehyksiä, jotta voit lopulta päättää, mikä niistä sopii projektiisi.
mikä on kehys?
yleisesti ottaen kehys on hakemuksesi tukijärjestelmä. Node tarjoaa joukon työkaluja, joilla voit käyttää sovelluksen tarvitsemia asioita, kuten verkkoa ja tiedostojärjestelmää. Kehys laajentaa näitä valmiuksia ja abstrahoi pois joitakin monimutkaisempia näkökohtia kehityksen. Esimerkiksi koodisi käsittelijä saattaa vastaanottaa pyynnön kohteen verkosta. Kehys voisi siepata tämän pyynnön objektin ennen kuin se saavuttaa käsittelijäsi, lisäämällä joitakin muita menetelmiä ja ominaisuuksia, joilla on helpompi työskennellä.
Solmukehyksestä on useita makuja, ja jokainen tarjoaa erilaisen ohjelmointikokemuksen.
MVC Frameworks
MVC (Model View Controller) — arkkitehtuuri on hyödyllinen Suunnittelumalli, joka jakaa sovelluslogiikan kolmeen osaan: malleihin, jotka määrittävät datan muodon, näkymiin, jotka järjestävät käyttöliittymän, ja ohjaimiin, jotka kommunikoivat näiden kahden välillä. MVC-arkkitehtuuria tukevat solmukehykset ovat hyödyllisiä, jos et halua viettää liikaa aikaa murehtien koodin järjestämistä.
Express
voimme yhtä hyvin saada Expressin ensin pois tieltä, sillä mikään Solmukehysten luettelo ei olisi täydellinen ilman sitä. Express on edelleen suosittujen kehysten hallitseva mestari, kuten sen 47,5 K Github-tähdet, 1,8 K kellot ja 7,7 K haarukat todistavat. Jo tämä tekee siitä erinomaisen valinnan. Se on vankka, hyvin testattu, ja on olemassa suuri yhteisö ylläpitää ja työskennellä sen kanssa, joka voi tukea sinua ja vastata kysymyksiin.
Express tokaisee itseään ”nopeana, mielipiteettömänä, minimalistisena kehyksenä solmulle.”Painopiste on suorituskyvyssä ja vain sen tarjoamisessa, mitä tarvitsee. Kehys tarjoaa vain vähän toiminnallisuutta sen sijaan, että se mahdollistaisi laajan väliohjelmiston ketjuttamisen pyyntöjen käsittelyyn.
aloittaminen
luo palvelin.js tai app.js-tiedosto projektin juureen ja lisää seuraava koodi
const express = require('express')const app = express()app.get('/', function (req, res) { res.send('Hello World')})app.listen(3000)
Suorita palvelin
node ./server.js
ja käy localhost:3000 selaimessasi nähdäksesi vastauksen.
Purjeet
Purjeet korostavat vakautta ja helppokäyttöisyyttä ja tarjoavat paljon enemmän ulos laatikosta kuin Express. Se nojaa koko pinon suuntaan, tarjoten tukea todennukselle, omalle ORM: lleen tietokantaliittymille, Websocketeille ja templatingille. Sails on enemmän opinionated kuin Express-eli sinun on käytettävä edellyttäen ORM (Waterline) ja templating Moottori (ejs, vaikka laajennus nimeltään Consolidate tarjoaa tukea muille templating moottorit, jotka ovat yhteensopivia Express.) Sailsissa on myös vaikuttava API-generaattori nimeltä Blueprints, jonka avulla voit luoda API-päätepisteitä minimaalisella manuaalisella koodauksella. The Sails-dokumentaatiosta:
…jos luot käyttäjän.JS model tiedosto projektissa, sitten blueprints käytössä voit heti käydä / käyttäjä / luoda?name=joe luoda käyttäjä, ja vierailla /käyttäjä nähdä joukko sovelluksen käyttäjät. Kaikki kirjoittamatta yhtään koodia!
Sails on ollut olemassa jo pitkään, ja se on GitHub-tähtiensä, näkymiensä ja haarukkansa perusteella yksi suosituimmista kehyksistä. Monet suuret yritykset luottavat purjeisiin, eli se on tarpeeksi vankka tukemaan yritystason sovelluksia.
aloittaminen
Sails tarjoaa tehokkaan komentorivikäyttöliittymän, jolla pääset uuden sovelluksen käyttöön hyvin nopeasti
npm install -g sailssails new <project_name>
sinua pyydetään valitsemaan joko web-sovellusmalli sisäänrakennetulla todennuksella ja kirjautumisella tai tyhjä sovellus. Kun Sails on määrittänyt perusasiat, cd-levy projektikansioosi ja aja
sails lift
voit nyt siirtyä localhost:1337 nähdäksesi luodun kotisivun.
Full-Stack Frameworks
Full-stack frameworks tarjoaa rakenteen ja toiminnallisuuden koko sovelluksellesi – asiakkaasta palvelimeen ja tietokantaan. Full-stack kehys voi tulla monia ominaisuuksia, kuten templating moottorit, WebSocket kirjastot, ja ORMs. Tiimisi ja sovelluksesi koosta riippuen nämä ominaisuudet voivat olla erittäin hyödyllisiä tai ne voivat olla enemmän kuin tarvitset.
Meteor
Meteor on Githubin toiseksi tähditetyin, katsotuin ja haaroittunein Solmukehys. Yhteisö on elinvoimainen ja dokumentaatio laaja. Dokumentaatio sisältää parhaita käytäntöjä, suositeltuja tyylioppaita sekä monia opetusohjelmia ja teknisiä artikkeleita. Meteor tulee nipussa npm: n kanssa, ja sen oma paketinhallinta nimeltään Atmosphere, sekä sisäänrakennettu tuki Mongo datastorelle ja helppo integrointi Reactiin, Angular or Blazeen. Se on enemmän itsepäinen kuin Express tai Sails.
Meteor käyttää palvelinpuoleisen renderöinnin vastakohtana ”johtimen dataa”-eli palvelin lähettää dataa, ei HTML: ää, ja asiakas renderoi sen. Meteor build-työkalu tarjoaa Cordovan kautta tukea mobiilille ja tukee kuumaa uudelleenlatausta.
Getting Started
Meteor ’ s build tool is what creates, compiles and runs your app. Lataa se Curlin kautta.
curl https://install.meteor.com/meteor create <project_name>
tämä luo tiedostorakenteen kaikelle, mitä tarvitset perus Javascript-sovelluksessa, järjestettynä /client-ja /server-hakemistoihin. cd projektisi juureen ja suorita
meteor run
sovellus pitäisi nyt olla käynnissä localhostissa:3000
REST API Frameworks
Jos sovelluksesi asiakaspuoli on katettu, saatat tarvita vain kehyksen pinosi palvelinosalle. Tässä tapauksessa, saatat mennä yksinkertainen REST API framework vain käsitellä CRUD pyynnöt palvelimelle. Voisit melko paljon tehdä tämän Express, mutta on myös kehyksiä erityisesti suunniteltu käsittelemään tätä yksittäistä tapausta.
Loopback
Loopback on Githubin mukaan toiseksi suosituin REST API-kehys. IBM: n kehittämä, se on ”erittäin laajennettavissa, avoimen lähdekoodin Solmukehys perustuu Express, jonka avulla voit nopeasti luoda API ja microservices.”Sen mukana tulee komentorivityökalu projektien luomiseen ja ohjaimien ja mallien luomiseen helposti, ja se tarjoaa lisätuen helppoon todennukseen ja valtuutukseen. Se ei tarjoa tukea näkymille tai temppeliherätyksille tai omistetulle ORM: lle, koska se on tarkoitettu käytettäväksi vain API: na.
Loopback mahdollistaa dynaamisen API: n luomisen minuuteissa minimaalisella koodauksella. Kehityssykli on erittäin nopea, ja tiedostorakenne on puhdas ja hyödyllinen. Setup sisältää vaihtoehtoja määrittää eslint, kauniimpi, mocha ja docker heti kättelyssä.
aloittaminen
npm install -g @loopback/clilb4 <project_name>
sinua pyydetään vastaamaan useisiin kysymyksiin siitä, miten haluat sovelluksesi perustettavan, ja tiedostorakenne on rakennustelineen muotoinen. cd projektin juureen ja aja
npm start
luodaksesi uuden reitin, aja
lb4 controller
ja vastaa kehotteisiin. Kun ohjaintiedosto on luotu, voit tuoda loopback get-toiminnon ja käyttää sitä ohjaimen asettamiseen
import {get} from '@loopback/rest';export class HelloController { @get('/hello') hello(): string { return 'Hello world!'; }}
Summary: Best Node.js Frameworks
Framework | suorituskyky | yhteisö | helppokäyttöisyys | paras |
---|---|---|---|---|
nopea | nopea. Lisää vähän niin mitään saada int hän tapa Node raaka nopeus. | massiivinen. Paljon kysymyksiä ja vastauksia. | niin vaikeaa kuin haluat. | suuret ja pienet hankkeet. Myös hyvä tapa oppia toimimaan solmun kanssa. |
Purjeet | Keskikokoiset. Fokus on kehittäjän tehokkuuden parantaminen suorituskyvyn kustannuksella. | Suuri. Vakiintunut projekti, joka on ollut olemassa jo pitkään. | helppo. Pohjapiirustusten avulla API on helppo saada toimimaan minimaalisella koodauksella. | keskisuuria hankkeita, jotka on saatava nopeasti käyntiin. |
Meteori | Hitaampi. Fokus on projektin pystyttämisessä/prototyyppaamisessa hyvin nopeasti. | pienempi, mutta elinvoimainen ja kasvava. | helppo. Pohjapiirustusten avulla API on helppo saada toimimaan minimaalisella koodauksella. | Pienhankkeet pystyyn nopeasti. Likaat kätesi uudella työkalulla. |
Loopback | Medium. | pieni, mutta ne, jotka rakastavat sitä todella rakastavat sitä. | helppoa, mutta ei tarjoa yhtä paljon ennakkoon. | yrityksen mittaisen rajapinnan rakentaminen erilliseen etupäähän. |
päätelmät
lopullisen ”parhaan” Solmukehyksen valitseminen on vaikeaa, sillä valitsemasi kehys muuttuu tarpeidesi mukaan. Jos haluat vapauden valita omia kirjastoja ja kolmannen osapuolen integraatioita, Express tai Loopback voi olla paras vaihtoehto. Mutta jos tiimisi haluaa seistä upouusi sovellus edestä taakse muutamassa päivässä, Meteor tai purjeet voisi paremmin tarpeisiisi.
on olemassa monia muita kehyksiä kuin tässä artikkelissa käsitellyt, ja paras tapa tietää, mikä toimii sovelluksessasi tai tiimissäsi, on lukea dokumentit läpi ja kokeilla muutamia.
- sovellusliittymän käyttö
- Javascriptillä
- kuinka luodaan API
- solmulla.js ja Express.js
- miten rakentaa Sää App solmun kanssa.js
- GraphQL-palvelimen määrittäminen solmulla ja Expressillä