基于谷歌Flutter的媒体资讯APP的设计与实现-1608010220-李俊东.docx
《基于谷歌Flutter的媒体资讯APP的设计与实现-1608010220-李俊东.docx》由会员分享,可在线阅读,更多相关《基于谷歌Flutter的媒体资讯APP的设计与实现-1608010220-李俊东.docx(43页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、基于谷歌Flutter框架媒体资讯App的设计与实现摘要:当今社会,随着经济和科技的发展,人们的生活节奏也愈来愈快,人们生活的阅读时间也越来越少,越发的流行碎片化阅读,而同样的对于互联网的客户端开发者,需求的版本迭代也愈发频繁,同一个移动端的App,起码要发行两个平台,同样也因为这不同的平台,不同的系统,导致在寻多的业务场景中,传统的原生开发效率已经满足不了日益增长的业务需求,如Androi端 和 IOS 端 ,一旦需求上的变更,两个平台上都要进行更新,重新发布版本,这对于一个公司两个终端的开发成本都需增加许多的,这其中主要表现为:(1).动态化内容需求增大:当需求发生变化,传统原生应用需要进
2、行版本迭代来更新内容,但应用上架审核都是要周期的。(2).业务需求变化快,开发成本高:由于原生开发一般都要维护Android、iOS两个开发团队,版本迭代时,无论人力成本,还是测试成本都会变大。这样的情况下,开发者们开发App的成本不断上升,上架流程以及版本迭代流程的繁琐,对此很多IT巨头都推出了很多跨平台的框架,如Facebook的React Native,阿里的WEEX,但都因为存在性能上的缺陷和难以实现复杂的操着,从而导致普及率远没有原生开发的普及高,而Google于2015年推出的Flutter跨平台的框架,如今经历了5年多的发展,Flutter自身的许多的问题也不断在修复中,到现在可
3、谓颇为成熟了,因此以此作为跨平台技术的首选框架,开发此类跨平台资讯应用,研究和学习Flutter之时,也为Flutter的软件生态作出一点添砖加瓦,也为广大的IT网民提供一款不受平台系统限制的资讯应用。Flutter媒体资讯App 将实现一个跨平台的媒体资讯阅读软件,是广大的互联用户不拘束于平台的限制,能够随时随地利用碎片化的时间,来浏览阅读资讯,同时作为一个Flutter开发者可以参与学习的开源项目关键词:跨平台,资讯阅读 Design and Implementation of Media Information App Based on Google Flutter FrameworkA
4、bstract: In todays society, with the development of economy and technology, peoples pace of life is becoming faster and faster, peoples reading time is becoming less and less, and fragmented reading is becoming more and more popular. For the same client developers of the Internet, version iterations
5、 are becoming more and more frequent. For the same mobile app, at least two platforms should be released, because of these different platforms, Different systems lead to the fact that traditional native development efficiency can no longer meet the growing business requirements in multiple business
6、scenarios, such as Androi and IOS. Once the requirements are changed, both platforms need to be updated and re released. This will increase the development cost of both terminals of a company. The main performance is as follows:(1) . dynamic content demand increases: when the demand changes, the tra
7、ditional native application needs to carry out version iteration to update the content, but the application on the shelf audit is periodic.(2) . the business demand changes rapidly, and the development cost is high: because the native development generally needs to maintain two development teams, An
8、droid and IOS, when the version is iterated, both the labor cost and the test cost will increase.In this case, the cost for developers to develop apps is rising, and the process of putting them on the shelf and version iteration is tedious. Many IT giants have launched many cross platform frameworks
9、, such as Facebooks react native, Alibabas weex, however, is far less popular than the native development due to its performance defects and difficult to achieve complex operation. However, the cross platform framework of flutter launched by Google in 2015 has experienced more than five years of dev
10、elopment. Many problems of flutter itself are also being repaired, and now it is quite mature, so it is used as a cross platform The first choice framework of technology is to develop this kind of cross platform information application. When researching and learning flutter, it also makes a little c
11、ontribution to the software ecology of flutter and provides an information application that is not limited by the platform system for the majority of it netizens.The flutter media information app will realize a cross platform media information reading software, which is not restricted by the platfor
12、m, and enables the vast number of Internet users to use fragmented time to browse and read information anytime and anywhere.Keywords: News App;Dart;目录第1章 绪论11.1 App的开发背景及意义11.2国内外研究现状21.3系统的主要研究内容31.4系统开发环境与开发工具4第2章 系统需求分析52.1可行性分析52.1.1经济可行性52.1.2技术可行性52.1.3操作可行性52.2 APP的总体需求62.3 App功能的需求分析62.4.1 A
13、pp功能分析62.5 UML系统建模72.5.1用例图72.5.2用例图规约表82.6本章小结15第3章 系统设计163.1 App功能设计163.1.1类的关系图173.2 App顺序图173.3 App活动图223.4 DAO类设计223.5 网络接口设计283.6 本章小结28第4章 App实现294.1界面实现294.2 本章小结32第5章 系统测试335.1 系统测试的目的335.2 系统测试的意义335.3 测试用例及结果335.4 本章小结35第6章 结束语366.1 全文总结366.2 课题展望36参考文献37致 谢38第1章 绪论1.1 App的开发背景及意义 当今社会迅猛发
14、展,信息的流动也越发频繁,人们获取信息的渠道也变多种多样,物联网时代的兴起,移动互联网的如日中天,不同平台,不同系统下的App也层出不穷,同样也因为这不同的平台,不同的系统,导致在寻多的业务场景中,传统的原生开发效率已经满足不了日益增长的业务需求。在这种碎片化阅读流行的时代,通过跨平台框架开发一款跨平台的媒体资讯阅读的应用,为人们带来更加富有内涵,更深层次的碎片化阅读。此App的开发意义旨在在研究和开发基于的Flutter1的媒体资讯应用,以及Flutter开发在广大移动端的应用,对原生开发的影响以及适用性。为什么我们要选择跨平台?如今的移动端已经发展非常的迅猛,同样的,也诞生了许多的移动端的
15、应用开发者,IOS和Android占据了整个移动市场的主流,两个平台系统的差异性,导致一个应用的开发需要用不同的编程语言,不同的编程生态,这对开发者乃至于企业公司来讲,都需要花费更多的成本,对此有没有存在更好的选择呢?答案是存在的,那就是基于跨平台技术框架的开发, 何为跨平台? 是软件开发中一个重要的概念,即不依赖于操作系统,也不信赖硬件环境。一个操作系统下开发的应用,放到另一个操作系统下依然可以运行。 Flutter 是什么? Flutter是一款移动应用程序SDK2,一份代码可以同时生成iOS和Android两个高性能、高保真的应用程序。 Flutter目标是使开发人员能够交付在不同平台上
16、都感觉自然流畅的高性能应用程序。我们兼容滚动行为、排版、图标等方面的差异。 为什么要使用Flutter?1. 提高开发效率(1) 同一份代码开发iOS和Android(2) 用更少的代码做更多的事情(3) 轻松迭代 在应用程序运行时更改代码并重新加载(通过热重载) 修复崩溃并继续从应用程序停止的地方进行调试2. 创建美观,高度定制的用户体验(1) 受益于使用Flutter框架提供的丰富的Material Desig3和Cupertino(iOS风格)的widget(2) 实现定制、美观、品牌驱动的设计,而不受原生控件的限制 基于跨平台Flutter框架开发的媒体资讯应用有如下意义:(1) 研究
17、和进一步推广Flutter应用的开发(2) 给广大网民提供一个不受系统差异影响的媒体资讯应用(3) 为如今正稀缺的Flutter应用生态做出贡献。1.2国内外研究现状目前Flutter作为一种新兴的跨平台的技术框架,与老一辈的跨平台技术框架相比,其通过在不同平台实现一个统一接口的渲染引擎来绘制UI,而不依赖系统原生控件,就使得它可以做到不同平台UI的一致性,能够实现其他跨平台技术框架做不到的复杂的动画交互效果,或者复杂的前端交互。在 StackOverflow 2019 年的全球开发者问卷调查中,Flutter 被选为最受开发者欢迎的框架之一,超过了 TensorFlow 和 Node.js。
18、 图 1.1 StackOverflow2019最受欢迎框架 其在Github上的热度,star数达更是可见开发者对其前景的一片看好 图1.2 flutterGIthub热度 而在Flutter中午官网上线后,Flutter中文网也很快被传播开,百度搜索排名迅速蹿升到前三,截止目前,Flutter中文官网4日PV在7万左右,每日独立访问人数近一万多。在中国,Flutter 的开发者社区非常活跃。社区贡献了大量高质量的技术文章,Flutter 官方文档的翻译,还组织了许多线上线下的活动。在今年 I/O 前举办的全球 Flutter Create 大赛中,来自中国广东的胡泽标凭借一个特别精致的罗盘
19、应用摘得了全球大奖。1.3系统的主要研究内容基于Flutter开发的媒体资讯App主要研究是开发跨平台的媒体资讯阅读应用,使人们不拘束任何平台系统的限制,随时随地用何种系统设备都能够用此应用来阅读媒体资讯将会降低和利润将会提高。用户交互界面、网络数据处理以及本地数据存储是一个完整的App的基本组成部分,所以Flutter媒体资讯App的主要研究内容可以分为以下几步:首先用户交互界面应该如何设计好,如何让用户有一个UI体验,一个APP必须要有良好的用户交互界面,就必须遵从一定的设计,因此本App采用的是Material Design,而在用户交互界面设计上,紧接着的是媒体资讯阅读源的爬取,这里决
20、定的数据采集源有:网易的热点新闻,知乎日报每天的推送,以及果壳科技的文章,以及可供考虑的ReadHub,接着的本地数据的存储,可以用数据库或者第三库的SharedPreference5。1.4系统开发环境与开发工具8GB的win 10 x64操作系统。 Android Studio被作为系统Android客户端的开发工具, Flutter SDK 的版本是1.15.3,dev , 同时通过HttpCannary,Fiddler来抓取网络数据,App 采用的第三库有以下这些:(1) 闲鱼的fish rudex6(2) Rxdart(3) Json序列化json_annotation(4) 事件总
21、线 event_bus(5) 网络请求的Dio(6) 图片缓存的Cached_network_image(7) liquid_pull_to_refresh(8) google_nav_bar第2章 系统需求分析2.1可行性分析2.1.1经济可行性基于Flutter媒体资讯App的设计与实现是本人的毕业设计,从整个App的设计到开发都由本人自己完成,在开发过程设计的爬取的数据都是来自于第三方,还有一些第三方的接口,是只能每天请求固定数次的,如聚合数据和极速数据等提供的API,超过固定的请求就要进行收费,但幸好的是本App暂时只作为毕业设计的演示项目,并不打算商用,且后续打算进行开源,因而经济上
22、暂时还没有太大的阻力,且很多时候爬取数据的API很多也是从官方那边爬取,没有过多进行付费API的请求2.1.2技术可行性该系统作为本人的毕业设计,而本人已修完所有在校课程,且已经利用业余时间不断的学习Flutter技术框架,更有国内开源电子书Flutter 实战7的指导,且通过Google Flutter 开设的学习项目上手演练,以算是具备一定的Flutter开发基础,主要编程语言为Dart8而对于原生平台的语言,我本身以及有过Android开发的经验,可以保证的是能够在解决Android平台的上的适应性和兼容性的问题,而于IOS来说,本人并没有IOS的开发经验也没有相应可供调试的设备,所以I
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Flutter 媒体 资讯 APP 设计 实现 1608010220 李俊东
限制150内