加入收藏 | 设为首页 | 会员中心 | 我要投稿 河北网 (https://www.hebeiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 业界 > 正文

两个星期,用Flutter撸个APP

发布时间:2019-06-26 06:42:54 所属栏目:业界 来源:Android征途
导读:媒介 Flutter是Google推出的跨平台的办理方案,Slogan是Design beautiful apps,海内也有知名企业在行使和推广,譬喻阿里、美团都有在实行。 小我私人对个中的一些特征,好比JIT、Material Design、快速开拓等很感乐趣,于是抉择实行一下。 于是降生了诗词汇AP

媒介

Flutter是Google推出的跨平台的办理方案,Slogan是“Design beautiful apps”,海内也有知名企业在行使和推广,譬喻阿里、美团都有在实行。

小我私人对个中的一些特征,好比JIT、Material Design、快速开拓等很感乐趣,于是抉择实行一下。

于是降生了诗词汇APP,起首看一下是个什么样的APP。

两个礼拜,用Flutter撸个APP

接下来我们一步步从差异方面说说Flutter的开拓。

开始

FLutter可以在Windows、Linux、Mac长举办开拓,开拓器材可以行使VS Code、Android Studio、IDEA等,本文保举行使Android Studio,首要在于Android Studio提供了FLutter Inspector器材,可以及时检察元素,办理界面的表现适配题目。

搭建开拓情形

搭建情形的首要步调:

  1. 下载SDK,下载地点。
  2. 设置PATH,假如行使Mac可能Linux体系,必然要将bin目次添加到体系PATH。
  3. 设置依靠源镜像,这一步很重要,而且必要将剧本放到启动shell中。
  1. export PUB_HOSTED_URL=https://pub.flutter-io.cn 
  2. export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn 
  1. 执行flutter doctor,这一步耗时会很长,必要耐性等耐。
  2. 安卓开拓器材及插件,设置编辑器。

设置编辑器

首要是给编辑器安装响应的插件。

VS Code安装flutter插件,Android Studio和IDEA必要安装Flutter和Darter插件。

个中Android Studio和IDEA根基一样,跟VS Code的首要区别在于:

  1. VS Code提供了更好的代码提醒成果
  2. IDEA提供了Flutter Inspector,可及时检察页面元素

可按照小我私纪猱好、风俗选择行使。

保举网站

在安装、设置进程中,可参考以下中文资料:

Flutter中国

Flutter中文文档

首要技能点

Dart

Flutter项目标开拓说话是Dart,Dart 是由 Google 开拓的一种面向工具说话,可以编译成 ARM 和 x86 代码直接运行在 iOS、Android 装备上。

保举先辈修Dart说话官方教程,对Dart有起源相识之后再举办Flutter的进修和开拓。

界面开拓

终于可以进入Flutter自己了。

Widget

Flutter中页面全部元素都是Widget,又分为StatelessWidget和StatefulWidget。

顾名思义,StatelessWidget 就是指无可变状态的 Widget,这类 Widget 的状态只由建设 Widget 时传入的参数抉择,一旦建设,其状态、在页面上的展示结果也就不再改变。

而 StatefulWidget 内部则存在着可变状态。当通过setState改变这些状态时,Flutter 会从头渲染该 Widget。

机关

在现实开拓中,首要行使了Row、Column、Container、Expanded、Stack等。

Row、Column提供了程度、垂直偏向的机关,Stack提供了堆叠方法的机关,各类容器有差异的特征,可按照现实页面需求选择搭配差异的机关。

保举进修 官方文档 及 海内维护的中文翻译。

首要插件

话题切回到诗词汇APP,本APP网络了4000余位墨客的30多万首诗词,提供了古诗词的查询、保藏、朗诵成果,而且实现了起源的社区成果。

项目目次布局如下:

两个礼拜,用Flutter撸个APP

开拓这个APP或许用了一个月的业余时刻,天天抽出一两个小时,这样折算为事变日,或许是两个礼拜阁下,开拓服从照旧很高的。

下面跟各人分享一下首要成果及所行使的一些插件。

切换主题

为了实现及时切换主题颜色,行使了状态打点插件。

flutter_redux 。

极光推送

在海内厂商中,极光是少有的对Flutter提供了技能支持的,这里给极光大大的。

jpush_flutter

QQ

QQ的Flutter插件提供了根基的登录、分享成果。

flutter_qq

微信

微信的Flutter插件提供的成果轻微富厚,包括了付出、登录、分享、启动小措施的成果。

fluwx

变乱总线Event Bus

台甫鼎鼎的event_bus也提供了对Flutter的支持。

event_bus

音频

灌音及播放音频也有很好的支持。

audio_recorder audioplayer2

其余

其余诸如加载HTML、Toast提醒、图片选择器、图片加载等也有较好的插件支持。

可在 官方插件库 查询相干的插件。

安装、进级

FLutter的安装、进级会常常碰着卡死的题目,首要缘故起因就是行使了Google的源,可是莫名的,纵然行使了科学上网、配置了海内镜像后,也会碰着同样的题目。只能通过重复的flutter doctor 或 flutter upgrade直到办理题目。

开拓

因为笔者最近一段时刻Android项目做得较多,风俗了Android的XML机关方法,对付在代码中编写页面的情势一开始尚有些不风俗,可是在凭证官方例子实践了几个页面后,用代码写页面的上风就浮现出来了。

在页面已经计划好的环境下,开拓的时辰脑海中就构想出一个Widget树,从根节点到每一个节点一级一级嵌套下去,天然而然的机关就写好了。

Dialog弹出框

行使Dialog的时辰,弹出Dialog的Context及Dialog自己城市压入栈中,以是让Dialog消散的要领是Navigator.of(ctx).pop(),这样的计划既差异于Android也差异于iOS,大概跟Flutter自己全部元素都是Widget的计划有关。

编译

在编译Android版本的时辰很顺畅,没有碰着任何题目。可是在编译iOS版本的时辰,碰着了许多题目,直到此刻也没有办理。

题目在于行使了audio_recorder和flutter_qq两个插件,而这两个插件一个要求编译选项必要配置!use_framework,一个要求不能配置,造成了斗嘴,在现实编译中一向编译不通过。

结语

开拓竣事,最终打包了Release版本的APK,安装得手机后,发明惊喜。

竟然如丝般顺滑,这是我始料未及的,转场结果、页面响应速率不输原生APP。

总而言之,小我私人对Flutter的远景相等看好,事实是Google大厂出品,而且项目自己的迭代速率很快,今朝已经是0.11版本,祈望在不远的未来宣布正式的1.0版本,更祈望海内厂商加大对Flutter的支持力度。

(编辑:河北网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读