嵌入式客户端程序开发大汇总

  先不说嵌入式客户端程序开发,先看发展最好的客户端程序开发领域:PC端(Win、IOS)、浏览器、移动端(Android、IOS)。这些客户端开发程序员人数众多、生产力极高的工具、良好的生态环境。客户端程序有人称为native开发,这是从互联网开发角度看。

  程序设计=数据结构+算法+编程语言。虽然编程语言属于编译器和计算机底层逻辑的顶层表达,虽都脱胎于图灵机原理、汇编语言,但经过这么多年的发展,每一种语言都构筑了属于自己惯常的领域一整套复杂的框架、工具链:

C#:Windows PC程序等。

Java:Android移动端开发,Web应用开发等。

C++:服务器端开发、系统软件等。

JS:前端开发等。

Python:机器学习训练、机器学习推理、Web爬虫应用。

……

嵌入式客户端开发可以说是伪命题,每种客户端程序开发其实都必须依赖于底层的基础设施,下面由底层到顶层看一遍:

1、裸机。裸机的客户端程序开发基本依赖于成熟的Graphics Library(嵌入式GUI图形库),难以想象做应用的人自己通过纯C开发出GUI。这些纯C开发的Graphics Library有:emWin(STemWin)、Microwindows 、MiniGui等。

2、RTOS。RTOS和裸机在客户端程序开发上基本上一致,都是C语言跑起。

3、Embedded Linux。C++框架类的工具是主流。这是个微软进不来、谷歌不擅长、苹果没兴趣的”蛮荒之地“,嵌入式客户端碎片化、无序生态环境,恐怕没多少大公司有兴趣去开发类似Android SDK、Object-c类似的工具占领市场。X Window、Qt。

4、移动端。实际上这个已经异变了,发展历程像极了PC端。PC端萌出阶段开发难度、缺乏工具程度类似于现在的嵌入式Linux。后来随着苹果、谷歌等公司的强力加码(诺基亚那套东西就是没有学习微软在PC端的优秀做法),开发工具和生态环境得到极大发展。又创造出了一个新的客户端大环境,且程序员数量有逼杀PC端的态势。这就是嵌入式软件领域在某个单项标准化、统一化后爆发的实力。当然还是有人继续用着生产力底下、小众的工具开发着产品用户不到数百人的Qt界面软件,还美名其曰对底层更了解。其实Qt公司何尝不想像谷歌对Java的改造那样构建起一套生产力极大、开发者众多的平台,奈何嵌入式碎片化太严重。

猜你喜欢

转载自blog.csdn.net/z3256789/article/details/83683861