Node.js之十大Web框架

Node.js之十大Web框架

 

之前接觸過Node.js是因爲好奇大前端越來越能幹了,連我後臺的飯碗都要搶了,太囂張了,於是我想打壓打壓它,然後就這樣接觸它了。


再到後來是因爲Settings-Sync插件二次開發,我需要用node.js造一個mock server,而當時在開源項目上找到一個模擬github rest api的node.js服務端程序,然後我就在此基礎上開發。從工作中學習有應用場景有目的性,果然還是學的要快很多。

 

今天之所以要說一說node.js的十大Web框架,主要是覺得以後針對VsCode開發或者是我自己的項目,用Node.js可能會比較多,比如我將我的博客系統一步一步完善,我想嘗試微服務的很多種實踐方式,其實很多企業用微服務,還有一個原因就是不受編程語言的制約。

 

大前提:框架無優劣之分,只有在某個應用場景是否更適合和更好。

 

一、Node.js開發框架Sail.js

Sail.js官網地址爲:https://sailsjs.com/
github地址:https://github.com/balderdashy/sails

Sails可以輕鬆構建自定義的企業級Node.js應用程序

在幾周內而不是幾個月內構建實用的,生產就緒的Node.js應用程序。Sails是Node.js最流行的MVC框架,旨在模擬Ruby on Rails等框架的熟悉MVC模式,但支持現代應用程序的需求:具有可擴展性,面向服務的體系結構的數據驅動API。

優點如下:
(1)100%JavaScript
在Sails自上構建意味着你的應用程序完全使用JavaScript編寫,從這裏可以看出瀏覽器兼容性良好;
(2)任何數據庫
Sails捆綁了一個功能強大的ORM,即Waterline,它提供了一個簡單的數據訪問層,無論你使用什麼數據庫,它都能正常工作;
(3)自動生成的Rest API
Sails附帶的藍圖有助於在不編寫任何代碼的情況下快速啓動應用程序的後端;
(4)前端不可知
Sails與任何前端兼容:Angular、React、IOS、Android、Windows Phone,自定義硬件或其他完全兼容;
(5)輕鬆WebSocket集成
由於Sails會爲您轉換傳入的套接字消息,因此它們會自動與Sails應用中的每個路由兼容;
(6)專業支持
Sails提供商業支持,以加速開發並確保代碼職工的最佳實踐;

 

二、Node.js服務端框架 Hapi.js

官網地址爲:https://hapijs.com/

如何創建一個Hapi.js?請參考如下步驟(均來自官網示例):
1.初始化

npm init

2.安裝庫

npm install hapi --save

3.編寫js

複製代碼

'use strict';

const Hapi=require('hapi');

// Create a server with a host and port
const server=Hapi.server({
    host:'localhost',
    port:8000
});

// Add the route
server.route({
    method:'GET',
    path:'/hello',
    handler:function(request,h) {

        return'hello world';
    }
});

// Start the server
const start =  async function() {

    try {
        await server.start();
    }
    catch (err) {
        console.log(err);
        process.exit(1);
    }

    console.log('Server running at:', server.info.uri);
};

start();

複製代碼

4.運行

npm start

 

三、Node.js 高性能封裝 Express.js

關於這個可以參考我的這篇博客:https://developers-youcong.github.io/2019/02/22/node-js%E4%B9%8Bexpress%E6%A1%86%E6%9E%B6/

 

四、Node.js Web框架 Kraken.js

Kraken 基於 express 構建,實現對環境變量的感知、動態配置、高級中間件和應用生命週期的事件通知。

官網地址爲:http://krakenjs.com/

示例例子:

複製代碼

'use strict';

var express = require('express'),
    kraken = require('kraken-js');

var app = express();
app.use(kraken());
app.listen(8000);

複製代碼

五、Web應用構建平臺 Meteor

Meteor是一組新的技術用於構建高質量的Web應用,提供很多現成的包,可直接在瀏覽器或者雲平臺運行。
官網地址爲:https://www.meteor.com/

優點如下:
(1)使用更少的代碼運送更多
由於集成的JS堆棧從數據庫擴展到最終用戶的屏幕,因此可以在10行中完成1000行.

(2)爲任何設備構建應用程序
無論是針對Web、IOS、Android還是桌面進行開發,都使用相同的代碼。熱門推送新功能,無需應用商店批准或者強制用戶下載新的原生應用.

(3)集成已有的技術
使用流行的框架和工具,開箱即用。專注於構建功能,而不是自己將不同的組件連接在一起。

 

六、全棧JavaScript 開發架構 Mean.js

官網地址爲:http://meanjs.org/

1.什麼是Mean.js

MEAN.JS是一個全棧JavaScript的解決方案,可幫助您使用MongoDB、Express、Angular和Node.js構建快速,健壯且可維護的生產Web應用程序.

2.爲何選擇Mean.js
Mean.js將幫助你入門並避免無用的笨拙工作和常見陷阱,同時保持你的應用程序井然有序。我們目標是創建和維護一個簡單易讀的開源解決方案,你可以使用它並信任它。

3.入門
入門請參考官方文檔:http://meanjs.org/docs.html

 

七、Node.js的Web框架 Koa.js

Koa是下一代的Node.js的Web框架。由Express團隊設計。旨在提供一個更小型、更富有表現力、更可靠的Web應用和API的開發基礎。
Koa可以通過生成器擺脫回調,極大地改進錯誤處理。Koa核心不綁定任何中間件,但提供了優雅的一組可以快速愉悅地編寫服務器應用的方法。
關於koa可參考:https://www.npmjs.com/package/koa

 

八、Node.js CMS 和 Web 應用程序平臺 KeystoneJS

KeystoneJS,以 Express 和 MongoDB 爲基礎搭建的 Node.js CMS 和 Web 應用程序平臺。

官網地址爲:https://keystonejs.com/

具有以下特性:

Express.js 和 MongoDB:Keystone 會爲你配置 express(node.js 上的 Web 服務器),用 Mongoose(領先的 ODM 包)連接你的 MongoDB 數據庫

動態路由:Keystone 從設置 MV* 程序的最佳實踐入手,讓你管理模板、視圖和路由變得更容易

數據庫域:ID、String、Boolean、Date 和 Number 是數據庫的構件。Keystone 以它們爲基礎實現了在現實工作中更實用的域類型,比如 name、email、password、address、image 和 relationship (及其它)

自動生成管理員界面:不管你在搭建應用程序,或者在生產環境中作爲數據庫內容管理系統時是否用它,Keystone 的管理員界面都能節省你的時間,讓你管理數據更容易

編碼更簡單:有時即便做的事情簡單,異步代碼也會變得複雜。Keystone讓簡單的事情(比如在視圖中顯示之前加載數據)保持簡單

表單處理:要驗證表單、上次圖片或用一行代碼更新數據庫?基於你已經定義的數據模型,Keystone 可以做到

會話管理:Keystone 自帶了會話管理和認證功能,包括密碼域的自動加密

發送 Email:藉助 Keystone,你的應用程序可以輕鬆地設置、預覽和發送基於模板的 email。它還集成了 Mandrill (Mailchimp 卓越的事務性 email 發送服務)

 

九、Node.js 框架組件 flatiron.js

flatiron 是一款 Node.js 和瀏覽器的框架組件,是一款構建現代化 web 應用適應性很強的框架。flatiron 提供比 Rails 類組件有更豐富配置的框架組件,允許開發者自己添加他們想要的功能組件。
可參考地址爲:https://www.npmjs.com/package/flatiron

 

十、基於 Node.js 的 API 框架 LoopBack

LoopBack 是基於 Node.js 的一個開源的 API 框架,可以讓 Node.js 應用方便的跟各種設備通過 API 進行互聯。
可參考地址爲:https://loopback.io/

本文主要參考除引入的官網外還參考Node.js十大Web框架

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章