JS 框架与 Laravel:该选择哪一个进行 Web 开发?
长期以来,JavaScript 生态系统中的开发者一直试图推出类似 Laravel 的应用框架或类似的产品。
我们已经看到,有适用于 NextJS 的 Blitz、适用于 NodeJS 的 Adonis、RedwoodJS 等等——所有这些框架都试图为 JavaScript 构建一个 Laravel。
但它们都没有真正成功。为什么?我们将在本文中找出原因。本文值得各位一读,因为学习 JavaScript 的初学者很难找到一劳永逸的解决方案。
这意味着当你有如此多的选择时,在 JavaScript 中选择一个框架(或库)可能会很困难。例如 React、Vue、Angular、Svelte、NextJS、Meteor 等等。
与此同时,PHP 提供了一个简单的解决方案:Laravel。它是一站式解决方案,将许多框架和库整合在一起。
但它是真正适合自己的选择吗?
在本文中,我将深入探讨为什么 JavaScript 生态系统没有类似 Laravel 的框架,以及是否应该切换到 PHP 以获得像 Laravel 这样的一站式解决方案。
我将讨论使用 JavaScript 框架与 Laravel 等一站式解决方案相比的优缺点,并以比较表作为结尾以帮助您做出决定。
我们将在本文中介绍的内容:
为什么选择 JavaScript 而不是 Laravel
为什么 JavaScript 缺乏一体化解决方案
JavaScript 框架和库的好处
Laravel 的优点
Laravel 与 JS 工具之间的区别
为什么选择 JavaScript 而不是 Laravel
当初学者决定学习 Web 开发时,他们通常会在 JavaScript/TypeScript 和 PHP 之间进行选择。其他解决方案需要更多专业知识,因此大多数初学者倾向于以上这两种语言。
许多初学者最终发现 JavaScript 庞大的生态系统令人难以承受,而 PHP 学习者常常感到受到较少的框架和缺乏高级特性的限制。
为了解决这类困惑,我比较了 JavaScript 和 PHP 当前可用的工具,而不是直接比较语言。由于 PHP 拥有大多数开发人员使用的一体化解决方案,因此我将使用 Laravel 框架进行比较。
JavaScript 缺乏单一的一体化解决方案或特定的代表性框架。因此,我将 React、Vue、Angular 等工具统称为“JavaScript 框架”。
首先了解为什么 JavaScript 生态系统缺少类似 Laravel 的框架。
为什么 JavaScript 缺乏一体化解决方案
首先,需要承认开发人员过去曾尝试过为 JavaScript 制作 Laravel。
从 RedwoodJS 开始。这是一个开源的全栈 JavaScript 框架,由 GitHub 联合创始人兼前首席执行官 Tom Preston-Werner 创立。它可以帮助开发人员更快地构建应用程序并发布。
Redwood 将许多创新解决方案整合到一个框架中。听起来很熟悉?这和 Laravel 一模一样。但是,有看到有人使用 Redwood 发布产品吗?目前没有发现。
下一个选项是 Blitz。它与 Redwood 做出了同样的承诺:替代 NextJS。Blitz 是一种一体化解决方案,具有用于身份验证、数据库等的自定义内置解决方案。
但是 Blitz 不像 Laravel 那样允许开发人员自由选择他们想要使用的解决方案。它有由核心团队精心设计的定制解决方案。开发人员不能用其他推荐的解决方案替换任何解决方案。
定制化是 JavaScript 生态系统中值得注意的一点,随着我们发现更多框架,稍后将解释原因,但是 Blitz 也没有成功。
然后,还有 AdonisJS。
但是,我想你明白我的意思了。JavaScript 中的每个一体化解决方案都试图实现各自的 Laravel 框架,但是各自都没有真正成功。
Blitz、Adonis 和 Redwood 遵循这样一个主题:为 JavaScript 开发人员构建应用程序提供现成的、非可定制解决方案的全栈框架。
这些框架之所以没有流行起来,因为它们没有满足它们所针对的开发者的真正需求。
JavaScript 生态系统是独一无二的,它为同一个问题提供了多个解决方案。这种多样性是有原因的,也是这些框架未能成功的原因。
让我们讨论一下当前流行的 JavaScript 工具的原因与优点,因为它们直接影响 JavaScript 框架和 Laravel 之间的选择。当我概述每个优点时,请考虑它是否符合您自己的需求。
JavaScript 框架与库的优点
JavaScript 框架和库是开发人员为节省时间和精力而创建的预先编写的资源、技术和功能的集合。
这些框架在 21 世纪开始出现,其中 React、Svelte、Angular、NextJS 和 Vue 等著名框架随着时间的推移开始脱颖而出。
然而,选择越多并不一定意味着效率越高。下面,我们将探讨使用 JavaScript 框架的优点和好处,以及为什么一体化解决方案在 JavaScript 生态系统中没有取得成功。