关于前端框架的思考

关于前端框架的思考

  • 导读

  • 重点来了

  • 总结

导读

=================================================================

一、百花齐放的前端框架

以前,最火的前端框架是 jQuery,后来又出现了 Dojo、Ember、Backbone、RequireJS、Angular、Vue、React… 一大堆框架。

目前,大家能在市面上看到的前端框架依然还有很多。

在这个发展过程中,框架的规模和体积也在不断的增大,最老的 prototype.jsmootools,都只有几千行 JS 代码,压缩之后的体积也只有 10k 左右。

但到现在,动辄几百K,而且还要和其他工具/全家桶一起使用。整个算下来起码有个几兆,几十兆的样子。

但是你有没有思考过一个问题:在纷繁缭乱的表象背后,隐藏着简单的规律。实际上,市面上所有的前端框架都在解决两个大问题:【组件化】和【模块化】。

重点来了

===================================================================

二、共同问题一:如何实现组件化?

组件化有两个好处:

  • 1.功能封装

  • 2.跨项目复用

所有框架,无论使用什么语言来实现,都有一些基本的问题需要解决。

如何设计组件的生命周期?

如你所知,前端的特点是带有 UI 界面的,是需要跟用户直接交互的东西。

因此,你必须为这些 UI 组件设计完善的生命周期,从远古的 Java Swing 到 QT,一直到 jQuery UI、Angular、React,大家都设计了自己的生命周期机制。

虽然技术细节有差异,但是基本的结构是类似的,都需要经历几个基本的阶段:初始化、渲染、存活期、销毁。请看图示:

在这里插入图片描述

请注意,所有 UI 组件几乎都是这样设计的,怎么样,还需要去强记那些内容吗?

组件之间如何通讯?

OK,无论什么 UI 框架,有了 UI 组件之后,紧接着就需要解决组件间通讯的问题。

在这里插入图片描述

你只要能解决以下 3 种情况就能解决绝大部分的问题了;父子间如何通讯?兄弟间如何通讯?远方亲戚之间如何通讯?

如论哪种框架,典型的解决方案有 3 种:父子之前通过事件或者直接调用进行通讯;兄弟、远房亲戚之间利用事件总线进行通讯、利用 cookie、localstorage、甚至是服务端 session 进行通讯。

如何管理组件的状态?

UI 组件不仅仅有外观,外观只是一张画皮,里面要有数据才行,既然有数据,就要有状态管理的问题。

在这里插入图片描述

在状态管理这块,需要仔细设计这些问题:是否需要双向绑定?如何配合路由保持组件状态?

组件样式怎么做?

因为是前端框架,所以美观的问题也不能放松。所幸的是,在移动互联网时代,用户都已经习惯了“扁平化”、“极简主义”这些设计风格,我们可以利用市面上现有的 CSS 样式库来给我们的组件“化妆”,常用的有这些:

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)

最后

文章到这里就结束了,如果觉得对你有帮助可以点个赞哦,如果有需要前端校招面试题PDF完整版的朋友可以点击这里即可免费获取,包括答案解析。

,如果觉得对你有帮助可以点个赞哦,如果有需要前端校招面试题PDF完整版的朋友可以点击这里即可免费获取,包括答案解析。**

[外链图片转存中…(img-PYB7mRBY-1713693958410)]

  • 9
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值