Flutter系列之简单了解项目结构

前言

接下来直接进入项目的介绍,在这说明下我的学习路线,注重实战讲解,不去一个个解析官方的API是如何调用,如何使用的,因为这些官网已经讲的很细了,希望在项目的开发过程中,遇到不明白的概念不会用的组件,再带着问题去找答案,本期先看下Flutter的项目结构,对项目的目录有个清晰的认识后,知道将代码写在哪,如何引用第三方库,如何做项目配置。

目录如图

项目目录以及配置文件

通过上面图你会发现一下几个点:

  • Flutter项目实际上和React Native目录结构一样,都包含Android和Ios项目,都是在各自的项目中添加flutter依赖,最终集成到各自的项目中。
  • Flutter是用yaml文件配置 ,yaml类似于标准通用标记语言的子集XML数据描述语言,语法比XML简单很多。推荐学习链接 - YAML 语法— 国内最专业的Ansible中文官方学习手册
  • pubspec.bock 是pubsec.yaml的配置生成文件,里面包含具体依赖的版本,建议上传git,这样保证你跟同事使用的依赖是同一个版本,保证代码一致性,避免不必要的问题出现。
  • iOS代码,使用CocoaPods管理依赖
  • Android代码,使用Gradle管理依赖
  • lib为dart代码,使用pub管理依赖,
  • Pub 包仓库,在js中相当于npm的角色,主要管理开源项目依赖,在yaml文件中配置生效。
    如此看来,万变不离其宗,还是React Native的套路,只不过Dart语言有自己的管理套件。

Main.dart

分析下这个类,如图:
Main.dart

我们从上往下分析下这个类

  • import 导入material.dart package 在编译器中点进去源码看下如下
    package
    会js的朋友都不陌生,导入这个包等于是可以使用这个包下所有的组件。
  • main() lambda 表达式 实际return runApp函数,传入MyApp()对象
  • MyApp对象 继承StatelessWidget 无状态组件,Flutter里面没有像Activity一样的角色,更像是直接使用的View,基于Widget做页面而不是Activity,这样就把Activity的双重作用单一出来,View就是View,说白了还是借鉴了React的思想。该类实现的build的函数就是页面内容渲染的关键。
  • MyHomePage 该类是一个有状态的组件,继承StatefulWiget类,实现createState函数,并返回State状态类的实现。StatefulWiget并没有状态管理,它是不可变的,而是依赖于State做状态管理,体现了职责单一的原则。
  • _MyHomePageState 该类是UI渲染最终的实现类,里面包含了appBar,Text,Button的使用。
  • title属性 发现在MyHomePage构造中传入了title字段,可没发现MyHomePage类中有人调用,直到在_MyHomePageState中才发现一个 widget.title的调用,这样就明白了,在Widget中定义的属性,可以在State中通过widge.调用。

总结

通过对项目结构的了解,和对主页UI的认识,感觉到Flutter设计的精髓大多数来源于React,有任何不明白的欢迎提问,加油。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,588评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,456评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,146评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,387评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,481评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,510评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,522评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,296评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,745评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,039评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,202评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,901评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,538评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,165评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,415评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,081评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,085评论 2 352

推荐阅读更多精彩内容

  • 目录 一、Flutter 为何使用Dart开发语言二、Flutter的UI系统1.特点2.架构简介2.1 Flut...
    十拿九稳啦阅读 3,654评论 3 28
  • 国庆后面两天在家学习整理了一波flutter,基本把能撸过能看到的代码都过了一遍,此文篇幅较长,建议保存(star...
    Nealyang阅读 4,341评论 1 17
  • 英文官网:https://flutter.io/中文网:https://flutterchina.club/ 首先...
    超威蓝猫l阅读 2,818评论 1 3
  • 文:温如夏 阳光下你弹奏着一曲熟悉的旋律,那曾是我最爱听的一支曲调,它的名字就正如我此...
    温如夏阅读 178评论 0 2
  • 【诗 104:22-28】 日头一出,人出去作工,劳碌直到晚上。耶和华啊,你所造的何其多,都是你用智慧造成的,遍地...
    Abigail68阅读 540评论 0 1