在当前的技术体系结构下,嵌入式开发涉及到三方面内容,分别是设备、网络和平台,设备所包含的范围比较广泛,既可以是各种传感器设备,也可以是各种可穿戴设备、家用电器、平板电脑等等,这些设备通常具备感测和反馈的功能。
虽然嵌入式开发所面对的设备比较丰富,但是总体上的结构包括输入设备、微控制器主板、输出设备三大部分。在学习嵌入式开发的过程中需要选择一款微控制器主板,可以选择传统的H8型主板,也可以选择Arduino、Raspberry Pi(树莓派)、Beagle Bone Black和intel Edison,这些都是比较常见的选择。作为嵌入式开发人员来说,掌握设备的基本知识对于嵌入式开发是比较重要的。
软件开发主要涉及到数据、网络和计算三部分,在当前的大数据时代背景下,数据的边界得到了一定程度的拓展,软件开发人员既需要掌握传统的Sql数据库知识,还需要掌握NoSql数据库知识。在云计算技术的推动下,未来软件开发过程与云计算的结合会越来越紧密,尤其是在当前PaaS和SaaS快速发展的背景下,掌握相关的技术会在很大程度上提升软件开发的效率。软件开发的计算环节主要涉及到算法设计和数据结构两大核心内容,目前分布式计算已经随着大数据和云计算技术得到了逐渐的普及。
总的来说,嵌入式开发的重点在于如何利用设备资源完成具体的控制操作,而软件开发技术则是如何完成各种数据资源的管理和应用。如果以物联网体系结构来整合嵌入式开发和软件开发的话,嵌入式开发关注于设备、网络和物联网平台,而软件开发则关注于物联网平台、数据分析和数据运用。
在就业岗位方面,嵌入式开发的岗位主要集中在与设备关系密切的岗位上,在产业互联网阶段,嵌入式相关的开发岗位还是比较多的。软件开发岗位相对于嵌入式开发岗位来说,要更丰富一些,涉及到的场景也更多,比如Web开发、移动互联网开发(Android、iOS)、大数据开发、人工智能开发等等。