分类: Dart
194
入坑 Flutter 前你需要知道的一些 XXX

扳指一算,这已经是 Flutter 出道的第三个年头了。这两年来,用它写过几个类似计算器、手电筒、罗盘之类小到不能再小的应用,也算是对其有一点点拙见,本文纯属爽完后的瞎掰,不涉及过多的代码,只对准备入坑或者想要入坑的童鞋简单地聊一聊 Flutter,包括它的基础架构、设计原理、应用场景以及未来发展等等。 What is Flutter? Flutter 是什么?套用目前 Flutter 官网的原话来讲就是: Flutter is Google’s UI toolkit for building beautiful, natively compiled applications for mobi…

85
总结

本篇为 Dart 官方文档翻译项目 DartCN 的文章 Tour 翻译,在此仅作翻译记录,翻译首稿已提交至 DartCN,如需查阅,请链接至《Dart 开发语言概览》。 本文为 Dart 语言概览的一部分,完整章节请查阅 Dart 语言概览。 本页概述了 Dart 语言中常用的功能。还有更多特性有待实现,但我们希望它们不会破坏现有代码。有关更多信息,请参考 [Dart 语言规范和高效 Dart 语言指南。 要了解更多关于 Dart 核心库的内容,请参考 Dart 核心库概览。

72
注释

本篇为 Dart 官方文档翻译项目 DartCN 的文章 Tour 翻译,在此仅作翻译记录,翻译首稿已提交至 DartCN,如需查阅,请链接至《Dart 开发语言概览》。 本文为 Dart 语言概览的一部分,完整章节请查阅 Dart 语言概览。 Dart 支持单行注释、多行注释和文档注释。 单行注释 单行注释以 // 开始。所有在 // 和该行结尾之间的内容被编译器忽略。 void main() { // TODO: refactor into an AbstractLlamaGreetingFactory? print(‘Welcome to my Llama farm!’); } 多行注释…

141
元数据

本篇为 Dart 官方文档翻译项目 DartCN 的文章 Tour 翻译,在此仅作翻译记录,翻译首稿已提交至 DartCN,如需查阅,请链接至《Dart 开发语言概览》。 本文为 Dart 语言概览的一部分,完整章节请查阅 Dart 语言概览。 使用元数据可以为代码增加一些额外的信息。元数据注解以 @ 开头,其后紧跟一个编译时常量(比如 deprecated)或者调用一个常量构造函数。 Dart 中有两个注解是所有代码都可以使用的:@deprecated 和 @override。你可以查阅扩展一个类获取有关 @override 的使用示例。下面是使用 @deprecated 的示例: clas…

205
类型定义

本篇为 Dart 官方文档翻译项目 DartCN 的文章 Tour 翻译,在此仅作翻译记录,翻译首稿已提交至 DartCN,如需查阅,请链接至《Dart 开发语言概览》。 本文为 Dart 语言概览的一部分,完整章节请查阅 Dart 语言概览。 在 Dart 语言中,函数与 String 和 Number 一样都是对象,可以使用类型定义(或者叫方法类型别名)来为函数的类型命名。使用函数命名将该函数类型的函数赋值给一个变量时,类型定义将会保留相关的类型信息。 比如下面的代码没有使用类型定义: class SortedCollection { Function compare; SortedCol…

287
隔离区

本篇为 Dart 官方文档翻译项目 DartCN 的文章 Tour 翻译,在此仅作翻译记录,翻译首稿已提交至 DartCN,如需查阅,请链接至《Dart 开发语言概览》。 本文为 Dart 语言概览的一部分,完整章节请查阅 Dart 语言概览。 大多数计算机中,甚至在移动平台上,都在使用多核 CPU。为了有效利用多核性能,开发者一般使用共享内存的方式让线程并发地运行。然而,多线程共享数据通常会导致很多潜在的问题,并导致代码运行出错。 为了解决多线程带来的并发问题,Dart 使用 isolates 替代线程,所有的 Dart 代码均运行在一个 isolates 中。每一个 isolates 有它…

237
可调用类

本篇为 Dart 官方文档翻译项目 DartCN 的文章 Tour 翻译,在此仅作翻译记录,翻译首稿已提交至 DartCN,如需查阅,请链接至《Dart 开发语言概览》。 本文为 Dart 语言概览的一部分,完整章节请查阅 Dart 语言概览。 通过实现类的 call() 方法,允许使用类似函数调用的方式来使用该类的实例。 在下面的示例中,WannabeFunction 类定义了一个 call() 函数,函数接受三个字符串参数,函数体将三个字符串拼接,字符串间用空格分割,并在结尾附加了一个感叹号。 class WannabeFunction { String call(String a, St…

107
生成器

本篇为 Dart 官方文档翻译项目 DartCN 的文章 Tour 翻译,在此仅作翻译记录,翻译首稿已提交至 DartCN,如需查阅,请链接至《Dart 开发语言概览》。 本文为 Dart 语言概览的一部分,完整章节请查阅 Dart 语言概览。 当你需要延迟地生成一连串的值时,可以考虑使用生成器函数。Dart 内置支持两种形式的生成器方法: 同步生成器:返回一个Iterable对象。 异步生成器:返回一个Stream对象。 通过在函数上加 sync* 关键字并将返回值类型设置为 Iterable 来实现一个同步生成器函数,在函数中使用 yield 语句来传递值: Iterable<int…

70
异步支持

本篇为 Dart 官方文档翻译项目 DartCN 的文章 Tour 翻译,在此仅作翻译记录,翻译首稿已提交至 DartCN,如需查阅,请链接至《Dart 开发语言概览》。 本文为 Dart 语言概览的一部分,完整章节请查阅 Dart 语言概览。 Dart 代码库中有大量返回 Future 或 Stream 对象的函数,这些函数都是异步的,它们会在耗时操作(比如I/O)执行完毕前直接返回而不会等待耗时操作执行完毕。 async 和 await 关键字用于实现异步编程,并且让你的代码看起来就像是同步的一样。 处理 Future 可以通过下面两种方式,获得 Future 执行完成的结果: 使用 as…

64
库和可见性

本篇为 Dart 官方文档翻译项目 DartCN 的文章 Tour 翻译,在此仅作翻译记录,翻译首稿已提交至 DartCN,如需查阅,请链接至《Dart 开发语言概览》。 本文为 Dart 语言概览的一部分,完整章节请查阅 Dart 语言概览。 import 和 library 关键字可以帮助你创建一个模块化和可共享的代码库。代码库不仅只是提供 API 而且还起到了封装的作用:以下划线(_)开头的成员仅在代码库中可见。每个 Dart 程序都是一个库,即便没有使用关键字 library 指定。 Dart 的库可以使用包工具来发布和部署。 使用库 使用 import 来指定命名空间以便其它库可以访…

下一页