带你读《2022技术人的百宝黑皮书》——跨桌面端之组件化实践(1)

简介: 带你读《2022技术人的百宝黑皮书》——跨桌面端之组件化实践(1)

跨桌面端之组件化实践

image.pngimage.png作者:张雁翔(莫二) 出品:大淘宝技术

 

 

本文主要介绍了千牛PC跨端框架中,我们关于组件化部分的思考、方案选择、遇到的一些问题和解法。此文为本系列文章第三篇,

第一篇:跨全端SDK技术演进

第二篇:跨桌面端之Web容器演进本文:跨桌面端之组件化实践

 

背景介绍

 

windows千牛功能很丰富,mac千牛什么时候可以把能力对齐?

相信所有跨平台应用,都有遇到过这样的窘境。由于平台差异的复杂性,维护多端产品成本非常高,且常常存在多端体验不一致的问题。情况就是这样,而我们团队维护了pc千牛和pc旺旺2款跨端产品,在效能和体验的双重压力之下,搭建一个多端统一的pc应用跨平台开发框架势在必行。

 

本文主要介绍了千牛PC跨端框架中,我们关于组件化部分的思考、方案选择、遇到的一些问题和解法。

 

所谓框架,它既是一个“框子”,有一定的约束性,也是一个“架子”,有一定的支撑性。                    IT语境中的框架,特指为解决一个开放性问题而设计的具有一定约束性的支撑结构。在此结构上可以根据具题扩展、安插更多的组成部分,从而更迅速和方便地构建完整的解决问题的方案。

 

为什么要做组件化?

 

跨端框架为什么选择做组件化?

框架本身一般不能直接解决某个具体问题,但为解决问题的相关组件提供了一些衔接、组合的基础能力。框架的科学性、易用性,直接决定了研发效率和产品质量。

组件化是用来解决框架功能扩展、复用的一种非常合适的技术方案。

 

 

而用组件化模式设计的一个应用框架,一般具备以下特性:

  1. 极好的扩展性
  2. 极好的复用性
  3. 灵活度高,可以很方便组装或下线功能
  4. 修改功能,影响范围很小
  5. 非常适合团队分工协作

 

这些优点,每一项都是我们梦寐以求的,所以说组件化对我们几乎是必然选择。

 

组件化是什么?

组件化是指解耦复杂系统时将多个功能模块拆分、重组的过程,有多种属性、状态反映其内部特性。

 

举个例子,你要造一个汽车,但是发现汽车实在太复杂了,很难实现,于是:

  1. 你把汽车拆分成了底盘,发动机,变速箱,轮子等模块,定义好了他们各自的职责。
  2. 然后你找来小伙伴帮忙,先约定好了组件标准,再让每个人实现其中一个独立模块。
  3. 你还需要一个控制系统,能够让这些模块互相配合,协同工作。
  4. 由于大家都按照一个标准来开发,这些模块很容易被组装到一起,进行管理和控制。
  5. 这样,你们实现了一个汽车。

 

这里的一个功能模块,就是一个组件,用来控制组件协作运行的系统,就是组件框架。

 

组件框架需要解决的几个问题:

  1. 如何发现组件
  2. 如何管理组件的生命周期
  3. 如何组件间调用
  4. 提供的公共基础能力

image.png

 

 

带你读《2022技术人的百宝黑皮书》——跨桌面端之组件化实践(2)https://developer.aliyun.com/article/1340325?groupCode=taobaotech

相关文章
|
9月前
|
Web App开发 移动开发 前端开发
带你读《2022技术人的百宝黑皮书》——跨桌面端Web容器演进(1)
带你读《2022技术人的百宝黑皮书》——跨桌面端Web容器演进(1)
|
9月前
带你读《2022技术人的百宝黑皮书》——跨桌面端之组件化实践(8)
带你读《2022技术人的百宝黑皮书》——跨桌面端之组件化实践(8)
|
9月前
|
存储 iOS开发 MacOS
带你读《2022技术人的百宝黑皮书》——跨桌面端Web容器演进(2)
带你读《2022技术人的百宝黑皮书》——跨桌面端Web容器演进(2)
|
9月前
|
JavaScript Android开发 C++
带你读《2022技术人的百宝黑皮书》——跨桌面端Web容器演进(3)
带你读《2022技术人的百宝黑皮书》——跨桌面端Web容器演进(3)
|
9月前
|
缓存 小程序 前端开发
带你读《2022技术人的百宝黑皮书》——跨桌面端Web容器演进(5)
带你读《2022技术人的百宝黑皮书》——跨桌面端Web容器演进(5)
|
9月前
|
C++
带你读《2022技术人的百宝黑皮书》——跨桌面端之组件化实践(5)
带你读《2022技术人的百宝黑皮书》——跨桌面端之组件化实践(5)
带你读《2022技术人的百宝黑皮书》——跨桌面端之组件化实践(5)
|
9月前
|
测试技术 C++ Windows
带你读《2022技术人的百宝黑皮书》——跨桌面端之组件化实践(7)
带你读《2022技术人的百宝黑皮书》——跨桌面端之组件化实践(7)
|
9月前
带你读《2022技术人的百宝黑皮书》——跨桌面端之组件化实践(6)
带你读《2022技术人的百宝黑皮书》——跨桌面端之组件化实践(6)
|
9月前
|
XML 数据格式 C++
带你读《2022技术人的百宝黑皮书》——跨桌面端之组件化实践(3)
带你读《2022技术人的百宝黑皮书》——跨桌面端之组件化实践(3)
|
9月前
|
C++
带你读《2022技术人的百宝黑皮书》——跨桌面端之组件化实践(10)
带你读《2022技术人的百宝黑皮书》——跨桌面端之组件化实践(10)