zoukankan      html  css  js  c++  java
  • 漫谈移动开发中的组件化

    组件化是什么?

    有人认为这是一种比较高大上的技术(因为大公司都在搞);但我觉得这样表达不太合适。
    打个简单的比方,一个公司刚开始有几个人,大家可能分工也不那么明确,有事就商量着来。公司慢慢发展越来越大,出于管理的需要,公司会陆续成立多个部门,人员就会分散到各个部门中。

    部门内部人的交流相对比较容易;随着公司的发展壮大,跨部门沟通会变得越来越困难。

    那么这里的公司就相当于我们的项目;而公司的部门就相当于我们的组件,这里的人员就相当于我们的代码或者功能。
    通过这个类比,我们很容易理解,组件化就是项目发展到一定规模时所必须经历的一个开发模式;
    因此,组件化方案应该适合项目发展的实际需要去因地制宜,而不是独立于项目而存在的。

    对于组件化来说,主要需要解决两大问题:

    1. 组件的拆分

    2.组件间的通信

    关于组件化的实践,笔者也在探索中,目前只能给出一些自己的理解,大家可以看一下一些大厂输出的实践经验,应该比较有说服力。
    对于iOS平台,私有cocoapods可能是承载组件的不错的选择(在笔者最早的项目实践中,各个组件被拆分成子工程输出.a静态库,集成到项目中)。
    而组件间的通信,业界采用的比较多的方案是通过router(即模块注册url的方式)。我个人认为,router方案是一个比较稳妥的选择,但绝不是组件化通信的唯一方案。期待更多、更优秀的实践能够涌现出来。

  • 相关阅读:
    MVC的12种ActionResult介绍以及应用示例【转】
    SQL Server抛出异常信息 RAISERROR
    lambda select和where区别
    JS中的原型对象与构造器
    JS原型的动态性
    关于困惑已久的var self=this的解释
    JS原型对象的问题
    再谈.NET委托(delegate、Func<>)
    在函数作用域嵌套下使用this
    Python 易错点
  • 原文地址:https://www.cnblogs.com/fengju/p/6173608.html
Copyright © 2011-2022 走看看