学习笔记:flutter项目搭建(mac版)
什么是flutter
Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面。 Flutter可以与现有的代码一起工作。在全世界,Flutter正在被越来越多的开发者和组织使用,并且Flutter是完全免费、开源的。
flutter具有以下几个优点
- 快速开发(具有热加载功能,类似于webpack配置的devServer的热加载)
- 富有表现力,漂亮的用户界面
- 现代的,响应式框架(State类,通过调用setState,改变对应的值,widget就会重新渲染)
- 访问本地功能和SDK
- 统一的应用开发体验
移动端解决方案的几个阶段
- webview在原生app中嵌入h5页面
- hybrid 通过JSBridge来做native与非native之间的桥梁(本质还是web模式)
- react-native 将view编译成原生的view从而达到良好的体验,但还是需要JSBridge做连接
- Flutter 吸收了前者的教训之后,在渲染技术上,选择了自己实现(GDI)
reactive-native原理图

flutter实现原理

开始搭建flutter
使用镜像
flutter官方为中国开发者搭建了临时镜像,大家可以把下面的环境变量加到用户的环境变量中mac直接vim ~/.bash_profile修改即可,如果用了zsh 也可~/.zshrc,修改完source ~/.bash_profile即可
export PUB_HOSTED_URL=https://pub.flutter-io.cn
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
获取Flutter SDK
下载完解压,然后添加flutter到相关工具的path中export PATH=pwd/flutter/bin:$PATH
注意pwd为你解压flutter安装包的路径
运行flutter
运行flutter doctor来查看还有什么东西没有安装,然后根据提示安装相应的东西即可

创建一个flutter项目
以上所有安装都完毕后可以再terminal通过flutter create 目录名来创建项目,然后执行open -a Simulator打开苹果手机模拟器
安装下面的包来确保能进行ios模拟调试
brew update
brew install --HEAD libimobiledevice
brew install ideviceinstaller ios-deploy cocoapods
pod setup
在你Flutter项目目录中通过 open ios/Runner.xcworkspace 打开默认的Xcode workspace.最后执行flutter run你的第一个flutter项目就跑起来了
flutter推荐的编辑器有vscode以及Android studio安装对应的插件即可
详细安装教程可以具体看flutter官网,本教程为自己的学习笔记,后面会另外开文如何使用flutter来进行开发
学习笔记:flutter项目搭建(mac版)的更多相关文章
- SpringCloud(一)学习笔记之项目搭建
[springcloud项目名称不支持下划线] 一.创建父项目 File---new---project: 填写项目信息: 默认即可,点击finish创建完成: 由于父项目只用到pom文件 所以把sr ...
- vue开发环境搭建Mac版
一.前言 要做一个移动端app,面对webapp最流行的三个技术React,angular,vue,三选一,如何选,可参考blog移动app技术选型,react,angular, vue, 下面是对 ...
- Android Studio 学习笔记(一)环境搭建、文件目录等相关说明
Android Studio 学习笔记(一)环境搭建.文件目录等相关说明 引入 对APP开发而言,Android和iOS是两大主流开发平台,其中区别在于 Android用java语言,用Android ...
- Docker学习笔记之一,搭建一个JAVA Tomcat运行环境
Docker学习笔记之一,搭建一个JAVA Tomcat运行环境 前言 Docker旨在提供一种应用程序的自动化部署解决方案,在 Linux 系统上迅速创建一个容器(轻量级虚拟机)并部署和运行应用程序 ...
- vue学习(1) vue-cli 项目搭建
vue学习(1) vue-cli 项目搭建 一.windows环境 1. 下载node.js安装包 官网:https://nodejs.org/en/download/ 选择LTS下载 2. 安装 ...
- OD调试学习笔记7—去除未注册版软件的使用次数限制
OD调试学习笔记7—去除未注册版软件的使用次数限制 本节使用的软件链接 (想自己试验下的可以下载) 一:破解的思路 仔细观察一个程序,我们会发现,无论在怎么加密,无论加密哪里,这个程序加密的目的就是需 ...
- thinkphp学习笔记3—项目编译和调试模式
原文:thinkphp学习笔记3-项目编译和调试模式 1.项目编译 在章节2.4项目编译中作者讲到使用thinkphp的项目在第一次运行的时候会吧核心需要加载的文件去掉空白和注释合并到一个文件中编译并 ...
- 网络协议学习笔记(二)物理层到MAC层,交换机和VLAN,ICMP与ping原理
概述 之前网络学习笔记主要讲解了IP的诞生,或者说整个操作系统的诞生,一旦有了IP,就可以在网络的环境里和其他的机器展开沟通了.现在开始给大家讲解关于网络底层的相关知识. 从物理层到MAC层:如何在宿 ...
- JavaWeb学习笔记(一)Mac 下配置Tomcat环境
最近,想鼓捣与服务器端的交互,只能自己搭建环境了. 上个周一鼓捣了一点,周五再鼓捣,发现忘得已经差不多了.好记性不如烂笔头,还是记录下来比较好. 首先,去Tomcat的官网,下载Mac版的Tomca ...
随机推荐
- 安装MariaDB
1.安装MariaDB安装命令yum -y install mariadb mariadb-server安装完成MariaDB,首先启动MariaDBsystemctl start mariadb设置 ...
- HTML表格列表简介
HTML简介: html列表: ol标签:order list 有序列表. ul标签:unorder list 无序列表. li标签:list item 列表项. style属性: 标签内写css表达 ...
- C#使用Oxyplot绘制监控界面
C#中可选的绘图工具有很多,除了Oxyplot还有DynamicDataDisplay(已经改名为InteractiveDataDisplay)等等.不过由于笔者这里存在一些环境上的特殊要求,.Net ...
- java中String常见问题
java中String常见问题 1.字符串比较==和equals ==:比较的是对象,判断两个引用的是否为同一内存地址(物理对象) equals:比较的是值 2.通过空白字符拆封字符串 str.spi ...
- svn新建文件不能提交的解决方法
svn新建文件不能提交的解决方法 在当前新建文件的目录下,右键空白处: 选择Properties 找到所有有ignore字眼的属性,查看这个属性的继承目录(inherited from),入我的是cl ...
- Spring boot 官网学习笔记 - 开发第一个Spring boot web应用程序(使用mvn执行、使用jar执行)
Creating the POM <?xml version="1.0" encoding="UTF-8"?> <project xmlns= ...
- 容器技术----------->Docker
1. 虚拟化 1)什么是虚拟化 在计算机中,虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种 实体资源,如服务器.网络.内存及存储等,予以抽象.转换后呈现出来,打破实体 ...
- Flask基础(07)-->正则自定义转换器
正则自定义转换器 为什么要自定义正则转换器? 因为默认转换器太过于笨重,往往不能满足我们实际业务的需求,这时候我们就需要自定义正则转换器了. 那么我们怎么自定义正则转换器呢? from flask i ...
- Docker系列(五):.Net Core实现k8s健康探测机制
k8s通过liveness来探测微服务的存活性,判断什么时候该重启容器实现自愈.比如访问 Web 服务器时显示 500 内部错误,可能是系统超载,也可能是资源死锁,此时 httpd 进程并没有异常退出 ...
- 原创电子书《菜鸟程序员成长之路:从技术小白到阿里巴巴Java工程师》
<菜鸟程序员成长之路:从技术小白到阿里巴巴Java工程师> 国庆节快乐!一年一度长度排第二的假期终于来了. 难得有十一长假,作者也想要休息几天啦. 不管你是选择出门玩,还是在公司加班,在学 ...