背景

近一年时间都在用 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. doc文件转txt

    doc文件转txt # -*- coding:utf-8 -*- # 安装pywin32包 http://sourceforge.net/projects/pywin32/files/pywin32/ ...

  2. tomcat设置远程监听端口(linux&windows)

    1.Linxu系统: apach/bin/startup.sh开始处中增加如下内容: declare -x CATALINA_OPTS="-server -Xdebug -Xnoagent ...

  3. C++ malloc函数

    malloc的全称是memory allocation,中文叫动态内存分配,用于申请一块连续的指定大小的内存块区域以void*类型返回分配的内存区域地址,当无法知道内存具体位置的时候,想要绑定真正的内 ...

  4. MySQL获取或者查询数据库某个字段的特定几位(substring)

    一.获取特定的几位: date字段值为(2019-12-13) 1.取date的后5位 select SUBSTRING(date,-5)from letter 结果为12-13 2从左开始第6位取( ...

  5. oracle时间处理tochar的黑幕坑

    建议改成 在用别人黑不隆东,各种商业套路洗脑下的产品时,能简约弱智就被给自己留坑 做技术没踩过h2这类开源数据库的源码设计,即使砸了一堆时间看了<数据库系统基础教程>,<数据库系统实 ...

  6. Python程序在docker中运行,未找到自定义模块

    错误 Traceback (most recent call last): File "demo.py", line 13, in <module> from test ...

  7. [USACO09DEC]晕牛Dizzy Cows (拓扑排序)

    https://www.luogu.org/problem/P2017 题目背景 Hzwer 神犇最近又征服了一个国家,然后接下来却也遇见了一个难题. 题目描述 The cows have taken ...

  8. [LC] 271. Encode and Decode Strings

    Design an algorithm to encode a list of strings to a string. The encoded string is then sent over th ...

  9. 系统学习Javaweb10----BootStrap2

    学习内容: 1.BootStrap-轮播图 2.BootStrap-排版对齐方式 3.BootStrap-表单元素 4.BootStrap-分页条

  10. 005.前端开发知识,前端基础CSS(2020-01-14)

    一.CSS权重 权重是可以叠加的,事例如下: div ul li ------> 0,0,0,3 .nav ul li ------> 0,0,1,2 a:hover -----—> ...