先不说嵌入式客户端程序开发,先看发展最好的客户端程序开发领域: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的改造那样构建起一套生产力极大、开发者众多的平台,奈何嵌入式碎片化太严重。

嵌入式客户端程序开发大汇总相关推荐

  1. input ios问题 小程序_微信小程序开发常见问题汇总

    原标题:微信小程序开发常见问题汇总 1.域名必须是https 非https的域名不被微信小程序允许. 2.input组件placeholder字体颜色 卸载placeholder-class里面的co ...

  2. ONVIF协议网络摄像机(IPC)客户端程序开发(2):第一次使用IPC摄像头

    ONVIF协议网络摄像机(IPC)客户端程序开发(2):第一次使用IPC摄像头 1. 专栏导读 2. 适合读者 本文只适合第一次拿到IPC摄像头,很好奇该怎么使用IPC的读者.已经玩过IPC的,可以略 ...

  3. ONVIF协议网络摄像机(IPC)客户端程序开发(8):获取设备基本信息

    ONVIF协议网络摄像机(IPC)客户端程序开发(8):获取设备基本信息 1 专栏导读 本专栏第一篇文章「专栏开篇」列出了专栏的完整目录,按目录顺序阅读,有助于你的理解,专栏前面文章讲过的知识点(或代 ...

  4. ONVIF协议网络摄像机(IPC)客户端程序开发使用gSOAP生成ONVIF框架代码(C++)03-->Windows

    其它的不多说,直接开始步骤. 我的版本是2.8.109,目前最新版本. 实际上,onvif的源码是兼容Linux.Windows版本的,例如如果你已经在这篇文章ONVIF协议网络摄像机(IPC)客户端 ...

  5. TCP 客户端程序开发

    TCP 客户端程序开发 1. 开发 TCP 客户端程序开发步骤回顾 创建客户端套接字对象 和服务端套接字建立连接 发送数据 接收数据 关闭客户端套接字 2. socket 类的介绍 导入 socket ...

  6. ONVIF协议网络摄像机(IPC)客户端程序开发(3):理解什么是Web Services

    ONVIF协议网络摄像机(IPC)客户端程序开发(3):理解什么是Web Services 1. 专栏导读 本专栏第一篇文章「专栏开篇」列出了专栏的完整目录,按目录顺序阅读,有助于你的理解,专栏前面文 ...

  7. Windows CE嵌入式系统程序开发

    <Windows CE嵌入式系统程序开发> 基本信息 作者: 胡文    冯剑    姜海涛    胡玥    丛书名: 单片机与嵌入式丛书 出版社:机械工业出版社 ISBN:978711 ...

  8. 标星 2.7w+ 堪称史上最全的微信小程序开发资源汇总

    [公众号回复 "1024",免费领取程序员赚钱实操经验] 2017 年 1 月,微信小程序一夜成名. 微信小程序成名后,各大厂开始效仿,相继出现了支付宝.百度.今日头条.QQ.抖音 ...

  9. TCP 客户端程序开发步骤

    TCP 客户端程序开发 1. 开发 TCP 客户端程序开发步骤回顾 创建客户端套接字对象 和服务端套接字建立连接 发送数据 接收数据 关闭客户端套接字 2. socket 类的介绍 导入 socket ...

最新文章

  1. java培训要学习多久?
  2. 对于生活我选择了无奈
  3. **kwargs特有的作用
  4. ubuntu无线网络开关
  5. IT巨头互掐云存储:Dropbox能否一马当先
  6. 使用create-react-app创建应用并执行npm start时出现events.js:183 throw er的解决方法
  7. leetcode - 62. 不同路径
  8. Linux Socket C语言网络编程:Select Socket
  9. 7-6 A-B (20 分)
  10. mysql数据库可视化_MySql数据库教程 - 4.可视化操作数据库
  11. php ms5解密,「phpmd5解密」解析php混淆加密解密的手段
  12. 计算机毕业设计-网上购书系统【代码讲解+安装调试+文档指导】
  13. html5video拼接屏一部分黑屏,拼接屏常见问题与解决方法
  14. G-05 校验ISBN-10编码 (10 分)
  15. H3C防火墙基础配置1-登录配置、安全域配置
  16. html ul变成三角形,用CSS来画空心三角形的方法
  17. 【转载】AE表达式中英文对照
  18. 杭电2026——首字母变大写
  19. 中小型网站怎样最经济地解决南北互联问题?
  20. SpringBoot 整合实现ActiveMQ

热门文章

  1. 几分钟上线一个项目文档网站,这款开源神器实在太香了!
  2. 在频率域进行音频滤波(Python)
  3. 3.人工智能原理-梯度下降:能改
  4. 最近盯上了一套鼠标和键盘——论坛自动发贴回帖
  5. 第37期Datawhale组队学习——数据可视化(Matplotlib)
  6. 编程:在屏幕中间分别显示绿色、绿底红色、白底蓝色的字符串 'welcome to masm!'...
  7. 物联网新零售项目 售货机“五脏六腑”深度剖析
  8. 微信小程序开发总结与心得
  9. setHeader方法全面复习
  10. 联想智能引擎|我买了一款游戏外设 却叫我普通的外设