写点什么

前端策略:使用框架还是纯 JavaScript?

  • 2024-09-04
    北京
  • 本文字数:1975 字

    阅读完需:约 6 分钟

大小:990.50K时长:05:38
前端策略:使用框架还是纯JavaScript?

有大量的前端框架都是用 JavaScript 编程语言实现的。然而,有时很难确定应该将哪种框架应用于新项目。或者 Web 平台的状态就是这样的,我们根本不需要使用任何框架。


框架为网页设计师提供了必要的基本功能。同样,在某些情况下,设计师也可以只使用 JavaScript 即可解决问题。


前端框架是一个代码包,用于解决常见的问题,比如数据绑定和检索、路由、代码组织以及当代应用程序所使用的其他功能。一般来说,前端框架是快速实现和 Web 开发的重要工具。


前端框架有助于构建和控制代码,它可以处理一个合理的应用程序在客户端所需的一切。


何时使用前端框架


要确定我们是否需要使用某个框架,请问问自己:“在没有这个框架,我们是否可以构建它?”如果任务相当简单,并不需要使用数据获取、绑定或复杂的路由,那么可能就不需要框架了。


在这个程序中,一些开发人员打开一个空白 HTML 文件,并通过绘制板对整个项目进行编码。这样的项目适用于个人网站或作品集,此时,不使用框架可能会是一个好主意,因为在这种情况下,没有特定的需求,并且结果也会相当快。


然而,在某些情况下,使用框架将会带来巨大的收益。


前端 JavaScript 框架的优势

下面将介绍使用 JavaScript 框架进行前端开发以提高网页设计技能的优势。

简化的语法和结构

JavaScript 框架将开发模式定义为使用已编写好的代码使语法更简单。这种结构为开发人员提供了一种采用框架并构建应用程序的简单方法,而无需编写构成主框架之外的很多额外代码。Angular、React 和 Vue.js 等库提供了许多规则和建议,可以使工作更加高效,并能最大限度地减少团队新成员研究代码所需的时间。

模块化的代码组织

框架通过将应用程序划分为小而可互换的部分,使编写模块化的代码变得更加容易。这种模块化有助于开发人员编写良好的结构化代码,并有助于团队成员之间顺利地进行协作。由于每个组件都可以单独构建、测试和维护,因此可以为维护提供更干净的代码库。

可重用的组件

JavaScript 前端框架还可以帮助我们开发模块——这是另一个优势。这些组件可以在一个应用程序中重复使用,甚至可以用于另外的其他项目。这种可重用性减少了项目开发所需的时间,标准化了编写的代码主体,并消除了冗余。

丰富的生态系统和库

JavaScript 框架已经开发展成了复杂的生态环境,其中充斥着能与框架一起使用的库、工具和插件。上述资源能为开发人员提供非常重要的帮助,因为他们可以使用现成的特性和功能来增强他们的应用程序。例如,在 React 中,没有标准的方法来管理状态、路由应用程序或处理表单。然而,有很多三方库可以解决这些问题,并能很容易地将这些解决方案合并到应用程序中。

虚拟 DOM 与高效的渲染

Preact、Next.js 和 Vue.js 等库使用虚拟文档对象模型(DOM)来提高渲染速度。虚拟 DOM 是实际 DOM 之上的一层,很少直接操纵应用程序的 DOM。这种方法减少了昂贵的 DOM 操作次数,使更新在处理增强和动态应用程序时更快、更高效。

代码拆分和延迟加载

JavaScript 框架支持更复杂的策略,比如代码拆分和延迟加载,从而提高了应用程序的效率。代码拆分有助于将应用程序代码分解为可以按需加载的片段,这反过来又有助于最大限度地减少加载时间。延迟加载还可以通过仅在需要时加载所需的组件和资源来提高工作效率,从而增强了应用程序的可用性。

标准化开发实践

应用 JavaScript 框架通过实现一组特定的标准可以帮助整个团队做好准备工作。这些框架附带了一些规则和标准,并推荐了对特定项目进行编码和结构化的方式或方法。到开发后期需要查看代码时,能使代码对开发人员来说更易于阅读和维护。

对不同规模项目的适应性

JavaScript 框架是为了实现多功能性而开发的,既可以用于大型企业,也可以用于复杂程度相当的小型企业。这些框架适用于任何应用程序——只有一个页面的简单应用程序或具有多级复杂性的大型企业的应用程序。对于开发人员来说,可以简单地开始并逐步扩展应用程序,而无需经历巨大的架构转换。

与现代开发工具的集成

当前的 JavaScript 框架非常灵活,可以很容易地集成到不同的开发工具和开发生命周期中。它们可以支持构建工具和包管理器,比如 npm 和 Yarn。它们还可以通过消除繁琐的活动、协调依赖关系以及编排构建过程来丰富开发过程,从而提高工作效率。

结论

JavaScript 是 Web 开发的未来。一切都取决于所选的框架以及云托管的专门功能和选项。JavaScript 可用于客户端脚本和服务器端或游戏服务器脚本的编写或套接字编程。然而,由于浏览器只支持一种语言,因此 JavaScript 已经赢得了它的普及,广受欢迎。


作者介绍:Jordan Smith 是俄克拉荷马州塔尔萨的一位资深网页设计师,在设计和开发网站方面拥有超过 10 年的经验。他建立了数百个专门针对每个客户的品牌和目标量身定制的网站。


原文链接:

https://thenewstack.io/frontend-strategies-frameworks-or-pure-javascript

声明:本文由 InfoQ 翻译,未经许可禁止转载。

2024-09-04 17:528803

评论

发布
暂无评论
发现更多内容

记一次 ClickHouse 性能测试

劼哥stone

数据库知识点总结

乌龟哥哥

8月月更

【ZK简明教程】(1)零知识证明的背景和系统结构

比特之心

区块链 零知识证明 密码学 签约计划第三季

11 个需要避免的 React 错误用法

Geek_z9ygea

JavaScript typescript React

极狐 GitLab 冷知识:使用 git push 创建 Merge Request

郭旭东

极狐GitLab JIHULAB 101

CCF国际AIOps挑战赛

云桌派

面试官:如何设计更好的分布式系统?

Java全栈架构师

程序员 架构 面试 分布式 后端

什么是研发效能?研发效能定义及核心价值

laofo

DevOps cicd 研发效能 持续交付 工程效率

对 Service Mesh 望而却步?可能都没理解这一点

baiyutang

架构 微服务 签约计划第三季 servicemes

[极致用户体验] 你的 Link Button 能让用户选择新页面打开吗?

HullQin

CSS JavaScript html 前端 8月月更

极狐 GitLab 冷知识:GitLab CI 最熟悉的陌生关键字 script

郭旭东

极狐GitLab JIHULAB 101

令人上头的AI论文(上) | IDP Inspiration

Baihai IDP

RocketMQ高性能设计之数据存储设计

急需上岸的小谢

8月月更

Linux部署hadoop2.7.7集群

程序员欣宸

hadoop 8月月更

云原生(十七) | Kubernetes篇之深入了解Deployment

Lansonli

云原生 8月月更

极狐 GitLab 冷知识:如何美化 issue 内容

郭旭东

极狐GitLab JIHULAB 101

HttpClient 在vivo内销浏览器的高并发实践优化

vivo互联网技术

Java 高并发 HttpClient

C++学习------cfenv头文件的作用与源码分析

桑榆

签约计划第三季

前端食堂技术周刊第 48 期:ESLint 新配置系统、Vue3 中文文档正式上线、Astro 1.0、小程序新渲染引擎

童欧巴

开源一夏|OpenHarmony跳转拨号界面

坚果

开源 OpenHarmony 8月月更

最多可省19%!阿里云第七代云服务器ECS中国大陆地域调价通知

阿里云弹性计算

云计算 阿里云 ECS 企业创新

基于jwt的token验证、原理及流程

TimeFriends

8月月更

STM32入门开发 介绍IIC总线、读写AT24C02(EEPROM)(采用模拟时序)

DS小龙哥

8月月更

极狐 Git Lab 冷知识:妙用 Badge 徽章

郭旭东

极狐GitLab JIHULAB 101

极狐 GitLab 冷知识:在 Gitlab CI Pipeline 中进行 Git Push 操作

郭旭东

极狐GitLab JIHULAB 101

NFT服务平台如何选择——搭建NFT平台技术

开源直播系统源码

数字藏品 数字藏品软件开发 数字藏品系统软件开发 数字藏品交易平台开发

面试官偷偷告诉我:原来这样优化提升接口的性能

知识浅谈

API 优化 8月月更

3 分钟看 3 个 JS 小把戏

掘金安东尼

JavaScript 前端 8月月更

阿里云解决方案架构师张平:云原生数字化安全生产的体系建设

阿里巴巴云原生

阿里云 云原生 安全 数字化

SpringBoot 实战:国际化组件 MessageSource 与 Nacos 组合实现动态配置能力

看山

源码 nacos springboot MessageSources

面试突击74:properties和yml有什么区别?

王磊

Java 常见面试题

前端策略:使用框架还是纯JavaScript?_架构/框架_Jordan Smith_InfoQ精选文章