我最推荐的 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. CakePHP

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

CakePHP 的功能

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

CakePHP 数据库配置

public $default = array(

’datasource’ => ‘Database/Mysql’,

’persistent’ => false,

’host’ => ‘localhost’,

’port’ => ‘’,

’login’ => ‘cakeBlog’,

’password’ => ‘c4k3-rUl3Z’,

’database’ => ‘cake_blog_tutorial’,

’schema’ => ‘’,

’prefix’ => ‘’,

’encoding’ => 'utf8’

);

CakePHP 提供高级安全性,并具有 SQL 注入预防、跨站脚本、验证、快速构建和跨站请求伪造保护等附加功能。

3. Spring Web MVC

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

Spring Web MVC 的功能

  • DispatcherServlet—DispatchServlet 有助于清晰地分离角色,例如控制器、验证器、命令对象、模型对象等等。
  • 配置功能—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 Framework,您无需迁移现有应用程序,例如在 ASP.NET Core 中编写新的 Web 服务。

此外,.NET Framework 可以帮助

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

啊,我喜欢 Codeignighter!

回复 ,作者 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本作品根据知识共享署名-相同方式共享 4.0 国际许可协议获得许可。
© . All rights reserved.