原创 今天的 IoT 电子设备研发的新趋势

2019-9-1 09:56 2151 7 8 分类: MCU/ 嵌入式
今天的电子设备的开发者, 站在一个新时代的门槛上.
今天的典型电子产品的开发者, 几乎或多或少都需要参与产品进入"云时代"的设计中, 或者说 IoT 的物联世界构建中.
这种 IoT 世界的 incoming 时代, 不仅在产品/应用带来革命, 同时在研发环节, 也显著影响了研发/测试/部署的环境, 模式, 步骤.
这种研发影响或变革, 甚至不单单是电子设计, 也渗透到了软件开发, 我们今天如此依赖各种开源资源/模块/代码, 放在5年前都是无法想象的事情.

我们主要以 Node.js 在 IoT 平台服务软件项目中的例子, 来说明过去5年里, 这种开发模式的剧烈变化:
(1)  共性:  引用(略有修改): “今天的物联网(产品)的开发, 和传统嵌入式开发已经存在足够的区别, 暂且称为`新型物联网开发`, 归纳几个主要特点:   a. `支持网络`-> `基于网络`; b. 硬件高度整合. c. 硬件模块/功能扩展越来越容易. d. 设备终端完全互联. e. 通常有开源社区 NPM, github, wiki 等支持.”
(2)  共享: Node.js 的项目中, 特别是 NPM Module 的使用, 使得开发能够在开源的数十万计的各种 NPM module 中挑选, 并整合到项目中使用(开发者也可以向 www.npmjs.com 贡献 NPM 模块);
过去20, 传统的开发方式为闭环的开发 team, 开发效率与成功率, 依赖于开发者的个人能力与其过往工作经验积累;
Node.js NPM module 开源世界, 使得今天的 IoT-物联/服务平台开发通过依赖外部模块, 这极大提高开发效率, 并使得开发团队的小型化, 以及松散合作成为可能. 这与上述 通常有开源社区 NPM, github, wiki 等支持的特点归纳吻合.
甚至, 基于 github, wiki, npm 的开发模式, 也深刻影响到了传统语言的开发模式. 即便是不太那么"时髦"的 C++, 也有了在 vcpkg 的开源模块(static/dynamic lib/dll) 的支持, 在 windows 平台的开源项目数量或者已经超过了 1,000. 而这种拥抱开源的势头源于世界上最大的代码闭环公司 M$, 则更让人引起深思.
(3)部署:   Node.js NPM 使用依赖方式, 也使得项目部署/迁移变得非常容易. 大型项目可能有多达成千上万的外部依赖文件的引用(举例: 或许过去某个项目中, 进行rebuild 将全编译多达2,000 pcs文件, 这带来 source 管理的复杂性), 而使用 NPM 模式, 我们仅仅需要移植必要的项目部署/源代码, 而在新环境中再次下载各种 NPM 即可.
(4)开源数据库: 随着 2019年 8 月末, MongoDB 4.2 正式上线(MongoDB 部分改变了开源协议, 因为某些第三方对开源的滥用). 完全解决了 shared set 的 transition 的 atomic 行为. 这从根本上改变了, NoSQL 比较 SQL Server/MySQL 等 SQL 数据库的最弱的一个环节. 我们几乎已经可以看到了它深远的影响. 它很可能导致 5年后的信息专业的童鞋, 不再学习关系型数据库原理这门课程, 而首修 NoSQL 教程.

以上, 我们总结了过去 5年间, 在软件开发业界发生巨大改变, 这种研发生态的变化, 也将某种程度带来电子研发的革命.
今天最大的"闭环"开发模式, 事实上仅保留在电子开发业界. 根据过去 5年, 软件开发模式的改变历史经验, 我们可推测:
-- IoT, 开源, 共享 package, 必将极大冲击和影响电子开发环境. 致力于电子开发的云服务, 云共享, 云模块的某些便利或许即将出现.

作者: allen_zhan, 来源:面包板社区

链接: https://www.mianbaoban.cn/blog/uid-me-1238440.html

版权声明:本文为博主原创,未经本人允许,禁止转载!

广告

文章评论 4条评论)

登录后参与讨论

soda3 2019-9-5 08:04

同感,跟网络相关或者无线通信的开发是一个趋势,市场规模也会很大

curton 2019-9-3 21:09

学习了

allen_zhan_752827529 2019-9-2 15:05

nufuvcgx: 好厉害!受益匪浅
我和几位朋友都讨论过, 我们得出了一个共同的结论:
今天的嵌入式开发不仅仅受限于硬件, 固件. 同样也必须研习软件.
这个行业势头完全被 IoT incoming 的市场应用结合所决定.
未来电子嵌入式工程师必须具有开发构建 IoT 云平台的能力.
所谓软件, 硬件, 嵌入式工程师的区分将变得模糊.

一般的讨论认为, 成为行业专家需要 1万工作时, 约等于正常强度的 10 年行业工作累积.
<剪贴>
There’s a common belief that you need to work at least 10 thousands hours before you can become expert in an area.
<剪贴>
今天我个人提出一个新观点, 由于今天市场决定了云数据服务, 为今天行业的核心. 掌握嵌入式与软件web开发的综合性人才的专业经验应该是: 1*2 万小时. 行业正常开发积累时间为 20年.

nufuvcgx 2019-9-2 14:10

好厉害!受益匪浅
相关推荐阅读
allen_zhan 2019-08-24 09:37
[Node.js]读取项目代码总行数
软件项目工程量的规模较难被评估, 一般来说总代码量是一个相对客观的评价参数(虽然受限诸多条件约束).如果 IDE 是 VS 或是 Eclipse, 我们一般使用正则表达式 ^b*[^:b#/]+.*$...
allen_zhan 2018-03-08 17:30
使用 JavaScript 生成HTML目录(一)
使用 JavaScript 生成HTML目录(一)阅读帮助与感想:1. 似乎编辑栏找不到 Markdown 语法方式, 也没有整个 html 文件上传的支持. 明明已经完成的 html 笔记, 为在...
allen_zhan 2017-08-25 09:20
功能手机方案不同生产批次间可能的差异
功能手机方案不同生产批次间可能的差异开始正文前, 首先我们尝试对手机方案或者说平台, 与传统的嵌入式项目进行一番对比. 这类对比绝对不是浪费时间, 考虑到两者之间巨大差异-- 从开发认知程度的强烈不同...
allen_zhan 2017-08-09 10:57
使用电池电源的便携系统的低功率设计的几个注意事项
使用电池电源的便携系统的低功率设计的几个注意事项今天IoT物联网时代, 越来越多的设计被引入到, 使用电池能量的便携电子设备设计. 此时, 低功耗特性往往成为系统设计最重要的核心之一, 完成系统基础功...
allen_zhan 2014-08-15 15:03
关于寄存器更多的讨论
关于寄存器更多的讨论   我们过去一份 blog 中("核心寄存器何其少耶"), 对于 register 被 instruction 的 size 的大小而限制, 进行了一番讨论. 尽管可...
广告
我要评论
4
7
广告
关闭 热点推荐上一条 /1 下一条