移动端跨平台开发框架flutter的探索与实践(源码)【字数:6735】
随着移动互联网的飞速发展,进入5G时代以来,移动互联网及移动终端已经渗透到社会的各个领域。移动端涌现出一大批简单、易用、美观的高质量APP,这些APP覆盖了生活的方方面面,极大地便利了人们的生活。但是如今移动端面临IOS、Android两家平台独大的局面。传统的原生开发,开发人员需要使用Java或Kotlin语言进行Android端的开发,使用Swift或Objective-C进行IOS端的开发,且需要花费巨大的人力让两端代码实现相同的功能和UI,开发完成后也要同时维护两套代码,这无疑增加了软件的开发成本。为了避免以上情况,使用Flutter等跨平台框架成了目前开发移动端APP的热门选择。
目 录
一、引言 1
(一)课题意义 1
(二)课题意义 1
(三)设计目的 1
二、Flutter框架概述 1
(一)Flutter框架的主要优点 1
1.高开发效率 1
2.高性能 2
3.能够快速构建用户界面 2
4.跨平台 3
(二)Flutter框架的主要缺点 4
1.代码的嵌套 4
2.版本迭代过快 4
3.不能完全摒弃原生代码 4
三、基于Flutter框架的待做清代APP系统概述 4
(一)系统简介 4
(二)同类系统对比 4
(三)开发及运行环境 4
(四)相关开发工具 5
(五)相关技术 5
四、基于Flutter框架的待做清单APP需求及可行性分析 5
(一)需求分析 5
(二)系统功能模块分析 6
1.任务的记录与显示模块 6
2.天气模块 6
3.国际化模块 6
4.主题切换模块 6
(三)系统可行性分析 6
1.技术可行性分析 6
2.经济可行性分析 6
3.主要模块可行性具体分析 6
五、基于Flutter框架的待做清单APP详细设计与具体实现 7
(一)任务的记录与显示模块的具体实 *好棒文|www.hbsrm.com +Q: ¥351916072¥
现 7
1.数据库设计 7
图513 创建任务 8
图514 查询任务 9
图515 删除/修改任务 9
2.业务逻辑设计 9
(二)天气模块的具体实现 11
获取天气数据关键源码如图572所示: 13
图572 请求天气数据 13
(三)国际化模块的具体实现 13
(四)主题模块的具体实现 15
六、总结 17
致谢 18
参考文献 19
一、引言
(一)课题意义
在诸多跨平台框架应用前,Android端和IOS应用开发多为原生开发(Native development),若应用必须同时兼容Android端和IOS端则要分别编写两套代码。原生开发必须相比跨平台开发有着开发周期长、制作费用高昂成本较高的缺点。且随着Android和IOS系统不断的更新升级,系统底层API发生改变,原生应用若要兼容旧系统的同时开发新功能还要付出不小的维护成本。在目前移动互联网竞争异常激烈的大前提下,省时省力的跨平台框架成为了移动开发的新选择。Flutter经过几年的发展,在移动端跨平台领域已经日益成熟。Flutter有望成为未来主流的跨平台开发框架,开发高效、跨平台、性能强等特点非常吸引人,目前将Flutter运用到实际项目中的时机已非常成熟
(二)课题意义
比起原生开发,底层由Dart构建的Flutter框架,一套代码就可以同时在Android和IOS终端上运行,大大缩减了开发周期和维护成本。热重载(hot reload)功能可以帮助开发者在无需重新编译的情况下快速构建UI界面,修改代码后只要点击保存就可以立即更新到界面,仅需几百毫秒。得益于高性能、跨平台的Skia渲染引擎,让Flutter在Android和IOS两个平台都有着媲美原生的性能,可以轻松实现60FPS甚至120FPS的动画效果。
使用Flutter框架开发移动应用符合目前跨平台开发的趋势,可以作为学习跨平台开发的起点在学习使用Flutter开发的同时也能积累项目经验拓宽自己的知识面,熟悉跨平台应用的开发流程。
(三)设计目的
一个记录待办事项的APP可以更好的帮助人们完成各项任务,所以我将以学习Flutter框架为目的设计一个可供个人使用,跨平台且美观的待办事项APP。在制作项目的过程中深入了解Flutter状态管理插件Provider的具体使用、国际化的实现以及利用Flutter的网络框架请求网络的数据并展示出来。
二、Flutter框架概述
(一)Flutter框架的主要优点
1.高开发效率
基于Dart语言编写的Flutter框架,继承了Dart语言简洁高效的特点,可以用更少的代码做更多的事。Dart语言通过预编译的方式可以生成多个平台的原生代码,涵盖了移动端、Web端和桌面端,借助这一特性Flutter可以编写跨平台的软件,缩短软件的开发周期。在Debug模式中借助Dart语言支持的JIT编译模式,不需要重启应用或重新编译应用就能将代码的改动实时更新到应用界面中,可以帮助开发者更快的调整布局。原理如下图21:
/
图21 开发原理
2.高性能
借助高性能渲染引擎——Skia,原生系统运行的Flutter应用,性能不输于原生应用。Flutter有独立的UI控件库,保证了各平台UI的一致性,摆脱了原生UI控件的限制,可深度定制美观、符合设计需求的UI。Skia的渲染机制独立于原生系统无需与原生系统频繁进行数据交互,减少了原生平台的性能开销,确保了Flutter绘制的UI具有可媲美原生UI的性能和运行效率。Dart虚拟机直接控制Flutter页面的渲染及重绘,在一些与用户交互频繁的场景中,如列表的滚动和滑动等操作,Flutter都可以保持足够的流畅度。
目 录
一、引言 1
(一)课题意义 1
(二)课题意义 1
(三)设计目的 1
二、Flutter框架概述 1
(一)Flutter框架的主要优点 1
1.高开发效率 1
2.高性能 2
3.能够快速构建用户界面 2
4.跨平台 3
(二)Flutter框架的主要缺点 4
1.代码的嵌套 4
2.版本迭代过快 4
3.不能完全摒弃原生代码 4
三、基于Flutter框架的待做清代APP系统概述 4
(一)系统简介 4
(二)同类系统对比 4
(三)开发及运行环境 4
(四)相关开发工具 5
(五)相关技术 5
四、基于Flutter框架的待做清单APP需求及可行性分析 5
(一)需求分析 5
(二)系统功能模块分析 6
1.任务的记录与显示模块 6
2.天气模块 6
3.国际化模块 6
4.主题切换模块 6
(三)系统可行性分析 6
1.技术可行性分析 6
2.经济可行性分析 6
3.主要模块可行性具体分析 6
五、基于Flutter框架的待做清单APP详细设计与具体实现 7
(一)任务的记录与显示模块的具体实 *好棒文|www.hbsrm.com +Q: ¥351916072¥
现 7
1.数据库设计 7
图513 创建任务 8
图514 查询任务 9
图515 删除/修改任务 9
2.业务逻辑设计 9
(二)天气模块的具体实现 11
获取天气数据关键源码如图572所示: 13
图572 请求天气数据 13
(三)国际化模块的具体实现 13
(四)主题模块的具体实现 15
六、总结 17
致谢 18
参考文献 19
一、引言
(一)课题意义
在诸多跨平台框架应用前,Android端和IOS应用开发多为原生开发(Native development),若应用必须同时兼容Android端和IOS端则要分别编写两套代码。原生开发必须相比跨平台开发有着开发周期长、制作费用高昂成本较高的缺点。且随着Android和IOS系统不断的更新升级,系统底层API发生改变,原生应用若要兼容旧系统的同时开发新功能还要付出不小的维护成本。在目前移动互联网竞争异常激烈的大前提下,省时省力的跨平台框架成为了移动开发的新选择。Flutter经过几年的发展,在移动端跨平台领域已经日益成熟。Flutter有望成为未来主流的跨平台开发框架,开发高效、跨平台、性能强等特点非常吸引人,目前将Flutter运用到实际项目中的时机已非常成熟
(二)课题意义
比起原生开发,底层由Dart构建的Flutter框架,一套代码就可以同时在Android和IOS终端上运行,大大缩减了开发周期和维护成本。热重载(hot reload)功能可以帮助开发者在无需重新编译的情况下快速构建UI界面,修改代码后只要点击保存就可以立即更新到界面,仅需几百毫秒。得益于高性能、跨平台的Skia渲染引擎,让Flutter在Android和IOS两个平台都有着媲美原生的性能,可以轻松实现60FPS甚至120FPS的动画效果。
使用Flutter框架开发移动应用符合目前跨平台开发的趋势,可以作为学习跨平台开发的起点在学习使用Flutter开发的同时也能积累项目经验拓宽自己的知识面,熟悉跨平台应用的开发流程。
(三)设计目的
一个记录待办事项的APP可以更好的帮助人们完成各项任务,所以我将以学习Flutter框架为目的设计一个可供个人使用,跨平台且美观的待办事项APP。在制作项目的过程中深入了解Flutter状态管理插件Provider的具体使用、国际化的实现以及利用Flutter的网络框架请求网络的数据并展示出来。
二、Flutter框架概述
(一)Flutter框架的主要优点
1.高开发效率
基于Dart语言编写的Flutter框架,继承了Dart语言简洁高效的特点,可以用更少的代码做更多的事。Dart语言通过预编译的方式可以生成多个平台的原生代码,涵盖了移动端、Web端和桌面端,借助这一特性Flutter可以编写跨平台的软件,缩短软件的开发周期。在Debug模式中借助Dart语言支持的JIT编译模式,不需要重启应用或重新编译应用就能将代码的改动实时更新到应用界面中,可以帮助开发者更快的调整布局。原理如下图21:
/
图21 开发原理
2.高性能
借助高性能渲染引擎——Skia,原生系统运行的Flutter应用,性能不输于原生应用。Flutter有独立的UI控件库,保证了各平台UI的一致性,摆脱了原生UI控件的限制,可深度定制美观、符合设计需求的UI。Skia的渲染机制独立于原生系统无需与原生系统频繁进行数据交互,减少了原生平台的性能开销,确保了Flutter绘制的UI具有可媲美原生UI的性能和运行效率。Dart虚拟机直接控制Flutter页面的渲染及重绘,在一些与用户交互频繁的场景中,如列表的滚动和滑动等操作,Flutter都可以保持足够的流畅度。
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/rjgc/766.html