关闭

用于构建API和微服务的流行JavaScript框架

时间: 2020-11-01阅读: 101标签: 框架

近年来,随着jQuery、jsON(JavaScript的对象表示法)、MongoDB、ES6 Generators的广泛使用,JavaScript发展出了许多易于使用、并能与多种编程语言相集成的框架、库和工具。其中包括:Nodejs、Angular、reactvue、Meteor、Google Polymer、Mercury、以及Backbone等。而作为后端开发人员中最常用的编程语言,JavaScript通过如下优势,为软件开发人员节省了大量的资源和时间:

1.客户端处理能力

2.易于学习的语法

3.简单且易于实现

4.易于调试和测试

5.能够快速执行

6.易于扩展到网页上

7.带有内置JavaScript的浏览器

8.提供基于事件的编程

9.提供动态内容

基于上述优势,根据GitHub(拥有全球数百万开发用户的最大存储库)的统计,JavaScript是产生打开和拉取请求(即:编写的代码量)数量最多的编程语言。

下面,我们将讨论那些用于构建API和微服务的JavaScript流行框架。注意,这里说的API是一种通信模式,而微服务则是一种架构模式。我们应当区别对待。

用于构建API的十大流行JavaScript框架


1.Hapi

作为一种非常强大的JavaScript框架,Hapi通过最小的开销和各种开箱即用(out-of-box)的功能,来构建安全、鲁棒且可扩展的API。凭借着全球性的开发人员社区,Hapi框架拥有完善的插件系统和如下关键功能。

主要特征

  • 可实现缓存
  • 具备错误处理能力
  • 提供日志
  • 带有输入验证
  • 提供基于配置的功能

作为一种配置驱动的模式,Hapi具有在特定IP上创建服务器的独特能力。Paypal和Disney就在它们的应用中用到了Hapi的此类能力。


2. Express

由Node核心项目团队成员--TJ Holowaychuk构建的Express,是一个快速、且不受限制的简约式JavaScript框架。它可以为Web和移动应用程序提供一系列强大的功能。在庞大的开发人员社区的支持下,它的所有核心功能得到了不断更新与迭代。

Express支持各种程序包,以及诸如Pug、Mustache、EJS等模板引擎。Express的API能够充当HTTP服务器,通过配置路由,来实现在前端数据库之间发送/接收各种请求。


3. Restify

该Web服务框架利用连接样式中间件(connect style middleware),来构建REST API。Restify对构建正确语义的RESTful Web服务进行了优化,可供生产环境直接使用。此外,进行了性能优化的Restify,还可以被用于一些大型Node.js的部署。

主要特征

  • 语义正确
  • 可调试
  • 面向生产环境

目前,用到Restify的知名公司包括:Netflix、Pinterest、Napster、以及npm等。


4. Sails

Sails框架以使用可扩展性的、面向服务的架构,来构建数据驱动型API而闻名。它与大家熟悉的Ruby on Rails等MVC模式框架非常类似。Sails可以在几周内为您构建出实用的、可用于生产环境的Node应用程序。

用户可以通过Sails提供的数据驱动式API,来开发聊天应用、仪表板、以及多人游戏等软件。同时,Sails能够使用Express来处理Node上的HTTP请求,并使用waterline进行各种与对象相关(object-related)的数据库映射。

主要特征

  • 自动生成的REST API
  • 适用于任何数据库
  • 前端透明
  • 可轻松地集成Web套接字
  • 提供专业的支持
  • 完全由JavaScript编写

目前,用到Sails的知名公司包括:Microsoft、WikiJobs、Philips、DXL、Scout、MOBOOM、以及broadsoft等。


5. Loopback

Loopback是一种用于构建API和微服务的高度可扩展性JavaScript(包括Node和TypeScript)框架。它允许用户创建出能够与任何类型Web客户端协同的,并可以轻松地桥接到后端资源的API。

作为一种开放源代码的框架,Loopback允许那些具有最少或几乎没有编程背景的用户创建动态的REST API。由于默认使用的是widget-API资源管理器,因此它也能协助创建SDK和API文档。

主要特征

  • 提供由OpenAPI Spec驱动的REST API
  • 具有高度可扩展性
  • 对GraphQL支持
  • 支持Swagger(一种Rest API)
  • 提供更好的用户管理策略
  • 提供第三方登录和存储服务
  • 提供模型关系支持(Model-relation-support)


6. Koa

由Express的团队创建的NodeJS下一代Web框架--Koa,旨在为API和Web应用程序提供更具表现力、且功能更强大的基础架构。值得注意的是,Koa要求NodeJS的版本至少为0.11或更高。

主要特征

  • Koa能够提供那些从未出现在浏览器中的ECMAScript方法
  • 允许在不使用回调的情况下,大幅提高错误的处理能力
  • 提供了一套“优雅”的方法,来快速编写服务器端程序
  • 提供更多的自定义选项
  • 通过支持syn和await关键字,来管理各种代码


7. Total.js

Total.js是一个开放、稳定且免费的JavaScript框架,可用于构建快速、且功能强大的REST服务、网站和实时应用。TotalJS能够与Angular、Polymer、Backbone、Bootstrap、以及其他客户端JavaScript框架完全兼容。

值得一提的是,Total.js Eshop是一个针对移动设备,进行了用户界面优化的版本,所有高级会员都可以下载到该版本。

主要特征

  • 可扩展和异步
  • 易于使用
  • 支持数组和其他原型
  • 支持MVC架构


8. Feathers

Feathers是一个适用于实时应用和REST API的轻量级JavaScript框架。它可以在几分钟之内构建出原型,并让对应的应用程序能够在几天内投入生产环境。Feathers不但支持各种数据库,并且可以与诸如react、React-native、vueJS、Angular、Android或iOS等,许多前端技术一起使用。当然,它也可以与任何后端技术进行交互。

主要特征

  • 提供灵活的插件
  • 具有服务优先的原则
  • 支持不可预知的数据存储(Datastore agnostic)
  • 提供实时的REST API
  • 具有通用性


9. Fastify

顾名思义,Fastify是一种极快的Web框架。它高度专注于以最少的开销和强大的插件架构,为开发人员提供最佳的使用体验。由于受到了Hapi和Express框架的极大启发,Fastify以其高效的服务器,不但提供了较低的架构成本,而且能够交付让用户满意的、更好的负载响应能力。

核心功能

  • 提供基于模式(Schema-based)的支持
  • 具有可扩展性
  • 对开发人员友好
  • 提供日志
  • 对TypeScript(是JavaScript的一个超集)友好
  • 具有高性能


10. Actionhero

由Typescript编写的Actionhero是一种可重用、可扩展且快速的NodeJS API服务器。它适用于在Linux、OS X和Windows上运行的、无状态和有状态的应用程序。该框架通过入门级的REST API方法,提供了各种快速的路由、版本控制、测试、以及翻译工具

主要特征

  • 易于使用
  • 内置各项任务
  • 面向集群
  • 提供路由
  • 支持本地化

目前,用到Actionhero的知名公司包括:Samsung、TaskRabbit、以及madglory等。


用于构建微服务的四大流行JavaScript框架

在微服务框架支持的情况下,JavaScript的注释语法(Annotation Syntax)功能、及其可读性,对于Java微服务的开发非常实用。总的说来,Java通过提供以下功能来支持微服务的开发和部署:

  • 用户界面
  • 各种模型组件
  • 与后端资源的连接

此外,如下Java EE标准也适用于微服务应用:

  • 针对API的JAX-RS
  • 用于数据处理的JPA
  • 用于依赖项注入和生命周期管理的CDI

下面我们来讨论一些可以简化微服务架构开发的流行Java框架。


1. Spring Boot

Spring Boot可以方便用户创建独立运行的、基于Spring的应用程序。它们能够独立于不同的语言,实现各种反转控制和面向切面(aspect-oriented)的编程。

主要特征

  • 可创建独立的Spring应用程序
  • 能直接嵌入Tomcat、Jetty或Undertow中(但不部署WAR文件)
  • 提供入门级的依赖项,以简化构建的配置
  • 提供各项运行状况检查、指标和外部配置等面向生产环境的功能
  • 无需XML配置
  • 无需代码生成


2. Dropwizard

Dropwizard能够让用户构建操作友好且高性能的RESTful Web服务。用户能够通过该框架提供的稳定且成熟的Java库,来轻松地整合到各种轻量级的程序包中。

主要特征

  • 提供对复杂配置的、开箱即用式的支持
  • 提供各种操作工具
  • 提供日志记录
  • 提供各种指标

总的说来,Dropwizard能够让用户在最短的时间内,交付出具有产品级质量的Web服务。


3. Spark

作为一种微服务框架,Spark可以让用户用最少的精力,用Kotlin和Java 8快速地构建Web应用。通过流畅的、具有声明性和表达性的语法,Spark不但提高了代码的生产力,还能让用户充分利用到JVM。

目前,用到Spark的知名公司包括:Asana、Gosu、Apache、以及Playlyfe等。


4. Restlet

Restlet能为大量Java开发人员提供支持,以便他们构建出更好的Web API。用户可以根据Apache软件许可准则的相关条款,免费下载和使用这款完全开源的框架。

主要特征

  • 原生的REST支持
  • 提供广泛的用例支持
  • 提供灵活的配置
  • 安全且可扩展
  • 提供完整的网络服务器
  • 具有各种可用的表示形式
  • 提供广泛的连接器组

除了上述介绍到的各种架构,以Netflix Eureka、Consul或Amalgam8为代表的服务发现解决方案,也能够提供与Java微服务的轻松连接。


小结

上述JavaScript框架的列表,便是我根据JavaScript社区中的使用率和普遍性的综合排名,收集到的用于构建API和微服务的各种流行框架。您具体应该采用哪一种框架,还是取决于计划构建的实际应用类型。

原文标题:Popular JavaScript Frameworks to Build API and Microservices,作者: Kanchan Sharma


站长推荐

1.云服务推荐: 国内主流云服务商,各类云产品的最新活动,优惠券领取。地址:阿里云腾讯云华为云

2.广告联盟: 整理了目前主流的广告联盟平台,如果你有流量,可以作为参考选择适合你的平台点击进入

链接: http://www.fly63.com/article/detial/9819

关闭

Vue适用于移动端的ui框架

Vue 是一个轻巧、高性能、可组件化的MVVM库,API简洁明了,上手快。从Vue推出以来,得到众多Web开发者的认可。在公司的Web前端项目开发中,多个项目采用基于Vue的UI组件框架开发,并投入正式使用

最流行的七个 PHP Web 框架

PHP 代表超文本预处理器(Hypertext Pre-processor)。早期的 PHP 被用于个人主页,然后才升级更新为超文本预处理器。PHP 是一种服务器端脚本语言,用于开发静态或动态网站和 Web 应用程序。为什么要使用 PHP 进行服务器端编程?

使用imba.io框架,得到比 vue 快50倍的性能基准

imba 是一种新的编程语言,可以编译为高性能的 JavaScript。可以直接用于 Web 编程(服务端与客户端)开发。可以看出作者喜欢 ruby 以及 pug,偏向于缩进类风格(个人并不是很喜欢这种语法风格)

提高开发效率的现代CSS框架

本文将向你介绍一系列顶级CSS框架。有些人可能听说过,也可能对有些人是全新的。但它们都提供了各种有用的先进功能,可以改善你的工作流程。让我们先从一些专注于 CSS 的框架开始。

Angular、Vue、React 和前端的未来

越来越多的人开始站队 Angular、Vue、React,仅仅围绕这些库或者框架进行前端技术讨论,这实在不是什么好的现象。其实我想基于我个人的经验聊下前端的演进和未来,希望可以贡献微薄的力量,消除一些我个人认为的前端社区不太好的风气。

Web开发如何选择node框架?

这个问题貌似在其它的后端开发领域不存在。没错,我说的就是隔壁的Java。我要是写java的应用,可以毫不犹豫的选择Spring。但是node可选择的余地多的多。现有node服务端框架Express、Koa、Egg.js

Vue.js 中集成 CSS 框架

CSS 框架之所以出色是有很多原因的:比如代码更容易理解、Web 应用更容易维护、简化实现原型时的步骤等。一般来说在 VUE 中集成 CSS 框架的方法是相同的,本文以被广泛使用的 Bootstrap 4 为例。

6 大主流 Web 框架优缺点对比

如果不尝试回答这个问题就是我们的失职,这越来越成为社会上某些人的口头禅,在网络平台上的争论也已经发展到犹如不需要额外编写 API 能更简单创建 Web 应用那样的地步。就像本系列中所有的内容一样,我们的回答也大都是依据这些内容

vue和angular如何选择?

如今,已有许多开发人员开始使用Vue.js来取代Angular和React.js。那么对于Angular和Vue.js,开发者该如何选择呢?下面本篇文章就来给大家介绍一下,希望对大家有所帮助。vue是一个渐进式的框架,是一个轻量级的框架,也不算是一个框架

ReactJS 与 VueJS:两种最流行的前端 JS 框架之战

如果有人问你将在 2020 年选择哪种框架进行开发,你的答案将是什么?很明显,你主要有两个选择: React.Js 和 Vue.Js!但是,如果你需要选择一个怎么办?好吧,两个最受欢迎的框架 React Js 和 Vue.Js 之间的战斗是真实的

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!