2018-12-24 10:49:38 +08:00
|
|
|
|
# GuiLite - 最小UI框架
|
2018-12-17 15:51:00 +08:00
|
|
|
|
- [功能介绍](#功能介绍)
|
|
|
|
|
- [实例程序](#实例程序)
|
|
|
|
|
- [开发文档](#开发文档)
|
2019-01-23 23:30:37 +08:00
|
|
|
|
- [学习方法](#学习方法)
|
2018-12-17 22:19:38 +08:00
|
|
|
|
- [视频链接](#视频链接)
|
2018-12-17 15:51:00 +08:00
|
|
|
|
- [致谢](#致谢)
|
|
|
|
|
***
|
|
|
|
|
## GuiLite是什么鬼?
|
2019-01-29 11:38:04 +08:00
|
|
|
|
- GuiLite(超轻量UI框架)是5千行代码的**全平台UI框架**,可以完美运行在iOS,Android,Windows(包含VR),Mac,和**市面所有的 ARM Linux物联网终端设备**上。
|
|
|
|
|
- GuiLite与操作系统无关,甚至也可以运行在无OS的单片机环境。
|
2018-09-03 14:45:08 +08:00
|
|
|
|
- GuiLite可以嵌入在iOS、Android、MFC、QT等其他UI系统中,让你的界面集百家之长,又不失个性。
|
2018-12-17 15:51:00 +08:00
|
|
|
|
- GuiLite鼓励混合编程,开发者可以用GuiLite接管UI部分,用Swift,Java,Go,C#,Python开发业务部分。
|
2019-02-01 23:05:43 +08:00
|
|
|
|
- ⚠️不鼓励大家全盘接受GuiLite,更愿意大家掌握UI的核心原理
|
|
|
|
|
- ⚙️希望GuiLite小到足够帮助大家掌握UI工作原理,从而摆脱UI框架的束缚,构建自己独一无二的UI
|
|
|
|
|
- 👑任何UI框架都不为你我而生,你才是自己真正的主人
|
2018-12-17 15:51:00 +08:00
|
|
|
|
|
2019-01-31 15:01:03 +08:00
|
|
|
|
## 新功能:在单片机上运行“波形/粒子”效果 -- HelloWave + HelloParticle
|
|
|
|
|
![HelloWave](doc/HelloWave.gif) ![HelloParticle](doc/HelloParticle.gif)
|
2019-01-29 15:28:44 +08:00
|
|
|
|
- 单片机硬件配置:STM32F103ZET6(512K ROM,64K RAM) + 240*320 16位TFT屏
|
|
|
|
|
- 单片机软件配置:无操作系统 + GuiLite
|
2019-01-31 17:09:20 +08:00
|
|
|
|
- Hello Wave 仅有[100+行代码](https://gitee.com/idea4good/GuiLiteSamples/blob/master/HelloWave/UIcode/UIcode.cpp),用于向开发者展示:如何使用GuiLite进行“波形”效果的开发。
|
|
|
|
|
- Hello Particle 仅有[100-行代码](https://gitee.com/idea4good/GuiLiteSamples/blob/master/HelloParticle/UIcode/UIcode.cpp),用于向开发者展示:如何使用GuiLite进行“粒子”效果的开发。
|
2019-01-23 23:30:37 +08:00
|
|
|
|
- [1分钟“无痛”移植到任意单片机平台?](https://gitee.com/idea4good/GuiLiteSamples/blob/master/HelloWave/README.md#How-to-port-on-any-MCU-)
|
2019-01-21 15:46:17 +08:00
|
|
|
|
- 该实例亦可支持Windows和Linux平台
|
2018-09-03 14:45:08 +08:00
|
|
|
|
|
2018-12-17 15:51:00 +08:00
|
|
|
|
## 功能介绍
|
|
|
|
|
### 卓越的跨平台能力
|
2018-02-10 16:27:32 +08:00
|
|
|
|
在Mac, iOS下的运行效果:
|
2018-01-04 11:36:20 +08:00
|
|
|
|
|
2018-02-10 16:27:32 +08:00
|
|
|
|
![Mac](doc/Mac.gif) ![iOS](doc/Ios.landscape.gif)
|
2018-01-04 11:36:20 +08:00
|
|
|
|
|
|
|
|
|
在Android,嵌入式ARM Linux下的运行效果:
|
|
|
|
|
|
2017-12-28 12:49:16 +08:00
|
|
|
|
![Android](doc/Android.gif) ![Linux](doc/Linux.gif)
|
2017-12-15 22:57:26 +08:00
|
|
|
|
|
2019-01-18 10:59:13 +08:00
|
|
|
|
在Windows混合现实,及单片机下的运行效果:
|
2018-12-02 22:39:43 +08:00
|
|
|
|
|
2019-01-21 15:27:11 +08:00
|
|
|
|
![Win MR](doc/WinMR.gif) ![MCU](doc/MCU.gif)
|
2017-12-06 21:43:47 +08:00
|
|
|
|
|
2018-12-17 15:51:00 +08:00
|
|
|
|
### 万国语和墙纸
|
2019-01-11 11:22:13 +08:00
|
|
|
|
- 墙纸:
|
2018-12-02 22:39:43 +08:00
|
|
|
|
![unicode](doc/wallpaper.jpg)
|
|
|
|
|
|
2019-01-11 11:22:13 +08:00
|
|
|
|
- 万国语(unicode):
|
2018-12-02 22:39:43 +08:00
|
|
|
|
![unicode](doc/unicode.jpg)
|
|
|
|
|
|
2019-01-11 11:22:13 +08:00
|
|
|
|
- [如何制作多种文字/位图资源?](https://github.com/idea4good/GuiLiteToolkit)
|
2018-01-04 11:36:20 +08:00
|
|
|
|
|
2018-12-17 15:51:00 +08:00
|
|
|
|
### “换肤”功能
|
2018-10-04 14:30:29 +08:00
|
|
|
|
![multi-theme](doc/multi-theme.png)
|
|
|
|
|
|
2018-12-17 15:51:00 +08:00
|
|
|
|
[如何“换肤”?](https://gitee.com/idea4good/GuiLiteSamples/blob/master/HostMonitor/SampleCode/source/resource/resource.cpp)
|
2018-10-04 14:30:29 +08:00
|
|
|
|
|
2018-12-17 15:51:00 +08:00
|
|
|
|
### 自我监控
|
2019-01-11 11:22:13 +08:00
|
|
|
|
- **上报“编译/运行”情况至“云端”:**
|
2018-10-04 14:30:29 +08:00
|
|
|
|
|
|
|
|
|
![BuildInfo](doc/BuildInfo.png)
|
|
|
|
|
|
2019-01-11 11:22:13 +08:00
|
|
|
|
- **同步“本地数据”至“云端”:**
|
2018-10-04 14:30:29 +08:00
|
|
|
|
|
|
|
|
|
![DataOnCloud](doc/data_on_cloud.png)
|
2017-12-06 21:43:47 +08:00
|
|
|
|
|
2018-12-17 15:51:00 +08:00
|
|
|
|
## 实例程序
|
|
|
|
|
GuiLite只是一个框架,本身并不能生成UI。为了能够展示如何用GuiLite开发App,我们提供了一些实例程序给大家参考。
|
|
|
|
|
- 点击[这里](https://gitee.com/idea4good/GuiLiteSamples)预览UI效果。
|
|
|
|
|
- 实例程序的功能说明:
|
|
|
|
|
|
|
|
|
|
| 实例名称 | 支持的平台 | 功能简介 | 编译方法 | 难度 |
|
|
|
|
|
| --- | --- | --- | --- | --- |
|
|
|
|
|
| HelloGuiLite | Windows, Linux | 初始化GuiLite,加载资源,布局界面元素,按钮响应 | [编译/运行](https://gitee.com/idea4good/GuiLiteSamples/blob/master/HelloGuiLite/README.md) | 初级 |
|
|
|
|
|
| HelloFont | Windows, Linux | 显示多种语言(不限:中、英文) | [编译/运行](https://gitee.com/idea4good/GuiLiteSamples/blob/master/HelloFont/README.md) | 初级 |
|
2018-12-24 10:39:41 +08:00
|
|
|
|
| HelloAnimation | Windows, Linux | 动画的应用 | [编译/运行](https://gitee.com/idea4good/GuiLiteSamples/blob/master/HelloAnimation/README.md) | 初级 |
|
2019-01-31 17:09:20 +08:00
|
|
|
|
| HelloParticle | Windows, Linux, STM32F103, STM32F429 | 粒子效果的应用 | [编译/运行](https://gitee.com/idea4good/GuiLiteSamples/blob/master/HelloParticle/README.md) | 初级 |
|
2018-12-17 15:51:00 +08:00
|
|
|
|
| HelloSlide | Windows, Linux | 滑屏界面的应用 | [编译/运行](https://gitee.com/idea4good/GuiLiteSamples/blob/master/HelloSlide/README.md) | 中级 |
|
2019-01-31 17:09:20 +08:00
|
|
|
|
| HelloWave | Windows, Linux, STM32F103, STM32F429 | 波形控件的应用 | [编译/运行](https://gitee.com/idea4good/GuiLiteSamples/blob/master/HelloWave/README.md) | 中级 |
|
2018-12-17 15:51:00 +08:00
|
|
|
|
| HostMonitor | iOS, Mac, Android, Windows, Linux | 创建复杂界面,扩展自定义控件,适配全平台 | [编译/运行](https://gitee.com/idea4good/GuiLiteSamples/blob/master/HostMonitor/README.md) | 高级 |
|
2019-01-23 23:30:37 +08:00
|
|
|
|
|
2017-12-18 11:47:05 +08:00
|
|
|
|
## 开发文档
|
2018-12-17 15:51:00 +08:00
|
|
|
|
- [如何编译?](doc/HowToBuild.md)
|
|
|
|
|
- [设计原理](doc/CodeWalkthrough-cn.md)
|
|
|
|
|
- [UML示意图](doc/UML.md)
|
|
|
|
|
- [如何布局UI?](doc/HowLayoutWork.md)
|
|
|
|
|
- [如何传递消息?](doc/HowMessageWork.md)
|
2017-12-06 21:43:47 +08:00
|
|
|
|
|
2019-01-23 23:30:37 +08:00
|
|
|
|
## 学习方法
|
|
|
|
|
1. **外围** - 成功编译GuiLite库
|
|
|
|
|
2. **前戏** - 成功运行HelloXXX实例程序
|
|
|
|
|
3. **交流** - 研读/修改100+行的`HelloXXX/UIcode/UIcode.cpp`源代码
|
|
|
|
|
4. **深交** - 研读`gui`目录下的代码
|
|
|
|
|
5. **攻核** - 研读`core`目录下的代码
|
|
|
|
|
6. **分家** - 丰富,扩展自己的UI功能
|
|
|
|
|
|
2018-06-11 15:02:29 +08:00
|
|
|
|
## 视频链接:
|
2018-12-17 15:51:00 +08:00
|
|
|
|
- [GuiLite简介](https://v.youku.com/v_show/id_XMzA5NTMzMTYyOA)
|
|
|
|
|
- [3D GuiLite](https://v.youku.com/v_show/id_XMzYxNTE3MTI0MA)
|
2019-01-11 12:25:19 +08:00
|
|
|
|
- [GuiLite + 单片机](https://v.youku.com/v_show/id_XNDAwNzM5MTM3Ng)
|
2018-01-04 11:36:20 +08:00
|
|
|
|
|
2018-06-11 15:02:29 +08:00
|
|
|
|
## GitHub链接
|
2018-01-04 11:36:20 +08:00
|
|
|
|
[GitHub链接](https://github.com/idea4good/GuiLite)
|
2018-12-02 22:39:43 +08:00
|
|
|
|
|
|
|
|
|
## 致谢
|
|
|
|
|
### 感谢开发者群的所有同学,是你们塑造了今天的GuiLite!也欢迎新的大神/小白加入我们。
|
2018-12-02 22:44:25 +08:00
|
|
|
|
![QQ group: 527251257](doc/qq.group.jpg)
|
2018-12-02 22:39:43 +08:00
|
|
|
|
### 感谢来自码云用户的捐赠,您的每一分钱都会用来帮助急需帮助的中国儿童或家庭。
|
|
|
|
|
|