日期: 八月 2019
193
入坑 Flutter 前你需要知道的一些 XXX

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

188
MacOS 下安装多个版本的 JDK 并统一管理

现在的 MacOS 都不自带 JDK 了,如果你在未安装 JDK 的 MacOS 中执行 Java 命令会出现如下提示: AigeStudio@aige$ java -version No Java runtime present, requesting install. 然后 MacOS 会提示你 JDK 未安装: 点击更多信息的话就会去到 Oracle 的 JDK 下载页让你下载安装,在稍微早一点的 MacOS 版本中点击更多信息会让你跳转至 Apple 的 JDK 6 下载页,不管怎么个方式,MacOS 就是要你自己去安装 JDK,自行下载安装包安装 JDK 虽然可行,但是 JDK 的包…

142
巧用 iTerm2 & zsh & oh-my-zsh 打造炫酷的 MacOS 终端环境

MacOS 系统自带的 Bash 虽然已经很强大,但是对于一些细节功能的支持并不完美,重点是对于一个颜控来说,原生 Bash 真的很丑……可塑性也不高。本文将使用 iTerm2 这款被各路大牛吹爆的 MacOS 平台最好用终端结合 zsh 来打造一个炫酷的终端环境。最终效果大致如下: 左边是原生 Bash 默认状态,右边是 iTerm2 做完整容手术后的样子。本文我们只整容,不介绍 iTerm2 和 zsh 的相关功能,关于这两者的强大功能你完全可以自窥对应的官方文档自行修炼。最后,你可能会问:问什么要这么炫酷的终端环境呢?这个问题的答案就好比为什么喜欢看帅气小伙或漂亮妹子一样简单~ 安装 i…

167
MacOS 安装 brew 并配置 cask

brew 是 MacOS 平台上非常优秀的包管理工具,其本质是下载相关 pkg 的源码后执行 “configure && make install” 编译安装,同时会安装 pkg 所依赖的三方库并且配置好相关的环境变量。当然,卸载某个 pkg 也是只需一个简单的 “uninstall” 命令。这大大节省了我们的工作量。 安装 brew 非常简单,只需根据官网主页所给的命令安装即可: AigeStudio@aige$ /usr/bin/ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/…

85
总结

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

71
注释

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

140
元数据

本篇为 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 有它…

236
可调用类

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

下一页