设为首页 收藏本站
查看: 751|回复: 0

[经验分享] 13 款惊艳的 Node.js 框架——第1部分

[复制链接]

尚未签到

发表于 2017-2-23 11:19:18 | 显示全部楼层 |阅读模式
  【编者按】本文作者为 Peter Wayner,主要介绍13款至精至简的 Node.js 框架,帮助你简化高速网站、丰富 API 以及实时应用的开发流程。本文系国内 ITOM 管理平台 iyunv 编译呈现,以下为正文的第一部分。
  Node.js 推出至今也有些年头了,但它就像那初生的太阳,充满朝气。人们不断地探索更新更好的平台信息发布方式,于是选择也越来越多。这些努力最终催生了多款 Node.js 框架,不论是 Node.js 爱好者还是新手,都可以尽情探索,寻求新的提升。
  在下文中,笔者将介绍最引人注目的十多款框架。这些框架能有效简化复杂网站的构建流程。如果你正打算开始新的项目,不妨尝试其中的一些框架,可快速完成前期工作,并体验这些项目中捆绑的功能。
1、express

  Express 是一款以轻量级的方式处理请求的框架。它将 URL 映射至模板,将来自通用数据存储中的数据填入值中。其标准的模板引擎为 Consolidate,但是由于样式相当简单,大多数模板引擎都能良好运行。
  Express 团队许诺说,MySpace 欲意采用 Express 打造新版本,以此提高其时髦度。如果你不知道 MySpace 为何物,可以问问祖父母,他们或许还有 MySpace 账号。
  Express 基于 MIT 许可证发布,其 GitHub 地址在此。
2、Koa.js

  打造 Express 的团队决定更进一步,使用全新可伸缩的调用栈构建新一代框架。名为 Koa.js 的调用栈允许你在调用及响应握手时添加新的特性。一开始,你需要写一点代码来处理请求,但之后,就可以自定义请求处理的全过程。负责所有交互和错误处理的中间件都可以加以修改。此外,还有十多项插件包,为调用栈添加了压缩、缓存、JSON 编码等功能。
  上图展示了与 Koa 捆绑的某个模板库使用的部分 Jade 标记。
  Koa 基于 MIT 许可证发布,其 GitHub 地址在此。
3、Total.js

  Total.js 栈的设计初衷是尽可能实现自动化。从 HTML 和 CSS 标记模板出发,Total 可以将之编译为原始代码,压缩之后再进行发布。从某种意义上讲,Total 是伪装为框架的一个强力网站编译器。
  上图展示了一个寿司吧网站的实例。
  Total 基于 MIT 许可证发布,其 GitHub 地址在此。
4、Derby.js

  Node.js 的一个重要特点是在浏览器与服务器端使用相同的语言。Derby.js 通过试图在两端运行相同的代码,并同步运行结果,将这一特点发挥到极致。之后,它通过模板渲染、打包以及一些 MVC 来简化这一过程。你无需担心诸如编译 CSS 代码的问题,因为 Derby 集成了这些功能。
  上图展示了一个基本的待办事物清单。
  Derby 基于 MIT 许可证发布,其 GitHub 地址在此。
5、Meteor.js

  Meteor.js是一款实时应用,其设计初衷是打造与服务器持续同步的 Web 应用。对模板或数据进行的修改会自动从服务器端传到浏览器端。重新描绘与更新操作直接由底层框架负责。并且,这一机制是双向的。浏览器代码进行改动或写入数据时就像直接操作数据库一样。同步完全在后台进行。
  上图展示了一个在 Meteor 中打造的用于同步急救先锋队任务的应用。
  Meteor 基于 Apache 许可证发布,在其官网与 Github 均可找到安装脚本。
6、restify

  并非每个应用都要求浏览器的全面支持。Restify 是旨在仅通过 API 提供数据的服务器端框架。成功运行之后,Restify 输出的是 JSON 数据。
  Restify 相当强调调试与分析,因此你可以深入钻研、优化服务器的性能。DTrace 集成性能好,支持度高,能清晰了解应用状况,预测可能出现的错误。
  上图展示了一个在调试会话中保存的审计数据包。
  Restify 基于非常基本的许可证发布,使用时要求注明版权。其 GitHub 地址在此。
  以上为前6个框架,欲知后续内容,敬请关注 iyunv 官方技术博客。
  iyunv 能帮助您轻松锁定 Node.js 应用性能瓶颈,通过强大的 Trace 记录逐层分析,直至锁定行级问题代码。以用户角度展示系统响应速度,以地域和浏览器维度统计用户使用情况。想阅读更多技术文章,请访问 iyunv 官方博客。
  本文转自 iyunv 官方博客

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-346165-1-1.html 上篇帖子: Less:优雅的写CSS代码 下篇帖子: vuejs学习——vue+vuex+vue-router项目搭建(一)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表