背景

近一年时间都在用 React Native 开发公司的 APP,水平基本上可以说是登堂入室了。前一段时间兴起一阵 Flutter 热,后端的同事都有推荐,今年 Google 大会又推出 flutter_web,偶有闲暇,就赶紧来看看这个新的多端兼容框架。

与 RN 的封装原生组件通过 Bridge 调用不同,Flutter 的模式是使用 Google 的 UI 引擎另起炉灶,使用 Dart 语言编写,最终还是编译成原生的代码。性能方面相较RN有所提升,但是RN已经有近5年的发展了,社区相当活跃,Flutter的底层组件完全依赖Google的开发,而且起步晚,所以功能上面并不完备。

安装、配置和入门实例可以按照官方的文档——Flutter 入门,文档非常详细。

有几个注意的地方

  1. Flutter 安装的版本,我选择的是最新版本的 Beta 版本,内容比较新而且问题相对较少
  2. 环境变量的配置,我的是 Mac + zshell,所以我 大专栏  flutter 入门(Mac)将变量写进 .zshrc 文件中
  3. 编辑工具的选择,我暂时用的是 Android Studio
  4. Android Studio 安装 Flutter 和 Dart 插件后在启动预览界面会出现“Start a new Flutter project”的选项,点击之后需要等待一段时间,并不是进程死掉
  5. 新建项目时,配置完成之后开始创建,弹出“Creating Flutter Project”的窗口,会一直卡住,我开VPN用全局模式都不行,大概10分钟左右项目基本结构已经创建好了,这时候强制退出 Android Studio 的进程,然后重新打开,选择项目打开,进入项目之后会提示修复项目,马上就能修复好
  6. 官方组件地址 http://pub.dartlang.org/flutter 打不开,当然,可能是我们家的网有问题
  7. Android 模拟器无法安装实例,我只能用 iOS 的模拟器测试

总结

  1. 可能是习惯问题,感觉 RN 写起来更舒服一些,用 Wedget 写起来太乱了,而且很死板
  2. 相关配套的服务不太完善,如pub等
  3. 之前一直在用文本编辑器写代码,用了一下 IDE,好省事

flutter 入门(Mac)的更多相关文章

  1. Flutter入门之有状态组件

    StatefulComponent使用方法入门 在上一篇Flutter入门之无状态组件中我们讲到了无状态组件,所谓的无状态组件指的就是其内部的状态是来自其父组件并使用final类型的变量来存储,当组件 ...

  2. flutter入门开发的一些坑

    flutter入门开发的一些坑 很久没写博客了,最近在准备物联网比赛,顺便抽出时间学习了一下flutter,花了近2周完成了一个查看博客博文的一个小的APPdemo,随便截了两张图,如下: 首页 博客 ...

  3. Flutter入门教程(四)第一个flutter项目解析

    一.创建一个Flutter工程 1.1 命令行创建 首先我们找一个空目录用来专门存放flutter项目,然后在路径中直接输入cmd: 使用 flutter create <projectname ...

  4. 使用 Flutter 开发 Mac 桌面应用

    Flutter 可以开发 Mac,Linux,Windows 桌面,但是对于平台目前只能打对于的包,以及调试本平台的包. 切换到 master 分支 首先必须切换到 master 分支.我之前在 de ...

  5. flutter 安装环境 Mac

    1.这是我第二次mac 安装 flutter环境了,但是这种东西记不住.打开写一下 有用的东西 一. ls vi 等命令 command not found原因是因为环境变量的问题,编辑profile ...

  6. Flutter入门教程(一)Flutter简介

    这是Flutter系列第一篇文章,后续会持续更新Flutter相关知识,本篇就主要对于Flutter技术做一个简单的入门介绍 一.Flutter简介 Flutter是谷歌的移动UI框架,可以快速在iO ...

  7. 手把手教你入门mac idea

    一.前沿 去年入职后, 公司有很多人使用的是idea , 而不是eclipse. 之前就想转向idea, 但一直没转过来~~原因是团队的人提倡用开源eclipse.现在下定决心转向idea. 虽然, ...

  8. IDEA快速入门(Mac版)

    [持续更新]一篇今年年头的老文章顺道发布了,大家有任何问题可以留言沟通.当时刚刚加入团团,愿大家有机会还是购买一台MAC,确实能给大家的效率赋能,虽然在一开始会有一些艰难!⛽️ 望借着换工作的东风,好 ...

  9. Flutter入门之无状态组件

    Flutter核心理念 flutter组件采用函数式响应框架构建,它的灵感来自于React.它设计的核心思想是组件外构建UI,简单解释一下就是组件鉴于它当前的配置和状态来描述它的视图应该是怎样的,当组 ...

随机推荐

  1. Python访问Amazon官网异常

    使用Python访问亚马逊(Amazon)官网,如果没有将headers更改为浏览器的信息, 有几率会触发:检测到当前可能是自动程序,需要输入验证码: 将header修改成浏览器后,需要等一段时间或者 ...

  2. CodeForces 91B Queue (线段树,区间最值)

    http://codeforces.com/problemset/problem/91/B B. Queue time limit per test: 2 seconds memory limit p ...

  3. LeetCode No.115,116,117

    No.115 NumDistinct 不同的子序列 题目 给定一个字符串 S 和一个字符串 T,计算在 S 的子序列中 T 出现的个数. 一个字符串的一个子序列是指,通过删除一些(也可以不删除)字符且 ...

  4. JS创建数组的三种方法

    1     常规方式 创建数组并给数组元素赋值 var myCars = new Array(); myCars[0] = "Saab"; myCars[1] = "Vo ...

  5. Fiddler发送get post测试 笔记

    0 环境 系统环境:win7 1 操作 1 post 类似 2 get

  6. linux新装系统优化

    1:关掉不需要的服务 检查在3级别上哪些是自动启动的 chkconfig --list  |grep ‘3:on’

  7. C#函数的基础应用

    C#函数的基础应用 函数之前的知识回顾 数据类型--变量常量--运算符表达式--语句(顺序,分支,循环)--数组--函数 程序里的函数:能完成一个相对独立功能的代码模块. 数学里的函数:高度抽象. 函 ...

  8. django项目导航页_20191128

    django项目导航页_20191128 第一步:python-django电商项目-需求分析架构设计数据库设计_20191115 python-django-linux上mysql的安装和配置_20 ...

  9. http请求头缓存实现

    转自CSDN ouyang-web之路 原文链接:https://blog.csdn.net/cangqiong_xiamen/article/details/90405555 一.浏览器的缓存 st ...

  10. PXE自动部署工具

    1.工具介绍1.1::本工具主要以图形界面的方式帮助使用者快速部署PXE安装Linux的基础环境环境,(如不需要可忽略相关操作)并且支持自动配置静态IP地址和为H3C设备划分VLAN. 1.2::对于 ...