目录(哈喽,上位机)
注:本书目前在创作阶段,完成的章节会以蓝色超链接文字显示。
一、前言
1.1-什么是上位机,什么是下位机?
1.2-上位机开发应该选择哪个编程语言?
1.3-上位机开发应该选择哪个开发平台?
1.4-什么是面向过程设计,什么是面向对象设计,什么是面向对象编程思想?
1.5-在公司被称作“某工”,一起来了解上位机程序员都和哪些人打交道
1.6-程序员必须要会“英语”吗?(会英语在编程中的优势)
1.7-工控上位机软件开发平台介绍
二、通信
2.1-关于串口上位机编程你需掌握的背景知识
2.2-使用Qt开发串口小助手(含步骤和源码)
2.3-使用C#Winform开发串口小助手(含步骤和源码)
2.4-网络通信编程你需要掌握的背景知识
2.5-使用Qt开发Tcp/Udp网络小助手(含步骤和源码)
2.6-使用C#Winform开发Tcp/Udp网络小助手(含步骤和源码)
2.7-局域网查找设备的原理
2.8-局域网查找设备时有虚拟网卡干扰的编程处理方法(网络UDP广播包发不出去)
2.9-局域网查找设备的实现代码(支持有虚拟网卡)
2.10-上位机软件怎样选择合适的通信方式?
三、私有协议定制
3.1-上位机与下位机私有协议设计与封包设计(CRC校验算法)
3.2-上位机与下位机的“私有协议”通信构架设计
3.3-上位机与下位机通信构架源代码编写与使用方法说明
四、软件功能规划与UI设计
4.1-了解软件是怎样一步一步设计出来的,最完整的软件开发流程
4.2-软件开发中,“思维导图”的作用与绘制方法介绍
4.3-软件开发中,“原型图”的作用与绘制方法介绍
4.4-软件开发中,“UI设计图”的作用与绘制方法介绍
4.5-那些漂亮软件是怎么做出来的?为啥自己做的好丑
五、对UI开发框架的解读
5.1-整个ui控件的理解
5.2-消息传递理解
5.3-ui线程的理解
5.4-各个控件的继承关系的理解
5.5-对整个ui开发框架的一个解析
六、自定义控件原理与方法
6.1-什么时候需要自定义控件
6.2-自定义控件的基本原理
6.3-设计原理,绘制方法,鼠标交互,键盘交互(DoubleRangeSlider)
6.4-自定义波形现实控件,为啥不用现成的
6.5-波形控件开发
七、为何要用多线程开发
7.1-讲出面临的问题,如果不用多线程
7.2-将多线程设计程序的构架
7.3-讲多线程使用的一些经验
7.4-计算线程与ui线程的交互方法
7.5-列举计算并现实进度对话框的例子
八、软件框架
8.1-软件代码构架设计的意义与背景(成为高级程序员必经之路):要 着重写
8.2-源码“目录结构”命名规范与“文件名、函数名、变量名”命名规范
8.3-写代码必须要写注释吗?(为什么现实中不写注释?)
8.1-这里引入并加入一些设计模式
8.2-软件开发框架mvp
8.3-模块设计与构架
8.4-数据结构设计与内存模型
8.5-大型上位机软件结构设计,与这样设计的原因优点
8.6-模块化设计与解除耦合的意义与方法
九、文件读写
9.1-保存工程文件的原理与文件格式设计
9.2-实现保存工程文件
9.3-实现打开工程文件
9.4-配置文件读写
9.5-Xml文件读写
十、数据库的使用
10.1-介绍各个数据库的使用场合与特点
10.2-数据库开发Mysql
10.3-Sqlite
十一、网络接口请求
11.1-上位机为什么要使用Http通信
11.2-Http网络请求接口开发
11.3-json在http通信中使用
11.4-软件内嵌浏览器显示动态更新的网页
十二、其它功能
12.1-关于软件版本号,你所不知的设计思想
12.2-MacOS下打包QT应用程序为DMG包,看这一篇就足够了(包括第三方Lib库)
12.3-Windows下使用NSIS打包QT应用程序安装包,看这一篇就足够了(包括第三方Lib库)
12.4-在Qt中使用Log4Qt输出Log文件,看这一篇就足够了
12.5-使用Qt实现跨平台C++崩溃捕获,看这一篇就足够了(Breakpad)
12.6-在C#Winform开发中使用Log4Net输出Log文件,看这一篇就足够了(包括奔溃捕获)
12.7-在Qt开发中,实现动态切换中英的完整教程
12.7-在c#winform开发中,实现动态切换中英的完整教程
12.9-简单的软件注册码设计与实现
12.10-代码管理与git的使用
十三、应用小工具开发
13.1-自己开发一个“单片机烧写工具”!不是开玩笑吧?原来如此^~^(OTA升级)
13.2-“制作一款私有IAP串口下载小工具”之串口IAP的通信协议设计
13.3-“制作一款私有IAP串口下载小工具”之上位机软件设计说明(包含源码)
13.4-“制作一款私有IAP串口下载小工具”之STM32的Bootloader设计说明
13.5-“制作一款私有IAP串口下载小工具”之STM32的Bootloader代码编写(包含源码)