先了解框架逻辑,在了解细节,建议不要低着头走路,虽然不会摔倒,不必定到达目的地,要先抬头找好方向,在埋头苦干....html
Flutter 是Google提供开发Android&IOS,Window,Mac,Linux,Web的跨平台开发UI工具包,主要是解决一套代码可以运行在多种设备上的UI开发Kit,源代码托管git
代码仓库之上ios
在准备编译flutter以前,咱们须要解决的问题,带着问题去学习才是最好的方法,可以高效的解决有疑问的问题和内容:git
Flutter 生态包括Flutter源代码、FlutterDart语言、Flutter Api,Flutter测试环境、Flutter编译环境、Flutter issue等一系列和Flutter相关的内容,最基本的信息能够在Flutter的git代码仓库中找到,后续的开发中主要也是也Flutter仓库的内容为准,目的主要是抓住Flutter开发相关的源代码、开发环境设置、编译、调试、优化、issue解决、贡献代码、咱们不能面面俱到的讲解flutter的内容,咱们主要是理清楚Flutter开发相关的内容以及内容直接的关联,在后续的开发工做中可以快速的判断问题、理解整个Flutter运行原理,在经过工具辅助阅读源代码,进行问题定位和解决,而不是面向浏览器编程
。github
Flutter源码托管仓库chrome
HomeWiki编程
Flutter路线图浏览器
Flutter 托管在Github上,经过depot_tools自动跟进.gclient
文件中配置的内容进行依赖下载编译环境设置
1.fork Flutter github代码仓库中的代码到本身的github中
2.配置电脑上的ssh证书到本身的GitHub帐号中
3.安装相关的软件工具设置开发环境
4.配置depot_tools环境
5.使用gclient sync
下载flutter源代码到本地
6.等待漫长的下载过程就能够把源代码下载到本地
Flutter 源码项目是一个庞大的源码项目,是按照上面样的组织方式来进行源代码组织的???
编译源代码:源代码
、编译系统
、第三方支持库
、编译产物
1.Flutter本身的源代码保存的位置???
2.第三方库相关的代码存放的位置???
3.编译系统是怎么根据不一样的命令构建不一样平台的Flutter引擎版本???
4.使用到了那些工具?用什么用处??
5.不一样平台的SDK是怎么维护更新的???
6.编译以后的产物是什么样子的???
flutter Engine源码目录下的文件和文件夹很是清楚的组织,不一样功能做用的源代码版本信息
,构建脚本
, 构建系统工具
,Flutter源代码工程
,Android&IOS编译相关的SDK检测代码
➜ engine_2019_11 tree -L 2
.
└── src 源文件目录
├── AUTHORS
├── BUILD.gn 编译脚本
├── LICENSE
├── README.md
├── build 构建脚本目录,包含不一样平台的编译文件
├── build_overrides
├── buildtools 编译源代码时使用到的工具
├── flutter Flutter核心代码
├── ios_tools
├── out 编译输出文件目录
├── third_party 图片、文件、zlib等一系列工具库,主要是一下独立功能的库文件
└── tools 主要是检测和平台相关的一下编译环境和工具(Android、dart开发工具SDK)
9 directories, 5 files
复制代码
Flutter环境安装比较简单,网络上有不少的教程能够参考,就不会再解析详细的讲解 经过以上三步的准备工做,咱们已经将Flutter相关的资源网站
,源代码相关的位置和目录
,编译环境和源码下载工具
作了一些准备和相关知识的了解,做为开篇内容,将不会对细节作太多的说明须要主要个人知识点: