性感google在线发码,老乡别走,来玩儿嘛~
前言
作为一个6年的android开发,学过各种乱七八糟神奇的东西,在学flutter的时候也有过很多问题和困惑,曾经也想要完成《从入门到放弃》的新手村任务,但幸好坚持了下来。
万事开头难,想分享一些自己学习的攻略,希望对想要入坑flutter的同学或者遇到问题想要出门左转的同学有一些帮助和启发~
Flutter
what Flutter
Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面。 Flutter可以与现有的代码一起工作。在全世界,Flutter正在被越来越多的开发者和组织使用,并且Flutter是完全免费、开源的。
Why Flutter
简而言之三点:跨平台,体验和性能好,google加持。
- 跨平台
跨平台恐怕是所有公司的终极梦想,once coding, running everywhere,一统天下,多么美妙~
既然是梦想肯定有不少追逐者,这里搬运了当前常用的跨平台技术方案对比,大家体会一下:
技术类型 | UI渲染方式 | 性能 | 开发效率 | 动态化 | 框架代表 |
---|---|---|---|---|---|
H5+原生 | WebView渲染 | 一般 | 高 | 支持 | Cordova、Ionic |
JavaScript+原生渲染 | 原生控件渲染 | 好 | 中 | 支持 | RN、Weex |
自绘UI+原生 | 调用系统API渲染 | 好 | Flutter高, QT低 | 默认不支持 | QT、Flutter |
-
体验和性能好
看下flutter的架构图:
- Google加持
- Google的技术和影响力自然不必说,flutter的文档,开源社区都很优秀。flutter作为android的兄弟团队,跨平台搞事情,支持应该都会好一些,所以对它的发展前景比较看好。
- 那Flutter最终会取代原生吗?我认为肯定不会!
- Flutter对于原生的如相机、蓝牙等硬件无法调用,必须借助原生,客观天然无法替代。
- 苹果和安卓一定会设法保护自己的原生开发人员和生态。 原生开发者需求减少,本身不利于其生态发展。尤其是苹果,一个appstore个人开发者账号$99 / year呢!
我认为,随着flutter技术的成熟和社区的强大,会有一大批的hybrid应用和原生应用转向flutter。你看阿里、头条等大厂都向flutter靠拢了,flutter征程必是一片星辰大海!
新手村任务一:安装环境和创建工程
前面啰嗦那么多,终于要开始了~
建议大家去 Flutter官网按照步骤完成【安装和环境配置】和【编辑工具设定】。选择自己的操作系统(建议使用mac,因为可能需要修改一些ios的配置),根据指南一步步安装就好了,这个地方没啥坑。
- 开发工具选择:android Studio + Xcode。也可以用vsCode 和 Intellij Idea。这里我推荐用的是Intellij Idea,用习惯了挺好用的。
接下来准备创建工程了, 等一下!这里需要先设置一下flutter的国内镜像代理,否则flutter的依赖可能会下载不下来。
linux的环境变量里面添加如下:
打开终端,输入vim .bash_profile,在bash文件里添加如下:
export PUB_HOSTED_URL=https://pub.flutter-io.cn
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
就是把flutter下载以来的地址指向国内的镜像,谁让咱有安全的墙呢。
设置完镜像,可以有两种方式创建app。
-
打开工程要存放的位置,命令行
flutter create myapp
就会创建一个myapp的flutter应用
-
通过AndroidStudio创建
- 菜单中选择“start a new flutter application”
- 选择"Flutter Application",你要是module就选择“Flutter Module”
- 接下来就是设置包名等各种配置,下一步就完事了。
- 最后会开始创建应用,其实就是执行的 flutter create 命令。
这里注意一下,很多人通过AndroidStudio创建flutter Application会一直卡在创建loading的界面无法自拔。解决方法就是强制退出AndroidStudio,如果创建了文件夹和文件,用AndroidStudio打开工程就行了。如果只有空文件夹,建议使用命令行的方式创建工程。
创建好工程,使用IntelliJ Idea打开
使用open的方式打开工程,不要使用import
- 打开后工程界面如下
- 顶部可以选择并启动模拟器,左边ios,右边android,启动模拟器就可以run起工程来了。
注意:如果使用android设备调试,android工程在初始化的时候要下载gradle依赖,国内网络常常下载不下来,所以需要修改一下配置。
打开目录 myapp/andriod/build.gradle文件,它是android工程的配置文件,做如下修改:
图中两处红色框里的repositories的内容替换成如下内容。repositories {
mavenLocal()
jcenter() { url 'https://maven.aliyun.com/repository/jcenter' }
maven { url 'https://maven.aliyun.com/repository/central' }
maven {
url "https://dl.google.com/dl/android/maven2/"
}
maven {
url 'http://maven.aliyun.com/nexus/content/repositories/releases/'
}
}
目的是添加了国内的镜像,这样android工程的依赖就会从国内下载了,做安卓的应该都知道这个哈,这样android工程就能顺利跑起来啦。
今天先写到这里,新手村任务一完成了,准备接新的任务!
觉得不错就三连一下吧~