用 Flutter 开发,你的 Dart 够用吗?
最近在帮公司筛选简历的时候,我看到有些候选人简历上写着「熟练掌握 Dart 语言开发 Flutter 应用」,也从项目经历那栏中看到了实实在在的 Flutter 项目,甚至项目在 Git...
最近在帮公司筛选简历的时候,我看到有些候选人简历上写着「熟练掌握 Dart 语言开发 Flutter 应用」,也从项目经历那栏中看到了实实在在的 Flutter 项目,甚至项目在 Github 上获得的 star 也蛮多。说真的,这些确实很让我感到眼前一亮。
可在面试的时候,我问了几个有关 Dart 基础语法原理的问题,比如:为什么 Dart 中函数不支持重载、单继承和 minxins 的区别、isolate 的原理、eventLoop 的原理等等,很多面试者却答得不好,甚至不知道。
这就有点匪夷所思了……
所以接着我就问对方:“你学习 Flutter 多长时间了?”
对方回答说:“快一年半了。”
“那你学习 Dart 多长时间了?”
“Dart 入门就花了两到三天时间,把官方文档过了一遍就直接上手了。”
听到这样回答,我就不感到奇怪了。
我突然发现这是目前 Flutter 学习中一个很普遍的现象:我们在追求 Flutter 各种炫酷 API 使用的同时,却忽略了 Dart 基础的重要性。我们都知道 Flutter 的开发基于 Dart 语言,那么 Dart 就是 Flutter 开发中的基础。而忽略 Dart,就像几天入门 Java 开发,直接上手 Android 应用开发是一样的。
Flutter 开发就好比盖摩天大楼,而 Dart 基础的学习就是打地基。如果我们一开始把时间几乎全部花在如何把这栋大楼盖得高大炫酷上,但用来打地基的时间却少得可怜,那么长期下去,这样的地基必然不稳,而楼层越高则越危险。
但是,国内有关 Dart 的文章和资料并不多见,成体系的 Dart 文章更是少之又少。我通过阅读大量国外有关 Dart 的优秀文章以及结合自己积累的 Flutter 开发经验,系统整理和总结出了与 Flutter 开发相关的 Dart 要点及其语法背后的原理。希望通过深入浅出的讲解,让你可以获得 Dart 官方文档之外的 Dart 技能和原理分析。

学习一门新语言会不会太难?
学习 Flutter 应用开发存在两大隐性的学习成本:新语言 Dart 的学习和 Flutter Develop Kit 的学习。另外,Flutter 官方文档过于繁多,也成为很多人迟迟不愿意尝试 Flutter 或是在用 Flutter 开发时遇到瓶颈的原因。
《Dart 入门实践》从 Flutter 应用开发所必需的 Dart 技能出发,按照优先级,有选择地挑选必备 Dart 技能,做到只学习真正重要的 Dart 技能点,从而进一步降低学习门槛。
另一方面,如果你有其他语言功底(如 Java、C#、C++、Kotlin 等),通过《Dart 入门实践》上手 Dart 将达到事半功倍的效果!在接下来文章中我将会采用其他语言和 Dart 对比的方式来介绍 Dart,利用不同语言在语法特性上的相似点,帮你节省学习成本!
此外,在专栏的最后,我们还将结合实战 Flutter 项目,从 0 到 1 实现一个真实的 Flutter 项目!学习过程中,如果遇到任何问题,都可以在专栏专属交流群里和作者及其他同学一起交流!
实战项目效果展示:

专栏结构
本专栏主要分为三个部分。
一、基础篇。我们将逐步讲解 Dart 中一些常见的基本语法,如:变量和常量、基本数据类型、流程控制选择和循环等。随后,我们会着重深入分析 Dart 中的集合、函数、集合操作符函数、面向对象、继承和 minxins、类型系统和泛型、library 的使用,以及 Dart 最新加入的语法可空非空类型、扩展函数 extension、泛型强化等。
二、进阶篇。这部分主要讲解 Dart 异步编程中的核心功能以及Dart 2.6 版本加入的 Dart 与 C 的互相调用。最后,我们还会对 Dart 虚拟机运行原理进行分析和说明,通过学习你将会理解 Flutter 的 hot reload 的原理。
三、实战篇。俗话说养兵千日用在一时,光说不练假把式,最后我们会通过一个高仿开眼 App 的 Flutter 实战项目把本专栏前面的知识融会贯通加以应用。
基础篇
-
初探 Dart 语法 01
-
初探 Dart 语法 02
-
掌握如何让函数更好地调用
-
掌握 Dart 集合的使用
-
深入分析 Dart 集合源码
-
掌握 Dart 集合操作符函数使用
-
深入分析 Dart 集合操作符源码
-
掌握 Dart 的面向对象基础
-
深入理解 Dart 中的继承和 Minxins
-
深入理解 Dart 中的类型系统和泛型
-
掌握 Dart 中库 library 的使用
-
尝鲜 Dart 2.7 最新语法之可空与非空类型
-
尝鲜 Dart 2.7 最新语法之扩展方法
-
尝鲜 Dart 2.7 最新语法之泛型强化:声明处型变
进阶篇
-
异步编程之 Isolate 和 EventLoop
-
异步编程之 Future
-
异步编程之 Streams
-
异步编程之 async和await
-
异步编程之同步异步生成器函数
实战篇
-
Dart 与 C 的互相调用
-
Dart 虚拟机运行原理
-
Flutter 实现高仿开眼 APP 的页面开发 01
-
Flutter 实现高仿开眼 APP 的页面开发 02
-
Flutter 实现高仿开眼 APP 的页面开发 03

-
重点内容全面覆盖:从 Dart 基本语法开始到高阶语法,如 Dart 异步、Dart VM 等,透彻讲解每个重要语法点!
-
紧跟最新 Dart 版本语法特性:以最新 Dart 版本 (2.7) 为基准,介绍 Dart 的最新语法特性,同时紧跟 Dart 官方发布,持续更新 Dart 语法技能!
-
深入 Dart 语法背后的原理:不仅会介绍 Dart 语法怎么使用、在哪使用;而且还会深入语法源码内部,剖析其背后实现原理,即使遇到 Dart 原理面试题也能轻松面对!
-
通过与其他语言语法对比来学习:学习一门新语言,最好最快的方式就是对比学习,我们将 Dart 与 Java、Kotlin、Javascript 等语言语法对比学习,助你快速掌握上手新语言!
-
结合 Flutter 实战项目:实践是检验学习的最好方法,最后我们将从 0 到 1 实现一个高仿开眼 APP 的 Flutter 实战项目!
即日起至 5 月 1 日,《Dart 入门实践》专栏限时特惠!现在订阅专栏,即刻快速上手 Dart 语言,解锁 Flutter 应用开发技能!
更多推荐



所有评论(0)