我的 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 模型-视图-控制器 (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 不可用的技术—诸如 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 的模型-视图-控制器框架,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 和 Your Team in India 的 CEO

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本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。
© . All rights reserved.