我最推荐的 6 个用于 Web 开发的开源框架

自定义 Web 开发人员最常使用的后端框架的详细介绍。
122 位读者喜欢这个。
Digital creative of a browser on the internet

有很多开源且易于使用的后端框架,但并非所有框架都提供出色的功能。 后端框架是网站开发的重要组成部分,因为它们充当网站的螺母和螺栓。 基本上,它们处理网站幕后的一切。

后端框架具有广泛的库、API、Web 服务器等等。 它们负责数据库,确保数据库与前端进行适当的通信并生成后端功能。

正如承诺的那样,接下来是我最推荐的 6 个后端框架的概述。

1. Ruby on Rails

Ruby on Rails 是用 Ruby 语言编写的服务器端框架。 它支持配置的利用,例如 MVC 和 DRY。 Ruby 是面向对象的,鼓励轻量级应用程序的结构并提升了适应性。 它通过启用卓越的特性来支持与第三方应用程序的完美协作。

Ruby on Rails 的特性

  • 它是一个基于数据库的 Web 应用程序,符合模型-视图-控制器 (MVC) 模式。
  • 它可以节省时间和精力,因为创建更少的代码即可实现相同的结果。 它构建应用程序的速度快 30-40%。
  • 不要重复自己 (DRY)——代码减少了系统中信息的重复,并有助于修改,同时最大限度地减少错误。
  • 代码是可扩展的。
  • Ruby on Rails 也意味着遵循安全开发生命周期。

已使用 Ruby on Rails 的公司

  • Airbnb
  • GitHub
  • Zendesk
  • Shopify
  • Basecamp
  • SoundCloud
  • Hulu
  • Cookpad
  • Square

Ruby on Rails 模型

  • Active Record
  • Active Record Migration
  • Active Record Validation
  • Active Record Callbacks
  • Active Record Association
  • Active Record Query Interface

2. Cake PHP

Cake PHP 是一个快速开发框架,它是 Web 应用程序的基础结构。 它使我们能够以结构化且更快速的方式工作,而不会损失任何敏捷性。 它为您提供了以逻辑方式编写应用程序代码的工具。

Cake PHP 的特性

  • 它可以生成代码,并允许您快速构建原型。
  • 它在 MIT 许可下获得许可,并且能够开发商业应用程序。
  • 它具有内置工具,用于
    • 翻译
    • 输入验证
    • XSS 保护
    • CSRF 保护
    • SQL 注入
    • 数据库访问
    • 缓存
    • 表单篡改保护

Cake PHP 数据库配置

public $default = array(

’datasource’ => ‘Database/Mysql’,

’persistent’ => false,

’host’ => ‘localhost’,

’port’ => ‘’,

’login’ => ‘cakeBlog’,

’password’ => ‘c4k3-rUl3Z’,

’database’ => ‘cake_blog_tutorial’,

’schema’ => ‘’,

’prefix’ => ‘’,

’encoding’ => 'utf8’

);

Cake PHP 提供高级安全性,并具有额外的功能,如 SQL 注入预防、跨站点脚本、验证、快速构建和跨站点请求伪造保护。

3. Spring Web MVC

Spring Web Model-View-Controller (MVC) 框架构建在 Servlet API 之上,并且已包含在 Spring Framework 中。 Spring Framework 5.0 已被引入为一个名为“Spring WebFlux”的反应式堆栈 Web 框架。 它也基于其源模块 (spring-webflux)。

Spring Web MVC 的特性

  • DispatcherServlet——DispatcherServlet 有助于清晰地分离角色,例如控制器、验证器、命令对象、模型对象等。
  • 配置功能——Spring Web MVC 具有强大而直接的配置,有助于跨上下文引用。
  • 过滤器——浏览器可以通过 HTTP GET 甚至 HTTP POST 从数据提交请求,而非浏览器可以使用 HTTP PUT、PATCH 和 DELETE。 整个 Servlet API 由 ServletRequest.getParameter*() 组成,仅支持通过 HTTP POST 进行字段访问。
  • 测试——spring-test 具有 Servlet API 模拟、TestContext Framework、Spring MVC Test、客户端 REST 和 WebTestClient。

4. ASP.NET

ASP.NET 框架是一个开源项目,可在 Linux、Windows 和 macOS 上运行。 它使用 Windows Forms、WPF 和 UWP 来构建 Windows 应用程序。 借助 .NET 框架,您无需迁移现有应用程序,例如在 ASP.NET Core 中编写新的 Web 服务。

此外,.NET 框架可以帮助

  • 使用 .NET 库或 NuGet 包——借助 .NET 标准,您可以在所有 .NET 实现(例如 NET Core)中实现代码。 借助 .NET Standard 2.0,其兼容性代码允许 .NET Standard/.NET Core 项目调用 .NET Framework 库。
  • .NET Framework 使您能够使用 .NET Core 不可用的技术——.NET Core 无法轻松利用的功能,例如 ASP.NET Web Forms、ASP.NET Web Pages、WCF 服务实现、工作流相关服务(Windows Workflow Foundation (WF)、工作流服务(单个服务中的 WCF + WF 和 WCF 数据服务)和语言支持,可以轻松地被 .NET Core 利用。

.NET Framework 的特性

  • 跨平台功能; 它可以在 macOS、Linux 和 Windows 上运行。
  • 改进的性能
  • 并行版本控制
  • 新 API
  • 开源

5. Django

Django 被认为是完美主义者在时间紧迫情况下的框架,因为它有助于使用更少的代码快速构建 Web 应用程序。 Django 是一个高端 Python 框架,有助于快速开发和开发简洁直观的设计。 该框架的效率已得到证实,因为它被 Web 上一些最繁忙的应用程序使用,例如 Mozilla、National Geographic 和 Pinterest。

Django 的特性

  • Django 帮助创建丰富的、动态的数据库访问 API。
class Fruits(models.Model):

name = models.CharField(max_length=200)

can_rock = models.BooleanField(default=True)

class Apples(models.Model):

name = models.CharField(“Type of Apple”, max_length=200)

instrument = models.CharField(choices=(

(‘a’, “apple”),

(‘g’, “green apple”),

(****‘c’, “Cameo Apple”),

),

max_length=1

)

band = models.ForeignKey(“Fruits”)
  • 身份验证——Django 处理用户帐户、组、权限和基于 Cookie 的用户会话。 它带有一个功能齐全且安全的身份验证系统。
from django.contrib.auth.decorators import login_required

from django.shortcuts import render

@login_required

def my_protected_view(request):

return render(request, ‘protected.html’, {‘current_user’: request.user})
  • 安全性——Django 帮助开发人员避免许多常见的安全错误。 它提供针对多种攻击的保护
    • 点击劫持
    • 跨站点脚本
    • 跨站点请求伪造 (CSRF)
    • SQL 注入
    • 远程代码执行

6. Laravel

Laravel 是一个模型-视图-控制器框架,它使用 PHP,这是最流行的网站创建语言。 Laravel 具有广泛且出色的 API,具有强大的功能。 它提供的工具可以帮助更快地构建网站和 Web 应用程序,并使它们更稳定且易于维护。

Laravel 的特性

  • 通过使用 Gate facade 的 App/Providers/AuthServiceProvider 类,使实现身份验证非常简单。
/**

* Register any authentication / authorization services.
*/

public function boot()

{

$this->registerPolicies();

Gate::define(‘edit-settings’, function ($user) {

return $user->isAdmin;

});

Gate::define(‘update-post’, function ($user, $post) {

return $user->id == $post->user_id;

});

}

来源: Laravel

  • 使 Web 应用程序更快——Laravel 配置为使用文件缓存驱动程序,该驱动程序将缓存对象存储在文件系统中。 缓存配置位于 config/cache.php。 它使用内存缓存,例如 Memcached 或 APC。
  • 处理安全漏洞——Laravel 通过保护 Web 应用程序免受最严重的安全风险来确保其安全。 代码本身非常安全,因此可以处理跨站点请求伪造、SQL 注入和跨站点脚本。

余味

后端框架为处理通过大量请求和响应创建的负载提供了完全的敏捷性和灵活性。 它们充当开发人员的催化剂,并帮助他们摆脱困境。 上面列出的是一些最好的后端框架,自定义 Web 开发人员 正在使用它们来帮助他们在很短的时间内创建一些最好的应用程序。

接下来阅读什么
标签
User profile image.
Signity Solutions 首席执行官和您在印度的团队

8 条评论

好文章。 Codeignier 和 symfony 怎么样?

很棒的建议。 如果您想自己撰写评论,我们始终欢迎投稿!

回复 作者 Sherzod (未验证)

哇... 没有纯 JavaScript、Erlang 或 Perl 的东西。

不用担心,这些只是 Amit 最推荐的 6 个。 我们也很乐意听到其他人最推荐的 X 个框架。

回复 作者 Miles R Fidelman (未验证)

我真的很怀念列表中的 node.js 支持的单页 Web 应用程序,例如 nest+angular。

很棒的观点。 如果您想撰写关于基于 nodeJS 的框架(或 nodeJS 本身)的文章,我们始终欢迎投稿!

回复 作者 ijavid (未验证)

“它使用 Windows Forms、WPF 和 UWP 来构建 Windows 应用程序。”
你在说什么? ASP.NET 与这些都无关。 它们唯一的共同点是它们都依赖于 .NET 基类库。
这扼杀了我对这篇文章的信任。

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 获得许可。
© . All rights reserved.