flutter 入门(Mac)
背景
近一年时间都在用 React Native 开发公司的 APP,水平基本上可以说是登堂入室了。前一段时间兴起一阵 Flutter 热,后端的同事都有推荐,今年 Google 大会又推出 flutter_web,偶有闲暇,就赶紧来看看这个新的多端兼容框架。
与 RN 的封装原生组件通过 Bridge 调用不同,Flutter 的模式是使用 Google 的 UI 引擎另起炉灶,使用 Dart 语言编写,最终还是编译成原生的代码。性能方面相较RN有所提升,但是RN已经有近5年的发展了,社区相当活跃,Flutter的底层组件完全依赖Google的开发,而且起步晚,所以功能上面并不完备。
安装、配置和入门实例可以按照官方的文档——Flutter 入门,文档非常详细。
有几个注意的地方
- Flutter 安装的版本,我选择的是最新版本的 Beta 版本,内容比较新而且问题相对较少
- 环境变量的配置,我的是 Mac + zshell,所以我 大专栏 flutter 入门(Mac)将变量写进 .zshrc 文件中
- 编辑工具的选择,我暂时用的是 Android Studio
- Android Studio 安装 Flutter 和 Dart 插件后在启动预览界面会出现“Start a new Flutter project”的选项,点击之后需要等待一段时间,并不是进程死掉
- 新建项目时,配置完成之后开始创建,弹出“Creating Flutter Project”的窗口,会一直卡住,我开VPN用全局模式都不行,大概10分钟左右项目基本结构已经创建好了,这时候强制退出 Android Studio 的进程,然后重新打开,选择项目打开,进入项目之后会提示修复项目,马上就能修复好
- 官方组件地址 http://pub.dartlang.org/flutter 打不开,当然,可能是我们家的网有问题
- Android 模拟器无法安装实例,我只能用 iOS 的模拟器测试
总结
- 可能是习惯问题,感觉 RN 写起来更舒服一些,用 Wedget 写起来太乱了,而且很死板
- 相关配套的服务不太完善,如pub等
- 之前一直在用文本编辑器写代码,用了一下 IDE,好省事
flutter 入门(Mac)的更多相关文章
- Flutter入门之有状态组件
StatefulComponent使用方法入门 在上一篇Flutter入门之无状态组件中我们讲到了无状态组件,所谓的无状态组件指的就是其内部的状态是来自其父组件并使用final类型的变量来存储,当组件 ...
- flutter入门开发的一些坑
flutter入门开发的一些坑 很久没写博客了,最近在准备物联网比赛,顺便抽出时间学习了一下flutter,花了近2周完成了一个查看博客博文的一个小的APPdemo,随便截了两张图,如下: 首页 博客 ...
- Flutter入门教程(四)第一个flutter项目解析
一.创建一个Flutter工程 1.1 命令行创建 首先我们找一个空目录用来专门存放flutter项目,然后在路径中直接输入cmd: 使用 flutter create <projectname ...
- 使用 Flutter 开发 Mac 桌面应用
Flutter 可以开发 Mac,Linux,Windows 桌面,但是对于平台目前只能打对于的包,以及调试本平台的包. 切换到 master 分支 首先必须切换到 master 分支.我之前在 de ...
- flutter 安装环境 Mac
1.这是我第二次mac 安装 flutter环境了,但是这种东西记不住.打开写一下 有用的东西 一. ls vi 等命令 command not found原因是因为环境变量的问题,编辑profile ...
- Flutter入门教程(一)Flutter简介
这是Flutter系列第一篇文章,后续会持续更新Flutter相关知识,本篇就主要对于Flutter技术做一个简单的入门介绍 一.Flutter简介 Flutter是谷歌的移动UI框架,可以快速在iO ...
- 手把手教你入门mac idea
一.前沿 去年入职后, 公司有很多人使用的是idea , 而不是eclipse. 之前就想转向idea, 但一直没转过来~~原因是团队的人提倡用开源eclipse.现在下定决心转向idea. 虽然, ...
- IDEA快速入门(Mac版)
[持续更新]一篇今年年头的老文章顺道发布了,大家有任何问题可以留言沟通.当时刚刚加入团团,愿大家有机会还是购买一台MAC,确实能给大家的效率赋能,虽然在一开始会有一些艰难!⛽️ 望借着换工作的东风,好 ...
- Flutter入门之无状态组件
Flutter核心理念 flutter组件采用函数式响应框架构建,它的灵感来自于React.它设计的核心思想是组件外构建UI,简单解释一下就是组件鉴于它当前的配置和状态来描述它的视图应该是怎样的,当组 ...
随机推荐
- SaltSack 中Job管理
一.简介 Jid: job id的格式为%Y%m%d%H%M%S%f master在下发指令消息时,会附带上产生的jid,minion在接收到指令开始执行时,会在本地的cachedir(默认是/var ...
- Exception in thread "main" java.lang.AbstractMethodError
参考https://stackoverflow.com/questions/15758151/class-conflict-when-starting-up-java-project-classmet ...
- [LC] 289. Game of Life
According to the Wikipedia's article: "The Game of Life, also known simply as Life, is a cellul ...
- Linux/UNIX 上安装 MySQL
Linux/UNIX 上安装 MySQL Linux平台上推荐使用RPM包来安装Mysql,MySQL AB提供了以下RPM包的下载地址: MySQL - MySQL服务器.你需要该选项,除非你只想连 ...
- Metric space,open set
目录 引入:绝对值 度量空间 Example: 开集,闭集 引入:绝对值 distance\(:|a-b|\) properties\(:(1)|x| \geq 0\),for all \(x \in ...
- iOS MJRefresh的使用 (列表上拉加载更多)
pod 'MJRefresh' import MJRefresh 加载更多 let footView = MJRefreshAutoNormalFooter(refreshingBlock:{ //去 ...
- js之意想不到的结果
js 是弱类型语言 ,在进行计算时 如果遇到不能计算的单位,就会进行默认转换 1.typeof NaN 结果为 “number” 原因:NaN 表示 不是不是一个数字(Not a Number), ...
- 吴裕雄--天生自然python学习笔记:python文档操作批量替换 Word 文件中的文字
我们经常会遇到在不同的 Word 文件中的需要做相同的文字替换,若是一个一个 文件操作,会花费大量时间 . 本节案例可以找出指定目录中的所有 Word 文件(包含 子目录),并对每一个文件进行指定的文 ...
- JVM简述
JVM的东西太多了,我们刚开始学java的时候,就会接触堆.栈,还有方法区,因为我们要知道new出来的对象放在哪里,局部变量放在哪里,static修饰的变量放在哪里. 我从网上截一个图: 这里有三大部 ...
- Linux BASH简单总结
BASH: 变量的设置规则: 1.变量与变量内容以一个符号"="来链接 2.等号两边不能直接接空白字符 3.变量名称只能是英文字母与数字,但是不能以数字开头 4.变量内容若有空白字 ...