1. 万物互联时代应用开发的挑战与机遇
UI开发经历PC时代、移动互联网时代 和 万物互联时代,从传统的C/S开发方式逐步进化到B/S开发方式,应用开发从单一平台升级到多平台(PC/手机、IOT), 开发者面临诸多挑战:
平台设备多,操作系统多,重复开发
多种语言技术栈,开发门槛高
多种开发框架,多种编程范式,开发成本高
版本众多,更新频繁,维护难度高
为了满足新时代的开发诉求,Evue框架逐步探索升级,采用组件化编程模式,通过强大的evue编译器实现多语言多架构的代码生成,满足不同平台不同设备的开发需求,用户只需要维护一套evue代码,即可实现跨平台开发,采用小程序理念,实现界面程序在线热更新,满足快速迭代需求。
2. EVUE应用开发的核心理念
2.1 基于HTML和CSS
用户只需要了解简单的html和css知识,即可快速开发漂亮的UI程序,
2.2 硬件无关 和 OS无关
EVUE 底层UI引擎基于Flutter 和 LVGL, 实现一个evue应用可完美运行在windows/linux/macos/web/ios/android/RTOS多个平台,与硬件无关和OS无关
2.3 一次开发,多端运行
一次开发,多端运行,指的是用户只需要一次开发,即可实现evue小程序多端运行在不同的设备,通过一套代码库高效构建多平台精美应用, 极大的提高用户开发效率,节约开发成本
2.3 原生性能,效率至上
EVUE底层UI渲染引擎基于Flutter和LVGL,性能卓越
Flutter 是Google开源的构建用户界面(UI)工具包,底层绘图引擎基于Skia , 性能媲美原生应用;
LVGL 是面向IOT的轻量级UI引擎,底层基于C语言开发,内存占用低,性能优秀,在IOT领域应用极其广泛
EVUE 框架自身采用编译时代码生成技术,非运行时动态渲染技术,极大的减少了运行时的性能消耗;
EVUE 框架原生支持MVVM, 数据驱动UI, 用户无需关心手动操作UI, 极大提高开发效率
2.4 组件编程,自由拓展
EVUE框架自身构建在组件之上,一切皆为组件,任意一个evue文件就是一个组件,用户基于内置的原生组件可以自由组合成各种自定义的高级组件,可复用到任意项目中,用户自由设计。
3. EVUE应用开发语言的支持
python是一种通用编程语言, Python几乎可以创建所有类型的软件,常年霸占语言排行榜第一
javascript 是浏览器开发的首选语言,拥有强大的社区生态,拥有React/Vue/Angular/Svelte等众多优秀的开发框架,开发者众多, 在UI开发上拥有得天独厚的优势。
4.EVUE应用框架
4.1 evue文件组成
描述UI布局
javascript用户业务逻辑代码
4.2 evue 框架原理
本质上 evue框架本身与UI引擎是解耦的
evue for flutter
evue for lvgl
evue for qt
evue for pyside2
evue for ...
evue 可以与任意UI引擎进行适配,只需要按照evue适配规范实现相应的sdk即可;
5.EVUE应用开发工具套件
5.1 evue sdk
evue python sdk
evue javascript sdk
5.2 evue designer设计器
Evue Designer 是一款通用的低代码UI设计器,支持自由拖拽组件、可视化数据绑定和可视化事件绑定,内置多终端模拟器,快速预览,所见所得!支持一键导出windows/linux/macos/web/ios/android/RTOS的跨平台evue小程序。
5.2.1 设计器理念
面向开发者,辅助开发者极限效率开发应用,专注设计和代码生成
面向社区,任何开发者均可分享自己设计的组件或应用
自动生成的代码具有极高的可读性,与用户手写基本无差异,用户手动修改evue文件后可以再次设计,不会影响用户代码
支持无限多层次嵌套组合,遵从开发者心智,非设计师
支持用户自定义默认组件样式,高度个性化定制
支持evue多语言编译,满足不同的编译需求
支持设计器自举,用设计器拖拽生成设计器
5.2.2 设计器组件支持
基础组件:
image
text
textfield
textarea
button
iconbutton
checkbox
switch
progress
slider
combobox
counter
qrcode
canvas
布局组件
p
row
column
listview
listitem
grid
tabview
tab
自定义组件
用户自定义
5.2.3 设计一个简单的计算器
拖拽生成计算器
Py预览
web预览
evue 模拟器
PC端运行
web端运行
RTOS端
5.4 evue编译器
evue编译器是专门为evue文件设计的跨语言编译器,主要是把evue文件翻译成对应的ui语言文件或者是字节码文件,用于app动态加载!
开源地址:https://gitee.com/scriptiot/evue
页面更新:2024-04-16
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号