10 Node Frameworks to Use in 2019
原文
https://scotch.io/bar-talk/10-node-frameworks-to-use-in-2019
node Framworks列表:
http://nodeframework.com/
框架类型:
- MVV frameworks:
- Sinatra-like: 提供丰富的配置,比Rails-like or full-stack更少的选择opinionated
- Rails-like:使用提供的template,创建自己的app
- Full-Stack frameworks: Node.js真正的闪光之处。绑定scaffolding, template engines, websockets和persistence libraries,让你实时的扩展web apps.
- Rest api frameworks: 配合前端mvc框架。
摘译:
越来越多的开发者转向使用JavaScript来建立更多的app,特别是web。
当Node.js在2009年被介绍,作为一个工具,建立可扩展的服务端web app。
它带来了大量优势,包括并不限于事件驱动event-driven non-blocking input/output model, single-threaded asynchronous编程。
多年过来,大量有经验的js开发者已经建立了许多框架,用来更容易的使用Node.js开发web程序。
进入2019, 我列出一些著名的Node.js框架,你可以考虑使用它们,来建立web app。
What is a Node framework?
A Node.js framework是一些抽象的设计,使用Node.js建立。它包括了给出的框架设计的控制流。
所以,它就像是一个程序的骨骼skeleton。你客制代码就像填肉,最终完成程序。
因此对每个Node.js function, 会有一些普通的执行给这个框架there would be some generic implementation unique to the framework ,之后,框架需要使用者跟随框架的指导来增加更多的代码,用于定义它的使用case。
Benefits of Node frameworks
因为Node.js frameworks的生产率productivity,速度speed,scalability扩展性,让它们成分第一的选择来为公司建立企业级别的applications。
Node.js让你在前后端使用相同的语言,节省了学习一门新语言的压力,只需一些简单的配置implementation,也帮助你始终维护相同的编码pattern。
通过使用一个框架,你可以和一些工具,指导,和推荐的practices一起工作,帮你省时间。
也可以固定化一个团队的编码标准。
Selecting a Node Framework
选择一个框架有些困难和主观。这是因为我们的选择基于我们喜欢的某个特点。
从程序的框架重量,速度,简单化,学习曲线,灵活性,配置,使用案例,甚至是一些案例的知名程度,GitHub stars。
之后让我们深度挖掘这个主题,看看Node.js框架的名单。这有助于你开发js程序的生产率,特别是server-side。
Stars不代表所有,我们将按照Scoth.io上的知名程度逐个讨论。
AdonisJs [GitHub Stars: 5,053] (Rails-like)
支持:ORM。SQL query容易学习 ,可以快速建立简单的query.
支持:No-sql数据库: 如MongoDB。 使用MVC结构。
学习的相关:https://scotch.io/tutorials/building-a-web-app-with-adonisjs
Express.js [GitHub Stars: 41,036] (Sinatra-like)
Express.js is a fast, non-opinionated, minimalist web framework for Node.js.
快速的,非固执的 , 极简主义的开发网页框架。它是用Node.js建立的简单技术,行为像一个软件,帮助管理servers和routes.
着眼于异步的原生的Node.js, 实时上Express.js是由node建立的。
有能力来建立一个轻量化的程序,这个能力能够处理超过一个的单一的请求,这个能力依赖服务器能的技术。如express。
robust API,让使用者配置routes以便发生/接收请求,在嵌套和数据库(HTTP server framework)之间。
一个大的优势,它支持大量的其他包和模版引擎,如 Pug, Mustache, EJS等等。
Almost the standard for Node.js web middleware
Fully customisable
- 低学习曲线
- Majorly focused on browsers, making templating and rendering an almost out of the box feature.
作者不认为短期内会过期。
Meteor.js [GitHub Stars: 40,490] (full-Stacknes )
a full-stack JavaScript platform, 开发现代web和移动 app。(
10 Node Frameworks to Use in 2019的更多相关文章
- Node.js权威指南 (10) - Node.js中的错误处理与断言处理
10.1 使用domain模块处理错误 / 272 10.1.1 domain模块概述 / 272 10.1.2 创建并使用Domain对象 / 274 10.1.3 隐式绑定与显式绑定 / 276 ...
- JavaScript基础10——node对象
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- 10.Node.js核心模块
1.全局对象2.常用工具3.事件机制4.文件系统访问5.HTTP服务与客户端 一.全局对象(Global Object), 与window对象一样 process ==> 全局变量, 描述当前N ...
- 10 —— node —— 获取文件在前台遍历
思想 : 前台主动发起获取 => ajax 1,前台文件 index.html <!DOCTYPE html> <html lang="en"> &l ...
- k8s Kubernetes v1.10 最简易安装 shell
k8s Kubernetes v1.10 最简易安装 shell # Master 单节点快速安装 # 最简单的安装shell,只为快速部署k8s测试环境 #环境centos 7.4 #1 初始化环境 ...
- node.js操作数据库之MongoDB+mongoose篇
前言 node.js的出现,使得用前端语法(javascript)开发后台服务成为可能,越来越多的前端因此因此接触后端,甚至转向全栈发展.后端开发少不了数据库的操作.MongoDB是一个基于分布式文件 ...
- node.js安装和配置(windows系统)
node.js安装和配置(windows系统) node javasript vscode node是javascript的管理工具,所以开发javasript项目都要下载安装和配置node. 传送 ...
- (翻译)《Hands-on Node.js》—— Introduction
今天开始会和大熊君{{bb}}一起着手翻译node的系列外文书籍,大熊负责翻译<Node.js IN ACTION>一书,而我暂时负责翻译这本<Hands-on Node.js> ...
- JavaScript高级程序设计(第三版)学习笔记8、9、10章
第8章,BOM BOM的核心对象是window,具有双重角色,既是js访问浏览器的一个接口,又是ECMAScript规定的Global对象.因此,在全局作用域中声明的函数.变量都会变成window对象 ...
随机推荐
- ODAC(V9.5.15) 学习笔记(九)TOraSQLMonitor
名称 类型 说明 Active Boolean 激活SQL跟踪 DBMonitorOptions 将跟踪信息发送到dbMonitor工具软件的选择项 Host IP地址 Port 端口号 Reconn ...
- mysql的数据类型- 特别是表示日期/时间的数据类型: 参考: http://www.cnblogs.com/bukudekong/archive/2011/06/27/2091590.html
通常认为: 日期 就是 年-月-日: 时间就是: 小时:分钟:秒 要严格区分"日期"和 "时间"的 说法. 日期就是日期, 时间就是时间, 两者是不同的!! 日 ...
- 关于#ifdef #ifndef
https://www.cnblogs.com/agnily/p/5848768.html 1.先看#ifdef的用法: #define KEY1_PA0 #ifdef KEY1_PA0 ------ ...
- HDU 6406 Taotao Picks Apples & FJUT3592 做完其他题后才能做的题(线段树)题解
题意(FJUT翻译HDU): 钱陶陶家门前有一棵苹果树. 秋天来了,树上的n个苹果成熟了,淘淘会去采摘这些苹果. 到园子里摘苹果时,淘淘将这些苹果从第一个苹果扫到最后一个. 如果当前的苹果是第一个苹果 ...
- html 之 td valign 和 align
1.align属性趋向于左右对齐,其值包含:left.right.center 2.valign属性趋向于垂直对齐,其值包含:top.bottom.middle.baseline 兼容性 在 HTML ...
- js url参数和对象互转
function param(a) { var s = [], rbracket = /\[\]$/, isArray = function(obj) { return Object.prototyp ...
- python爬虫训练——正则表达式+BeautifulSoup爬图片
这次练习爬 传送门 这贴吧里的美食图片. 如果通过img标签和class属性的话,用BeautifulSoup能很简单的解决,但是这次用一下正则表达式,我这也是参考了该博主的博文:传送门 所有图片的s ...
- python学习 day09打卡 初识函数
本节内容: 1.什么是函数 2.函数定义,函数名,函数体及函数的调用 3.函数的返回值 4.函数的参数 一.什么是函数 函数:对代码块和功能的封装和定义 定义一个事情或者功能.等到需要的时候直接去用, ...
- Perl中命令行参数以及打开管道文件
打开管道文件 Linux提供了管道机制,可以方便应用程序之间的数据传递.在Perl中,扣开和使用管道可采用如下形式的open函数: open(Filehandle,”丨 CMD”); 其中 ...
- linux运行lnmp 出现502错误
之前遇到的问题: 安装好之后访问域名出现502错误,打开html文件正常,说明是php出现问题.在wwwlog文件夹查看nginx日志,发现报错原因是找不到/var/run/php5-fpm.sock ...