System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及计算机,具体地,涉及一种基于设计稿自适应的应用软件开发方法和一种电子设备。
技术介绍
1、软件一般是用某种程序设计语言来实现的,通常可以分为系统软件和应用软件。应用软件是指为了完成商业、生活等方面的某项或某几项特定任务而被开发的软件,可以使用多种高级语言编写。
2、目前,相关的应用软件开发方法均存在着难度较大、开发效率低下等问题。
技术实现思路
1、本申请旨在一定程度上解决相关技术中的技术问题之一。为此,本申请提供了一种基于设计稿自适应的应用软件开发方法和一种电子设备。
2、作为本申请的第一个方面,提供一种基于设计稿自适应的应用软件开发方法,用于用户设备,其中,所述方法包括:
3、获取应用开发端提供的目标文件以及应用容器的可执行代码;其中,所述应用容器是所述应用开发端对预设的应用运行时进行封装处理所获得的,以使得获得的所述应用容器适配于所述用户设备的开发环境;所述目标文件是所述应用开发端根据接收到的用户界面的原始设计稿确定的,所述目标文件至少包括符合应用规范的文件;
4、通过执行所述可执行代码,在所述应用容器中调用所述应用运行时来将所述目标文件渲染为可交互的用户界面。
5、可选地,所述应用运行时中集成有预设的布局引擎和渲染引擎;所述通过执行所述可执行代码,在所述应用容器中调用所述应用运行时来将所述目标文件渲染为可交互的用户界面,包括:
6、通过执行所述可执行代码,在所述应用容器中调用所述应用运行时,从
7、调用所述布局引擎,对所述初始数据模型进行布局处理,获得预处理数据模型;
8、根据所述预处理数据模型,生成渲染指令;
9、调用所述渲染引擎,执行所述渲染指令,显示可交互的用户界面。
10、可选地,所述设计内容文件为树形数据结构,每棵树代表一个页面,每棵树包括母版节点和/或实例节点,每个所述实例节点指向当前树上的或其他树上的一个所述母版节点;各所述节点均代表相应页面上的部分内容信息;所述对所述初始数据模型进行布局处理,获得预处理数据模型,包括:
11、对于各所述实例节点,根据该实例节点的数据及其所指向的母版节点的数据,对该实例节点进行展开布局处理;
12、根据所述初始数据模型以及各所述母版节点所对应的实例节点的设计尺寸信息,对各所述母版节点及其所对应的实例节点的设计尺寸信息进行平衡布局处理;
13、根据所述初始数据模型和当前的应用运行尺寸信息,对展开布局处理及平衡布局处理后的各所述母版节点和各所述实例节点进行适配布局处理,获得所述预处理数据模型。
14、可选地,所述应用运行时中还集成有预设的脚本执行引擎,所述目标文件还包括接收到的用于实现用户界面业务功能的业务逻辑代码,所述脚本执行引擎用于执行所述业务逻辑代码;
15、在所述通过执行所述可执行代码,在所述应用容器中调用所述应用运行时来将所述目标文件渲染为可交互的用户界面之前,所述方法还包括:
16、通过执行所述可执行代码,在所述应用容器中调用所述应用运行时,配置所述脚本执行引擎的启动参数,并创建用于运行所述脚本执行引擎的子线程;其中,所述子线程在退出所述应用运行时的情况下结束;
17、将所述应用运行时的软件开发工具包sdk所提供的应用编程接口api封装为解释型脚本语言javascript对象,并将所述javascript对象添加到所述脚本执行引擎的环境上下文中。
18、可选地,在所述调用所述渲染引擎,执行所述渲染指令,显示可交互的用户界面之后,所述方法还包括:
19、在接收到外部输入的用户界面交互指令的情况下,根据所述用户界面交互指令和所述业务逻辑代码确定出当前用户代码;
20、调用所述脚本执行引擎执行所述当前用户代码,以调用所述应用编程接口来对所述预处理数据模型进行更新;
21、根据更新后的所述预处理数据模型,生成更新后的渲染指令;
22、调用所述渲染引擎,执行所述更新后的渲染指令,显示更新后的可交互的用户界面。
23、作为本申请的第二个方面,提供一种基于设计稿自适应的应用软件开发方法,用于应用开发端,其中,所述方法包括:
24、根据接收到的用户界面的原始设计稿,确定出至少包括符合应用规范的文件的目标文件;
25、对预设的应用运行时进行封装处理,获得适配于目标开发环境的应用容器;
26、编译得到所述应用容器的可执行代码;
27、将所述目标文件以及所述应用容器的可执行代码提供给用户设备,以供所述用户设备通过执行所述可执行代码,在所述应用容器中调用所述应用运行时来将所述目标文件渲染为可交互的用户界面。
28、可选地,所述将所述目标文件以及所述应用容器的可执行代码提供给用户设备,包括:
29、根据初始网页应用开发项目文件、所述目标文件以及所述应用容器,构建网页格式文件;其中,所述网页格式文件中携带有所述目标文件以及所述应用容器的可执行代码两者的资源地址信息;
30、在接收到所述用户设备的、携带有所述资源地址信息的浏览器应用访问指令的情况下,将所述目标文件以及所述应用容器的可执行代码加载给所述用户设备。
31、可选地,所述将所述目标文件以及所述应用容器的可执行代码提供给用户设备,包括:
32、根据初始原生应用开发项目文件和所述应用容器,确定目的应用开发项目文件;
33、基于所述目的应用开发项目文件编译得到可执行文件;其中,所述可执行文件中至少包括所述应用容器的可执行代码;
34、在接收到所述用户设备的应用安装指令的情况下,将所述目标文件以及所述应用容器的可执行代码发送至所述用户设备。
35、可选地,所述目标文件还包括接收到的用于实现用户界面业务功能的业务逻辑代码;所述根据接收到的用户界面的原始设计稿,确定出至少包括符合应用规范的文件的目标文件,包括:
36、对所述原始设计稿进行解析处理,获得设计稿内容信息;其中,所述设计稿内容信息包括页面的组织结构信息、所述页面的内部元素的绘制信息和布局信息、各所述内部元素之间的关系信息;
37、按照预设的应用规范对所述设计稿内容信息进行转换处理,获得所述符合应用规范的文件;
38、根据所述符合应用规范的文件和所述业务逻辑代码,确定出所述目标文件。
39、作为本申请的第三个方面,提供一种电子设备,其中,所述电子设备包括:
40、一个或多个处理器;
41、存储器,其上存储有一个或多个计算机程序,当所述一个或多个计算机程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本申请第一个方面或第二个方面所述的基于设计稿自适应的应用软件开发方法。<本文档来自技高网...
【技术保护点】
1.一种基于设计稿自适应的应用软件开发方法,用于用户设备,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述应用运行时中集成有预设的布局引擎和渲染引擎;所述通过执行所述可执行代码,在所述应用容器中调用所述应用运行时来将所述目标文件渲染为可交互的用户界面,包括:
3.根据权利要求2所述的方法,其特征在于,所述设计内容文件为树形数据结构,每棵树代表一个页面,每棵树包括母版节点和/或实例节点,每个所述实例节点指向当前树上的或其他树上的一个所述母版节点;各所述节点均代表相应页面上的部分内容信息;所述对所述初始数据模型进行布局处理,获得预处理数据模型,包括:
4.根据权利要求2所述的方法,其特征在于,所述应用运行时中还集成有预设的脚本执行引擎,所述目标文件还包括接收到的用于实现用户界面业务功能的业务逻辑代码,所述脚本执行引擎用于执行所述业务逻辑代码;
5.根据权利要求4所述的方法,其特征在于,在所述调用所述渲染引擎,执行所述渲染指令,显示可交互的用户界面之后,所述方法还包括:
6.一种基于设计稿自适应的应用
7.根据权利要求6所述的方法,其特征在于,所述将所述目标文件以及所述应用容器的可执行代码提供给用户设备,包括:
8.根据权利要求6所述的方法,其特征在于,所述将所述目标文件以及所述应用容器的可执行代码提供给用户设备,包括:
9.根据权利要求6-8中任一项所述的方法,其特征在于,所述目标文件还包括接收到的用于实现用户界面业务功能的业务逻辑代码;所述根据接收到的用户界面的原始设计稿,确定出至少包括符合应用规范的文件的目标文件,包括:
10.一种电子设备,其特征在于,所述电子设备包括:
...【技术特征摘要】
1.一种基于设计稿自适应的应用软件开发方法,用于用户设备,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述应用运行时中集成有预设的布局引擎和渲染引擎;所述通过执行所述可执行代码,在所述应用容器中调用所述应用运行时来将所述目标文件渲染为可交互的用户界面,包括:
3.根据权利要求2所述的方法,其特征在于,所述设计内容文件为树形数据结构,每棵树代表一个页面,每棵树包括母版节点和/或实例节点,每个所述实例节点指向当前树上的或其他树上的一个所述母版节点;各所述节点均代表相应页面上的部分内容信息;所述对所述初始数据模型进行布局处理,获得预处理数据模型,包括:
4.根据权利要求2所述的方法,其特征在于,所述应用运行时中还集成有预设的脚本执行引擎,所述目标文件还包括接收到的用于实现用户界面业务功能的业务逻辑代码,所述脚本执行引擎用于执行...
【专利技术属性】
技术研发人员:李超亚,
申请(专利权)人:杭州昄达网络科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。