dart

干货 | Dart 并发机制详解

Dart 通过 async-await、isolate 以及一些异步类型概念 (例如 Future 和 Stream) 支持了并发代码编程。本篇文章会对 async-await、Future 和 Stream 进行简略的介绍,而侧重点放在 isolate 的讲解上。 在应用中,所有的 Dart 代码 ... »

flutterdev

dart系列之:和null说再见,null使用最佳实践

简介 null可能是大家在编写程序中最为头疼的一个东西,稍不留意的情况下就有可能使用到了这个空字符。所以dart在2.12引入了nll safety,默认情况下强制所有的类型都不为null,只有在你认为它可以为null的时候才可以设置为null。 虽然有了null safety,但是这里还有一些我们 ... »

dart系列之:手写Library,Library编写最佳实践

简介 Library是dart用来组织代码的一种非常有用的方式,通过定义不同的Library,可以将非常有用的dart代码进行封装,从而提供给其他的项目使用。虽然我们可以自由使用import或者export来对library进行导入和导入。但是什么样的用法才是最合适的用法呢? 一起来看看吧。 使用p ... »

dart系列之:dart代码最佳实践

简介 每种语言都有自己的代码风格,这种代码风格是跟语言特性息息相关的。如果在编码的过程中遵循这种统一的编码规则,会给我们的业务带来非常多的便利。 同样的,对应dart而已,也有属于自己的编码风格,一起来看看吧。 命名规则 一般来说,这个世界上有三种命名规则,分别是UpperCamelCase,low ... »

dart系列之:你的地盘你做主,使用Extension对类进行扩展

简介 一般情况要扩展一个类,需要继承这个类,这是在大多数java或者其他面向对象语言中要做的事情。 但是有些时候扩展类并不是特别好用,首先在有些语言中,有些类是禁止被扩展的。即使可以被扩展,但是扩展之后的类是一个新的类,而不是原来的父类,所以在使用的过程中可能会出现一些类型转换的问题。 那么在dar ... »

Dart 2.15 现已发布

作者 / Michael Thomsen, Dart & Flutter Product Manager, Google 我们已经正式发布了 Dart SDK 的 2.15 版本,该版本新增了可快速并发的工作器 isolate、新的构造函数拆分 (tear-off) 语言特性、经过改进的 dart: ... »

flutterdev

dart系列之:dart优秀的秘诀-隔离机制

简介 之前介绍了很多dart中的异步编程技巧,不知道大家有没有发现一个问题,如果是在java的异步编程中,肯定会提到锁和并发机制,但是对于dart来说,好像从来没有听到多线程和并发的问题,这是为什么呢? 今天,给大家讲解一下dart中的隔离机制,大家就明白了。 dart中的隔离机制 dart是一个单 ... »

dart系列之:安全看我,dart中的安全特性null safety

简介 在Dart 2.12中引入了null safety的新特性,也就是说dart程序中默认类型都是非空的,除非你显示告诉编译器,这个类型可以为空。 看起来是一个小小的改动,但是这个小小的改动导致了很多Dart包的大版本升级,从而导致使用Dart2.12之前的版本跟使用dart2.12之后的版本完全 ... »

dart系列之:如丝滑般柔顺,操作文件和目录

简介 文件操作是IO中非常常见的一种操作,那么对应dart语言来说,操作文件是不是很简单呢?实际上dart提供了两种读取文件的方式,一种是一次性全部读取,一种是将文件读取为流。 一次性读取的缺点是需要将文件内容一次性全部载入到内存中,如果遇到文件比较大的情况,就会比较尴尬。所以还需要流式读取文件的方 ... »

dart系列之:实时通讯,在浏览器中使用WebSockets

简介 web客户端和服务器端通信有两种方式,一种是使用HTTP请求,从服务器端请求数据。这种请求的缺点就是只能客户端拉取服务器端的数据,只能进行轮询。 另外一种方式是使用WebSocket,在客户端和服务器端之间建立通道,这样服务器就可以直接向客户端推送消息,避免了客户端频繁的拉取服务器端的数据,造 ... »

dart系列之:浏览器中的舞者,用dart发送HTTP请求

简介 dart:html包为dart提供了构建浏览器客户端的一些必须的组件,之前我们提到了HTML和DOM的操作,除了这些之外,我们在浏览器端另一个常用的操作就是使用XMLHttpRequest去做异步HTTP资源的请求,也就是AJAX请求。 dart同样提供了类似JS中XMLHttpRequest ... »

Dart Vs JavaScript

今天我们来比较两种在跨平台移动应用开发中最具竞争力的编程语言: Dart Vs JavaScript。 JavaScript 和 Dart 都是跨平台移动应用程序开发的不错选择,可 »

xiaonian8

[Dart语法]第二章:变量与常量

变量与常量 dart属于强类型语言,变量需要先定义再使用。 var声明变量(dart自动推导出数据类型) var name = '张三'; var age = 14; 其他数据类型声明 »

TobuTobu

dart系列之:HTML的专属领域,除了javascript之外,dart也可以

简介 虽然dart可以同时用作客户端和服务器端,但是基本上dart还是用做flutter开发的基本语言而使用的。除了andorid和ios之外,web就是最常见和通用的平台了,dart也提供了对HTML的原生支持,这个支持就是dart:html包。 dart:html提供了对DOM对象的各种有用的操 ... »

dart系列之:时间你慢点走,我要在dart中抓住你

简介 时间和日期是我们经常会在程序中使用到的对象。但是对时间和日期的处理因为有不同时区的原因,所以一直以来都不是很好用。就像在java中,为时间和日期修改和新增了多次API,那么作为新生的语言dart而言,会有什么不一样的地方吗? dart中关于日期和时间的两个非常重要的类是DateTime和Dur ... »

URL URI傻傻分不清楚,dart告诉你该怎么用

简介 如果我们要访问一个网站,需要知道这个网站的地址,网站的地址一般被称为URL,他的全称是Uniform Resource Locator。那么什么是URI呢? URI的全程是Uniform Resource Identifier,也叫做统一资源标志符。 URI用来对资源进行标记,而URL是对网络 ... »

没有人比我更会使用集合!对, 是dart中的集合

简介 dart中的集合有三个,分别是list,set和map。dart在dart:core包中提供了对于这三种集合非常有用的方法,一起来看看吧。 List的使用 首先是list的创建,可以创建空的list或者带值的list: var emptyList =[]; var nameList = ['j ... »

dart系列之:在dart中使用生成器

简介 ES6中在引入异步编程的同时,也引入了Generators,通过yield关键词来生成对应的数据。同样的dart也有yield关键词和生成器的概念。 什么时候生成器呢?所谓生成器就是一个能够持续产生某些数据的装置,也叫做generator。 两种返回类型的generator 根据是同步生成还是 ... »