把年初对dart/flutter/RN的分享内容慢慢整理下, 希望对刚入门app开发的同学有用.
Dart是什么?
- Google造的轮子(弥补js的不足)
- 落: JavaScript(NodeJS/React/RN/Vue等)崛起
- 起: Google内部孵化了Sky项目(用Dart编写, 后改名Flutter)
- Google的未来操作系统Fuchsia中,Dart被指定为官方的开发语言
- 2018年8月正式发布 Dart 2.0
- Dart可运行在有自己的VM上(DartVM), 也可以编译成Native Code运行在硬件上(Flutter将代码编译成Native Code).
Dart特性
- 单线程异步事件模型(single-threaded), similar to NodeJS
- 强类型语言,支持弱类型写法(2.0开始)
- DartVM的性能比肩Java7的JVM(作者Lars Bak负责了 HotSpot JVM/V8 engine)
- 面向对象的,一切数据类型派生自 Object
- 独特的隔离区(Isolate), 可以实现多线程 (与线程类似但不共享内存)
- Future、Stream模型(Dart:async库的核心API, 异步编程)
- 跨平台: 前端、后端、移动
Dart的方向 (Flutter: iOS,Android,Fuchsia,web,desktop)
- Native (原生, 移动app/桌面程序)
- server-side(Server端, 异步高并发/Isolate多线程)
- client-side(前端, 利用dart2js编译成js)
Dart 语法
main() { // 应用的入口, 程序开始执行的地方
print("Hello, world!"); // 打印信息
}