【.com速译】如今,面对五花八门的网站开发框架,难免会有“选择恐惧症”。本文将帮助您从客户和开发人员的角度为构建Web应用程序做出明智的框架选择。我们首先考虑以下几个问题:是否需要选择一个能够支持快速应用开发的框架?您选择架构的真正目的是什么?它是否支持您的特定项目和您需要的各种功能?你有一个庞大的支持社区吗?有了上面这一系列的问题,你应该清楚自己需要什么了。下面,我们整理了今年最流行的七大网站开发框架,供大家进一步参考和选择。1.AngularAngular是一个开源的适合前端开发的JavaScript框架。大多数动态Web应用程序将使用此框架构建。基于“模型-视图-控制器”的Angular架构,具有固定的组织结构,非常适合那些单页面的应用。该框架包括开发人员需要掌握的各种控制器、指令集和其他组件。因此,学习曲线相对“陡峭”。另外,因为Angular支持数据的双向绑定,所以构建那些实时应用是非常“称职”的。那么,什么是双向绑定呢?在模型中,对数据的所有更改都可以反映在其相关视图中;同时,用户对视图所做的所有更改也可以反映在模型中。换句话说,只要应用程序中的数据发生变化,它的UI就会相应地发生变化。当然,双向绑定也会让Angular应用变慢。因为对于每个绑定,Angular都会创建一个观察者来跟踪DOM中的各种变化。每当修改视图时,Angular都会比较旧值和新值。因此,如果应用程序的观察者过多,其性能将大大降低。由于该框架受益于庞大的支持社区,因此单页应用程序遇到的大多数问题都可以在其社区中得到处理和解决。根据BuiltWith(译者注:提供在线网站SEO查询工具)提供的统计,目前使用Angular框架的网站有281652个。2.Django2005年发布的Django是一个用Python编写的框架。许多开发人员喜欢Python的语法,因为它干净且没有杂乱的语言符号。根据TIOBE编程社区的统计,Python是排名第四的编程语言;在GitHub上,它排名第二。凭借这样的语言特性,Django拥有相对“平滑”的学习曲线,广受开发者欢迎。Django也遵循“模型-视图-模板(MVT)”架构。一般来说,各种复杂的、数据驱动的网站都会使用这个框架来搭建。例如:Instagram、Disqus(译者注:提供评论托管服务的第三方社交系统),以及NASA等知名公司的网站,都源自Django架构。Django秉承“不要重新发明轮子”的基本原则,可以方便地重用组件,因此常被用于快速网站开发。在管理用户帐户和密码方面,该框架提供了出色的安全措施。它在Web应用开发过程中具有一定的“防水”特性,可以抵御SQL注入、跨站脚本、点击劫持等系统漏洞攻击。由于Django内部没有创建API的机制,所以Django需要通过复杂的代码来实现路由相关的流程。这对于初学者来说可能很难。Django的另一个重要方面是它拥有超过1500名贡献者的庞大社区。他们为Django构建了一套资源,并配备了大量的教程供开发者参考。根据BuiltWith提供的统计数据,目前有12,790个网站在使用Django框架。3.LaravelLaravel是一个开源的PHP框架,经过许多网站开发者多年的打磨。根据TIOBE编程社区,PHP是第七大最流行的编程语言;在GitHub上,它排名第五。可见Laravel也有一定的知名度。该框架仍然遵循“模型-视图-控制器(MVC)”架构。许多社交网络、新闻站点和内容管理系统都是使用此框架构建的。让我们从技术上看一下Laravel受欢迎的原因:它是一个直观的框架,增强了PHP开发,适用于数据库迁移、对象关系映射(ObjectRelationalMapping,ORM)编写和模板化。它不仅简化了身份验证和缓存过程,而且还支持用于创建API以简化路由的内置机制。与Django相比,Laravel的学习曲线略显“陡峭”,用户需要花一些时间才能掌握。Laravel使用的主要安全措施是“哈希密码”。它确保用户密码不会以纯文本形式显示,而是以散列形式隐藏在它们后面。该框架可以加强用户网站的潜在漏洞,从而抵御跨站脚本、SQL注入、可疑cookie等攻击。Laravel在存储库方面完全可以与Django相媲美。它有大约1100个视频教程供开发者参考。在支持社区方面,Laravel目前的贡献者比Django少了400多个,但Laravel的社区规模正在迎头赶上。根据BuiltWith提供的统计数据,目前有524,474个网站在使用Laravel框架。4.RubyonRailsRubyonRails,或简称为Rails,是用Ruby编写的服务器端框架。该框架通过支持代码重用和灵活适应各种变化,实现应用程序的快速开发(RapidApplicationDevelopment,RAD)。广泛的开发社区为Rails的开源特性奠定了基础。Rails通过采用配置约定极大地改进了开发过程。换句话说:开发人员可以使用各种规则约定来代替那些专门的配置文件。此外,Rails支持RESTful风格的架构,确保应用程序可以围绕一定的逻辑结构构建。这对于分布式系统的健壮性至关重要。Rails社区提倡敏捷开发模式,即采用各种迭代和过程的灵活性来促进项目管理。Rails的另一个亮点是因为它使用了Ruby代码,一种“自文档化”的语言,我们不需要生成单独的文档。这势必会提高开发人员的工作效率。我们对Rails应用程序唯一关心的是它们的速度,因为它们的运行速度不如基于Java的应用程序。但尽管如此,许多大型组织,包括:Airbnb、YellowPages、Groupon等,仍然选择Rails。根据BuiltWith提供的统计数据,目前有826,824个网站在使用RubyonRails。5.SymfonySymfony是一个功能丰富的PHP框架。它在开发者社区中的流行来自于它的各种捆绑包和组件。我们先来看看它的包装。顾名思义,它通过一组文件(包括:PHP文件、样式表、JavaScript文件)来实现诸如:博客页面、购物车等功能。由于开发人员可以重新配置不同的包或在不同的应用程序中重用它们,它大大降低了开发的总体成本。另一方面,组件可以根据一些共同的特性简化各种日常工作,使开发人员可以更专注于那些特定的业务功能。因此,开发人员既可以单独使用组件,也可以在不影响其结构的情况下自定义它们。同时,他们也可以在其他PHP框架(比如上面提到的Laravel)中使用这些组件。Symfony的另一个亮点是它的文档。符合PHP框架的文档不仅非常清晰,结构合理,而且还配备了各种示例。也就是说,这些文档可以在阐明每个组件的同时,为开发过程提供详细的注释。同时,这些文档也可以保持经常更新。同样,Symfony拥有相对较大且成功的社区支持。它在GitHub上有1400名贡献者,远高于任何其他PHP框架。然而,与其他PHP框架相比,Symfony的模块化速度较慢。因此,对于一些比较重的、实时的应用,可能需要采用其他的框架。根据BuiltWith提供的统计数据,目前有9565个网站在使用Symfony。6.YiiYii仍然是一个基于“模型-视图-控制器”的框架,非常适合快速应用程序开发(RAD)。该框架利用代码脚手架(即预定义的代码模板)来提高代码编写效率。由于Yii不像Symfony那样遵循“约定优于配置”的原则,因此它比Symfony更加宽松。这无疑给有经验的程序员带来了更大的自由度。相反,初学者会因为缺乏必要的前兆而降低编程效率。此外,虽然Yii的组件比Symfony少,但Yii可以使用Symfony的大部分组件。在性能方面,Yii每秒可以处理410个请求,明显超过了Symfony每秒131个请求。可见,那些同时在线人数上千的社交网站更适合用Yii来搭建。同样,Yii在GitHub上有700多个贡献者,可见其支持社区比较庞大。根据BuiltWith提供的统计,目前有70,022个网站使用Yii框架。7.MeteorJSMeteor是一个适合构建单页应用程序的全栈JavaScript框架。开源框架本质上是同构的,即JavaScript既可以运行在服务端,也可以运行在客户端。它简化了过程并加快了网站开发过程,因为开发人员可以仅使用JavaScript同时管理前端、后端和数据库。此外,开发人员可以使用它与Node.js一起工作,为各种平台创建不同的实时应用程序。借助Meteor的原生模块化,开发人员可以混合和匹配组件以自由构建他们的项目。虽然框架有一定的规则和约定,但开发者也有一定的空间,可以根据个人喜好搭建网站。Meteor的社区支持资源非常广泛。有一个像Reddit这样的网站(这是一个社交新闻网站)-Crater,它跟踪世界上所有关于Meteor的最新动态。EventedMind是另一个包含各种Meteor培训视频的网站。根据BuiltWith提供的统计数据,目前有12,413个网站在使用MeteorJS。原标题:2018年7大流行网站开发框架,作者:DipanshuUpadhyay
