导读:并非每个项目都需要框架。对于软件工程师所依赖的许多语言(包括 JavaScript)而言,情况也是如此。
框架是帮助开发者免于不断重新设计新轮子和重写代码的重要工具。当需要高效且有效地部署项目时,框架将大大帮助开发团队实现这一目标。
但是,并非每个项目都需要框架。对于软件工程师所依赖的许多编程语言来说都是如此。对于 JavaScript 来说也是如此吗?是的没错!它也是如此。
JavaScript 框架通常被认为是现代前端 Web 开发的必备工具。
使用众多框架中的任何一个,开发者都可以构建可扩展、动态的基于 Web 的应用程序,这些应用程序可以在公司内部使用,也可以供消费者用户或企业客户使用。
有很多框架可供我们开发者选择,比如Vue.js、Angular、Svelte、Express.js、Bootstrap与Django。
因此,当你需要一个框架时,它们就在那里供你挑选。这些框架大多数都是开源的,可以免费使用。
但什么时候你不需要JavaScript 框架呢?一起来看看以下五个理由:
1. 如果你正在做的事情很简单
实话说,JavaScript 框架最适合用于规模较大的复杂项目。如果你正在开发简单而小型的项目,那么框架就有点大材小用了。
如果你正在开发一个较小的项目,框架只会让事情变得复杂,所以我们最好就不要用框架了。
请记住,使用框架的目的是通过从原生 JavaScript 实现您需要的一切,用来简化我们的工作并节省时间。如果您正在处理的项目较小,那么您节省的时间将被您花在熟悉框架或将其添加到组合中的时间所掩盖。
如果项目的目标是保持简单,就不必再费心思使用框架。
2. 仅使用 HTML 和 CSS 即可解决问题
使用 JavaScript 框架的大部分工作是构建 Web 应用程序。
是的,JavaScript 可以帮助使这些应用程序变得更具交互性、动态性和用户吸引力,但有时 JavaScript 会被过度使用,并会降低网站的性能。
退一步思考一下:HTML 和 CSS 能够足以构建网站或 Web 应用程序吗?
如果是,那么就请坚持基本原则。当然,您可能需要添加一些 JavaScript,但在此过程中添加框架可能会很快搅乱由基本语言创建的清晰水域。
请大家记住:HTML 用于结构,CSS 用于外观,JavaScript 用于行为。HTML 和 CSS 通常是关键成分,而 JavaScript 则是锦上添花。JavaScript 框架是一种工具,可帮助您将所有这些成分混合在一起,以烘焙出值得一试的蛋糕,但会增加一层您可能不需要的复杂性……尤其是当您只想要一个非常基础的蛋糕时。
3. 如果你使用 JavaScript ES6
随着JavaScript ES6的发布,框架的必要性已远不及以前。随着 ES6 中包含模块和类,大多数流行的框架可能被视为过时的技术。
请记住,框架用于抽象开发中一些更复杂的方面。随着 ES6 的发布,许多新功能(例如默认参数、模板文字、多行字符串、解构赋值、增强对象文字和箭头函数 - 以及模块和类)减少了在许多典型用例中对框架的依赖。
在 ES6 之前,处理诸如类之类的东西是开发者的一项重大挑战,即使之前的迭代被设计为专门支持类。
JavaScript 的这些新功能在很大程度上让框架成为过去时,因为它们为该语言带来了以前无法实现的某些功能。再无需使用这些第三方工具,大多数功能都将预先打包在语言本身中。
4. 如果你喜欢自由创作
让我们面对现实,当您使用 JavaScript 框架时,通常只能使用一个,并且会受到该框架的限制。
当不使用框架时,您可以完全按照自己的意愿自由设计和进行 Web 开发。
并且,考虑到您可以使用 HTML、CSS 和 JavaScript 的组合来做任何想做的事情,除非您正在大规模构建并且不在乎创作自由,否则您早已经拥有了所需的一切,您的创造力是无限的。
5.HTMX
HTMX 是 intercooler.js 的继任者,它使用熟悉的声明性 HTML 属性将 AJAX 添加到应用程序中。
这个新的扩展库允许开发者直接从 HTML 访问许多现代浏览器功能(例如 AJAX、CSS Transitions、WebSockets 和服务器发送事件),而无需使用 JavaScript。
这表示着开发者将能够构建现代界面,而无需求助于 JavaScript以及 JS 框架。
从HTMX官方网站上,我们看到了这样的代码例子:
hx-trigger="click"
hx-target="#parent-div"
hx-swap="outerHTML">
Click Me!
在这个例子中,当用户点击一个按钮时,就会向 /clicked 发出一个 HTTP POST 请求,然后使用响应在 DOM 中使用parent-div 来替换元素。
结论
使用框架的两个主要原因是速度与外部数据源的集成。如果这两个都不是你的项目的问题,那么框架会妨碍开发者,并扼杀你的创造力。
JavaScript 框架当然有它的良好用途,不应被自动忽略。但如果你有时间和意愿,直接使用 HTML、CSS 和JavaScript 代码进行构建开发,可能会更加有益。
作者:万能的大雄