【.com快速翻译】近年来,随着jQuery、JSON(JavaScriptObjectNotation)、MongoDB、ES6Generators的广泛使用,JavaScript开发了许多易于使用的框架、库和工具来使用和集成多种编程语言。其中包括:NodeJS、Angular、React、Vue、Meteor、GooglePolymer、Mercury和Backbone等。作为后端开发者最常用的编程语言,JavaScript通过以下优势为软件开发者节省了大量的资源和时间:1.客户端处理能力2.语法简单易学3.简单易用实现4.易于调试和测试5.能够快速执行6.易于扩展到网页7.内置JavaScript的浏览器8.提供基于事件的编程9.提供动态内容基于以上优点,根据GitHub(全球拥有数百万开发者,据用户统计最大的存储库),JavaScript是产生最多打开和拉取请求(即:编写的代码量)的编程语言。下面,我们将讨论那些用于构建API和微服务的流行JavaScript框架。注意这里说的API是一种通信模式,而微服务是一种架构模式。我们应该区别对待他们。用于构建API的十大流行JavaScript框架1.Hapi作为一个非常强大的JavaScript框架,Hapi使用最小的开销和各种开箱即用的功能来构建安全、健壮和可扩展的API。Hapi框架拥有全球开发者社区,拥有完善的插件体系和以下关键功能。主要特性可以实现缓存具有错误处理能力提供日志记录具有输入验证提供基于配置的功能作为配置驱动的模型,Hapi具有在特定IP上创建服务器的独特能力。Paypal和Disney在他们的应用程序中使用了Hapi的功能。2.ExpressExpress,由Node核心项目组成员TJHolowaychuk打造,是一个快速、无限制、极简的JavaScript框架。它可以为网络和移动应用程序提供一组强大的功能。它的所有核心功能都在庞大的开发者社区的支持下不断更新和迭代。Express支持Pug、Mustache、EJS等各种包和模板引擎。Express的API可以充当HTTP服务器,通过配置路由,可以在前端和数据库之间发送/接收各种请求。3.Restify这个网络服务框架利用连接式中间件(connectstylemiddleware)来构建RESTAPI。Restify针对构建具有正确语义的RESTfulWeb服务进行了优化,可以直接在生产环境中使用。另外,性能优化的Restify也可以用于一些大规模的Node.js部署。主要特点语义正确可调试面向生产目前,使用Restify的知名公司包括:Netflix、Pinterest、Napster和npm等。4.Sails面向架构。它与熟悉的MVC模式框架如RubyonRails非常相似。Sails可以在几周内为您构建一个可用的、生产就绪的Node应用程序。用户可以通过Sails提供的数据驱动API开发聊天应用程序、仪表盘和多人游戏等软件。同时,Sails可以使用Express处理Node上的HTTP请求,使用水线进行各种对象相关的数据库映射。主要特点自动生成的RESTAPI适用于任何数据库前端透明且易于集成Web套接字提供专业支持完全用JavaScript编写目前使用Sails的知名公司包括:Microsoft、WikiJobs、Philips、DXL、Scout、MOBOOM,和broadsoft等5.LoopbackLoopback是一个高度可扩展的JavaScript(包括Node和TypeScript)框架,用于构建API和微服务。它允许用户创建适用于任何类型的Web客户端的API,并轻松桥接到后端资源。作为一个开源框架,Loopback允许具有最少编程背景或没有编程背景的用户创建动态RESTAPI。由于默认使用widget-APIexplorer,因此它也有助于创建SDK和API文档。主要特点提供由OpenAPISpec驱动的RESTAPI高度可扩展支持GraphQL支持Swagger(一种RestAPI)提供更好的用户管理策略提供第三方登录和存储服务提供模型关系支持(Model-relation-support)6。KoaNodeJS下一代Web框架-Koa,由Express团队创建,旨在为API和Web应用程序提供更具表现力和更强大的基础架构。值得注意的是,Koa要求NodeJS版本至少为0.11或更高版本。主要特性Koa可以提供浏览器中从未出现过的ECMAScript方法允许在不使用回调的情况下大大提高错误处理能力提供一组“优雅”的方法来快速编写服务器端程序提供更多7.Total.jsTotal.js是一个开放的,稳定且免费的JavaScript框架,可用于构建快速而强大的REST服务、网站和实时应用程序。TotalJS与Angular、Polymer、Backbone、Bootstrap和其他客户端JavaScript框架完全兼容。值得一提的是,Total.jsEshop是针对移动设备的用户界面优化版本,所有高级会员都可以下载此版本。主要特性可扩展和异步易于使用支持数组和其他原型支持MVC架构8.FeathersFeathers是一个用于实时应用程序和RESTAPI的轻量级JavaScript框架。它可以在几分钟内构建原型,并在几天内使相应的应用程序投入生产。Feathers不仅支持各种数据库,还可以与React、React-native、VueJS、Angular、Android或iOS等多种前端技术配合使用。当然,它也可以与任何后端技术交互。主要特点以服务优先原则提供灵活的插件支持不可预知的数据存储(Datastoreagnostic)提供实时的RESTAPIVersatility9.Fastify顾名思义,Fastify是一个极速的Web框架。它高度专注于以最小的开销和强大的插件架构提供最佳的开发人员体验。受Hapi和Express框架的启发,Fastify凭借其高效的服务器,不仅提供了更低的架构成本,而且还提供了更好的负载响应能力来满足用户。核心功能提供基于模式的支持,可扩展,对开发者友好,并提供日志记录。它对TypeScript(JavaScript的超集)友好,并且具有高性能。10.ActionheroActionhero由Typescript编写,是一个可重用、可扩展且快速的NodeJSAPI服务器。它适用于在Linux、OSX和Windows上运行的无状态和有状态应用程序。该框架通过入门级RESTAPI方法提供各种快速路由、版本控制、测试和翻译工具。主要特点简单易用内置各种任务面向集群提供路由支持本地化目前使用Actionhero的知名公司包括:Samsung、TaskRabbit、madglory等。构建微服务的四种流行的JavaScript框架均支持微服务框架。JavaScript的注解语法(AnnotationSyntax)功能及其可读性对于Java微服务的开发非常实用。总的来说,Java通过提供以下特性来支持微服务的开发和部署:用户界面各种模型组件和后端资源之间的连接此外,以下JavaEE标准也适用于微服务应用:JAX-RSforAPIsJPAfordata为依赖注入和生命周期管理处理CDI让我们讨论一些可以简化微服务架构开发的流行Java框架。1.SpringBootSpringBoot可以方便用户创建独立的、基于Spring的应用程序。它们支持独立于不同语言的各种控制反转和面向方面的编程。主要特点可创建独立的Spring应用可直接嵌入Tomcat、Jetty或Undertow(但不部署WAR文件)提供入门级依赖,简化构建配置提供各种健康检查、指标和外部配置等。生产环境的功能不需要XML配置,也不需要代码生成2.DropwizardDropwizard使用户能够构建操作友好和高性能的RESTfulWeb服务。用户可以通过框架提供的稳定成熟的Java库轻松集成到各种轻量级包中。主要特点为复杂的配置提供开箱即用的支持提供各种操作工具提供日志记录提供各种指标总的来说,Dropwizard使用户能够在最短的时间内交付具有产品级质量的网络产品服务。3.作为微服务框架,Spark允许用户使用Kotlin和Java8以最小的努力快速构建Web应用程序。通过流畅的、声明式的和富有表现力的语法,Spark不仅提高了代码的生产率,还允许用户充分利用JVM。目前,使用Spark的知名公司包括:Asana、Gosu、Apache和Playlyfe。4.RestletRestlet可以为大量Java开发人员提供支持,以便他们构建更好的WebAPI。用户可以按照Apache软件许可指南的相关条款免费下载和使用这个完全开源的框架。主要特性本机REST支持提供广泛的用例支持提供灵活的配置安全性和可扩展性提供具有各种可用表示的完整Web服务器提供广泛的连接器组除了上面介绍的各种架构,NetflixEureka,服务发现解决方案以Consul或Amalgam8为代表的也可以提供与Java微服务的便捷连接。总结上面的JavaScript框架列表是我根据JavaScript社区的使用情况和普遍性收集的用于构建API和微服务的各种流行框架的综合排名。您应该使用哪个框架取决于您计划构建的实际应用程序类型。原标题:PopularJavaScriptFrameworkstoBuildAPIandMicroservices,作者:KanchanSharma
