02 | 预习篇 · Dart语言概览
该思维导图由 AI 生成,仅供参考
Dart 是什么?
- 深入了解
- 翻译
- 解释
- 总结
Dart语言作为一种由Google推出的编程语言,旨在解决JavaScript存在的缺陷。该语言具有支持JIT和AOT的编译模式,简单的内存管理和适用于移动开发的特性,使其成为Flutter开发的理想选择。文章还提到了Dart的转型,如在移动开发框架Flutter中的应用以及在Google未来操作系统Fuchsia中的指定使用。Dart的未来发展取决于Flutter和Fuchsia的成功,而Flutter作为跨平台开发领域的终极解决方案,前途光明,未来非常值得期待。总的来说,Dart语言集合了各种优秀语言的优点,对于有其他编程语言经验的开发者来说,上手成本极低。文章通过介绍Dart的历史背景、特性以及未来发展,为读者提供了对Dart语言的全貌和未来发展的了解。
《Flutter 核心技术与实战》,新⼈⾸单¥59
全部留言(42)
- 最新
- 精选
- reven404入门简单,精通难. 如何掌握一门语言的精髓呢?
作者回复: 首先明确,我们学习一门编程语言并不是为了成为语言专家,而是为了解决实际问题。我认为通过1-2天的学习,在了解一门语言是如何表达信息和处理信息之后,语言的基本套路就搞懂了,然后可以根据实际问题上手去实践,找相应成熟的框架和库,边做边学,加深理解。
2019-07-0149 - 朱雯这一篇其实我没怎么读懂,说说我的问题吧。 关于单线程问题:一般来说,多线程用于解决并发问题,Isolate这种不共享内存却类似与线程的东西我怎么看都像进程,多线程对比多线程的优势在于它可以节约资源,那么isolate是否是没有多线程优点呢,如果是为什么要放弃多线程的优点,只是线程安全问题吗。2:一个函数必然执行完成的设计,假如在这个语言种加入了io操作,后面的程序要跑,岂不是要等非常长的时间,这不是又要回到多线程上吗
作者回复: 我们需要建立起这么一个概念,单线程也是可以异步执行的: 1.App绝大多数时间都在等待(等待用户交互、等待网络请求返回、等待I/O结果) 2.等待行为并不是阻塞的,以I/O和网络访问为例,操作系统均提供了非阻塞型API,事件回调告知状态 如果对这一块内容不清楚的话,可以看下之前我在GMTC 2019上的分享:《Event Loop、Future与Isolate - 单线程模型下的Dart异步编程模式》 后续分享我也会专门介绍Dart的异步和并发。
2019-07-05414 - 不拘小节大神请教一个问题,一个ListView,里面套了一个Row,Row有两个Container,第一个Container设置宽高,第二个设置高度,想第二个宽度自适应撑满ListView,有什么方案吗
作者回复: 试试IntrinsicHeight,这个组件会根据实际情况把子widget的高度调整它本身实际的高度。 IntrinsicHeight( child: Row(children: [ Container(width: 100,color: Colors.yellow), Expanded(flex:1,child: Container(height:300, color: Colors.amber)), ]), ) );
2019-07-03213 - 创建昵称flutter现在计量单位是什么dp还是px,屏幕适配怎么解决!
作者回复: 通常是dp
2019-07-0238 - Geek_a9f943目前网上关于dart资料都还比较少,请问有关于dart学习的书籍推荐嘛?
作者回复: 首先明确,我们学习一门编程语言并不是为了成为语言专家,而是为了解决实际问题。语言的知识体系也有所谓的28原则,我认为通过1-2天的学习,在了解一门语言是如何表达信息和处理信息之后,语言的基本套路就搞懂了,然后可以根据实际问题上手去实践。Dart的精髓在于其简洁而强大的语法特性,在解决问题时顺便去读一些Flutter的源码,了解Dart是如何从语言特性上支持这些功能 边做边学,加深理解就可以了。 所以我不太建议在已经有其他编程语言基础的情况下再去系统的学习Dart,如果对Dart确实很感兴趣,可以参考官方的教程:https://dart.dev/guides/language
2019-07-027 - YOUNGRN最大的优势就是热更新,Flutter会有支持的可能吗?
作者回复: Flutter高性能的其中一个重要因素就是因为Dart在发布期是AOT,所以Google是不可能改成动态编译的,另外苹果也不允许除了JSCore之外的其他动态编译/解释执行环境。 不过如果你的诉求是希望能够实现动态界面,目前业界已经有在上层封装DSL实现Flutter动态布局的实践了,可以看看GMTC大会上美团和微信的分享
2019-07-026 - 呼呼在写flutter app的过程中,遇见一个问题,想请教一下。一级页面push到二级页面,或者二级页面pop回去的时候,一级页面都会重新build一次(一级页面和二级页面都是通过provide进行状态管理的),导致页面很卡顿。
作者回复: 有一些通用的改造方法,比如不要直接在根部直接套StatefulWidget,而是把可变部分最小化;引入key,或是重写canUpdate方法
2019-07-025 - sidDart VM 的内存分配策略比较简单,创建对象时只需要在堆... 极客时间版权所有: https://time.geekbang.org/column/article/104071 对这句话有所疑问,dart是如何处理堆碎片以及一次分配超大内存的问题呢?
作者回复: 1.GC会在应用的空闲时间进行内存压缩,从而较少内存碎片来优化内存。 2.任何时候只用一半,如果一半要满了,活动的对象将会被复制到另一半空间中,一半就会全部清空。
2019-08-1234 - LQ1. 控件布局,写法和可读性给我感觉还是不怎么习惯。 2. 没有可视化的布局工具,手写布局给人感觉还是比较痛苦。 3. 不同android设备的兼容性,这个也是困扰我的问题之一,在oppo,vivo上还好好的,在华为手机上就显示不出来。
作者回复: 这种情况一般是布局约束写的有问题,建议多试试几种不同的分辨率,也关注下运行时异常
2019-07-024 - 公众号:业余草Flutter 是不是代表着未来,这是一个后起之秀啊。看的我都想写一些入门教程了!
作者回复: 加油
2019-07-023