平台还是标准?


用户需求 & 用户体验,当然首先要满足用户需求,真正的从本质上分析,如果一上来就谈用户体验的话,有点本末倒置的感觉,好的用户体验,是建立在真正的解决用户问题的基础上。

说说CoIDE组件平台,我们大家都认为组件平台Bug多,反应慢,上传体验差,等等才造成无人上传,其实不是这样的,我们还没有真正的捕获到用户真正的需要。

那么首先谈谈 组件平台给用户的价值,用户需要什么?

为什么需要组件?

组件的几个特点:

  • 可复用,可以用到后续的几个项目上
  • 要达到商用的质量
  • 要能够方面的用起来 - 比如,要API文档,有示例

对不同的角色,不同的价值,当然,CooCox考虑的最多还是开发者,这个基数最大。

  • 开发者
    • 有现成 高质量的代码可直接应用到项目中,何乐而不为
  • 半导体
    • 丰富自家MCU的软件生态,增加MCU的竞争力
  • 中间件开发商
    • 他们本身就靠销售组件,去赚取利润
  • 开发板/工控
    • 组件化,便于客户二次开发
    • 组件化,也减少了自己工作量
  • ARM
    • 丰富ARM阵营的软件生态

为什么要创建组件?

  • 开发者:
    • 复用,方便后续项目中使用
  • 半导体
    • 可以基于某个官方开发板,开发一些组件和例子,但是他有他的规则,他按照他的规则来
    • 如果很容易移植,可能半导体会考虑按照CooCox规则来,或者CooCox的影响力已经太强大
  • 中间件开发商
    • 他们更多的考虑以什么规范,形式分发
  • 开发板/工控
    • 同开发者

CooCox的规则

CooCox组件平台的核心,不是有多少多少组件,也不是有一个多么稳定,多么体验好的互联网平台,而是有一个 大家都认同,对大家都有好处的 组件规范/标准

开发者希望能够有好用的组件用到项目中,至于从何处取得,怎么取得,甚少关心的。

比如CooCox在有一个标准后,可以在Github上创建开源项目,创建一个FTP等等,相信大家也是可以接受的,这并影响他去索取组件。

怎么让大家都采纳CooCox的规则?

我认为应该是:“利益最大化,无后顾之忧”

利益最大化,对不同的角色,就是最大化的共赢。

  • 开发者
    • 能够很方便的复用
    • 组件是开发者的心血,应该永久存储,保密
      • 文件的形式,自己可以随心所欲的备份,分发
      • 不受开发工具的限制,可以用到MDK,也可以用到IAR,甚至GCC
      • 安全,保密,比如后台偷偷的上传
      • 友好的协议,比如使用这边标准,没有必要开源我的项目
  • 半导体
    • 仅仅可以用在自家的芯片上
    • 有几种开源协议可供选择
    • 很方便的分发
  • 开发板
    • 保护知识产权,避免竞争者不劳而获
      • 采用特别的开放源码协议
      • 以二进制发布
    • 易分发
  • 外设半导体
    • 可以用在不同的开发工具上
    • 可以用在不同的MCU体系上
    • 很方便的二次分发
  • 中间件开发商
    • 很方便秀出中间件的好处,价值
    • 通过文档等方式,降低中间件的使用成本(复杂度)
    • 提供平台供其推广

ARM是我们的榜样

CMSIS-PACK标准,我很欣赏。

CMSIS-PACK标准,相当于为 组件分发 制定了一个标准,ARM把各个角色的利益最大化:

  • 对半导体,可以根据这个标准,添加自己芯片的工具支持,包括但不仅仅限于MDK,甚至可以分发
  • 对开发板,开发板可以在使用工具时使用,另外,也增加了一个比较优的推广平台
  • 对开发工具,根据这个标准,可以把生态环境其他资源纳入自己的阵营,比如开发板
  • 对开发者,最多的方便使用各种组件,二来方便自己组件的存档

CooCox的标准?

CMSIS-PACK 很好的解决了分发的问题,其实,CooCox组件平台也是为了解决分发问题,CMSIS-PACK集整个ARM阵营的力量,CooCox还是主要靠自己,另外在发动一些志愿者,但是志愿者却少的可怜。ARM站在了一个比CooCox更高的位置。

CMSIS-PACK, 我到建议直接使用,当然,CMSIS-PACK也是有缺点的,比如版本迭代,适用环境等等。

那么组件内部的核心,怎么提高这个组件质量,测试标准,文档标准, 图形化配置?可能CMSIS-PACK还没全部涉及到。

太考虑自己的利益,站的可能就会不够高,且封闭,容易被推倒。

我们考虑是不是在CMSIS-PACK优化的基础上, 完善下?