Flutter开发

https://www.cnblogs.com/zengfp/p/9927860.html

Flutter 是 Google 用以帮助开发者在 iOS 和 Android 两个平台开发高质量原生 UI 的移动 SDK。Flutter 兼容现有的代码,免费且开源,在全球开发者中广泛被使用。

Flutter有以下特点:

Flutter的跨平台开发,在MacOs、Windows、Linux、Android、IOS,甚至可以在谷歌最新的操作系统上Fuchsia进行运行,良好的跨平台开发,可以减少开发成本。Flutter还有一个开发利器‘热刷新’,Hot Reload,在Android Studio中编辑Dart代码后,只需要点击保存或者“Hot Reload”按钮,就可以立即更新到正在运行的设备上,不需要重新编译App,甚至不需要重启App,立即就可以看到更新后的样式。
原生用户界面,带给用户的体验更好,性能更好。flutter渲染引擎依靠跨平台的Skia图形库来实现,依赖系统的只有图形绘制相关的接口,可以在最大程度上保证不同平台、不同设备的体验一致性,逻辑处理使用支持AOT的Dart语言,执行效率也比JavaScript高得多
Flutter开发环境window版:

要安装并运行Flutter,您的开发环境必须满足以下最低要求:

操作系统: Windows 7 或更高版本 (64-bit)
磁盘空间: 400 MB (不包括Android Studio的磁盘空间).
工具: Flutter 依赖下面这些命令行工具.
git for windows (Git命令行工具)

下载Flutter SDK:

由于一些Flutter命令需要联网获取数据,如果您是在国内访问,由于众所周知的原因,直接访问很可能不会成功。 PUB_HOSTED_URL和FLUTTER_STORAGE_BASE_URL是google为国内开发者搭建的临时镜像。先在你的环境变量中添加如下:

开始->控制面板->用户账户->更改我的环境变量->新建

确定后,再新建一个如下:

先在你常用的目录下新建一个文件夹,然后用vscode编辑器打开那个文件夹,进行git下载,输入如下命令:

JLB3610@JLB3610-PC MINGW64 /e/zengfp/flutter
$ git clone -b beta https://github.com/flutter/flutter.git

把flutter下载到flutter文件夹下。下载成功后,继续输入

JLB3610@JLB3610-PC MINGW64 /e/zengfp/flutter
$ export PUB_HOSTED_URL=https://pub.flutter-io.cn

再输入

export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn

最后再输入

export PATH=E:\zengfp\flutter\flutter\bin:$PATH

上面那个红色的路径是flutter文件下载后的bin的路径。根据自己安装的文件路径进行设置。

安装完成后,继续在环境变量Path中设置flutter的路径,注意用;隔开如图:

设置完这些之后,会对后面的依赖下载什么的更加快捷方便。

重启window让上面的设置生效。

然后在flutter文件下面,找到flutter_console.bat文件,双击打开会出现如图,进入到终端

运行flutter doctor 命令以查看是否需要安装任何依赖项来完成安装:

flutter doctor

这个的安装过程会比较慢,而且也容易出现坑。如果你不是通过flutter_console.bat进入的终端进行flutter doctor安装依赖,而是直接在git下直接使用命令flutter doctor安装依赖,就会出现报错,会提示Unknown operating system. Cannot install Dart SDK。

你会看到flutter/bin/cache/dart-sdk文件下为空,没有安装成功。所以需要通过flutter_console.bat进入进行安装,这样才会成功。

Android studio配置

需要安装Android studio 3.0及以上版本和Android SDK,而且还需要Flutter和Dart插件才可以使用

Flie->settings-Browse Repositories

同样的方法安装Dart。

然后开始创建写demo创建文件夹了

之后开始真机调试了,用数据线将电脑与你的手机连接,手机开启USB调试

点击绿色三角形按钮,开启运行

然后在真机上会看到如下图:

这个时候体验下热重载:

修改后保存,在手机迅速看到改变,方便快捷。

VScode中配置

打开vscode,在扩展里面输入flutter,下载这个插件之后重启vscode。

然后在自己创建的flutter项目目录下,输入flutter devices命令

如果出现手机的型号,说明机子连接成功,然后输入以下命令:

复制代码

JLB3610@JLB3610-PC MINGW64 /e/zengfp/flutter/myapp
$ flutter run
Launching lib/main.dart on GIONEE O8 in debug mode...
Initializing gradle... 1.2s
Resolving dependencies... 3.2s
Gradle task 'assembleDebug'... 10.4s
Built build\app\outputs\apk\debug\app-debug.apk.
Installing build\app\outputs\apk\app.apk... 3.5s
Syncing files to device GIONEE O8... 1.8s

Google的跨平台开发高质量原生 UI 的移动 SDK---Flutter免费且开源的更多相关文章

  1. 使用 WordPress 插件模板开发高质量插件

    WordPress 插件样板是标准化的,有组织的,面向对象的基础,用于构建高品质的 WordPress 插件.样板遵循编码标准和文件标准,所以你不必自己学习这些,根据注释编写代码即可. 官方网站    ...

  2. 使用google的guova开发高并发下的接口限流

    使用google的guova开发高并发下的接口限流 使用google的guova进行限流 1.guova的限流方式,在定时产生定量的令牌,令牌的数量限制了流量 2.增加一个订单接口限流类OrderRa ...

  3. 新渲染引擎、自定义设计和高质量用户体验的样例应用 Wonderous 现已开源

    探索世界奇观,并体验 Flutter 的强大之处. Flutter 的愿景是让你能够在空白画布上绘制出不受限制的精美应用.最近,通过与 gskinner 团队的通力合作,我们打造了一个全新的移动应用 ...

  4. 采用Unity快速开发高质量游戏的若干优化建议

    http://files.cnblogs.com/123ing/%E9%87%87%E7%94%A8Unity%E5%BF%AB%E9%80%9F%E5%BC%80%E5%8F%91%E9%AB%98 ...

  5. Flutter 1.0 正式版: Google 的跨平台 UI 工具包

    今天我们非常高兴的宣布,Flutter 的 1.0 版本正式发布!Flutter 是 Google 为您打造的 UI 工具包,帮助您通过一套代码同时在 iOS 和 Android 上构建媲美原生体验的 ...

  6. 如何快速开发出一个高质量的APP——创业谈

    [起] 今早,一个技术群里有人想快速做出一个app,然后询问技术方案,大概是这样, 拿到了200w投资,期望花20w两个月先做出一个app,包括iOS,Android, 先,呵呵,一下, 大概预估了一 ...

  7. 【创业积累】如何快速开发出一个高质量的APP

    [起] 今早,一个技术群里有人想快速做出一个app,然后询问技术方案,大概是这样, 拿到了200w投资,期望花20w两个月先做出一个app,包括ios,android, 先,呵呵,一下, 大概预估了一 ...

  8. 编写高质量代码:改善Java程序的151个建议(第一章:JAVA开发中通用的方法和准则)

    编写高质量代码:改善Java程序的151个建议(第一章:JAVA开发中通用的方法和准则) 目录 建议1: 不要在常量和变量中出现易混淆的字母 建议2: 莫让常量蜕变成变量 建议3: 三元操作符的类型务 ...

  9. Wuss Weapp 一款高质量,组件齐全,高自定义的微信小程序 UI 组件库

    Wuss Weapp 一款高质量,组件齐全,高自定义的微信小程序 UI 组件库 文档 https://phonycode.github.io/wuss-weapp 扫码体验 使用微信扫一扫体验小程序组 ...

随机推荐

  1. MySQL 乐观锁 悲观锁 共享锁 排他锁

    乐观锁 乐观锁是逻辑概念上的锁,不是数据库自带的,需要我们自己去实现.乐观锁是指操作数据库时(更新操作),想法很乐观,认为这次的操作不会导致冲突,在操作数据时,并不进行任何其他的特殊处理(也就是不加锁 ...

  2. Java_SQL_类型对应_资料

    1.http://argel-lj.iteye.com/blog/1183123 2.http://www.fx114.net/qa-119-110105.aspx JDBC 的"类型&qu ...

  3. JavaScript 获取对象属性和方法

    ShineJaie 原创整理,转载请注明出处. 一.获取对象属性和方法 Object.keys() 返回对象的可枚举属性和方法的名称数组. Object.getOwnPropertyNames() 返 ...

  4. 教你如何使用理解懒Redis是更好的Redis

    前言 大家都知道 Redis 是单线程的.真正的内行会告诉你,实际上 Redis 并不是完全单线程,因为在执行磁盘上的特定慢操作时会有多线程.目前为止多线程操作绝大部分集中在 I/O 上以至于在不同线 ...

  5. python调用虹软2.0第二版

    第一版踩了无数的坑,终于第二版把坑全添了,这次更新可以正常获取人脸数,角度,代码可读性更高,继续更新中 第三版已发出 https://www.cnblogs.com/wxt51/p/10125460. ...

  6. Poi中getPhysicalNumberOfCells 与 getLastCellNum的差异

    getPhysicalNumberOfCells 与 getLastCellNum的区别 用org.apache.poi的包做excel导入,无意间发明若是excel文件中有空列,空列后面的数据全部读 ...

  7. 又是新动作!微信小程序专属二维码出炉

    又到了晚上,微信又给我们带来了惊喜,并这次不是新的能力,而是把大家再熟悉不过的二维码换了新的造型. 正式揭晓:微信特制的小程序码.扫一扫新二维码 只要你的微信升级到了 6.5.7 版本,就可以扫码或者 ...

  8. easyui datagrid 没有记录

    datagrid返回记录为0时显示"没有记录" datagrid 插件编写 <script> var emptyview = $.extend({},$.fn.data ...

  9. 17.并发容器之ThreadLocal

    1. ThreadLocal的简介 在多线程编程中通常解决线程安全的问题我们会利用synchronzed或者lock控制线程对临界区资源的同步顺序从而解决线程安全的问题,但是这种加锁的方式会让未获取到 ...

  10. Mysql之select

    SELECT {*|<字段列表>}   [   FROM <表1>,<表2>,…,<表n>   WHERE <表达式>   GROUP BY ...