[Flutter新手村] 入村攻略—前言和环境安装

605 阅读5分钟

性感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的架构图:

framework层的widgets直接驱动Engine层的Skia进行绘制图形,是不是有点android/ios原生架构的感觉,真正的“没有中间商赚差价”,性能和体验自然接近原生啦。

  • 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。

  1. 打开工程要存放的位置,命令行

    flutter create myapp
    

    就会创建一个myapp的flutter应用

  2. 通过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工程就能顺利跑起来啦。

今天先写到这里,新手村任务一完成了,准备接新的任务!

觉得不错就三连一下吧~