Flutter学习笔记(2)--Dart语言简介
Dart简介:
Dart诞生于2011年10月10日,Dart是一种“结构化的web编程”语言,Dart虽然是谷歌开发的计算机编程语言,但后来被ECMA认定位标准,这门语言用于Web、服务端、移动应用和物联网等领域的开发;
编程语言有这么多种类,Flutter为什么要选择Dart作为开发语言呢?这是因为Dart更符合构建用户界面的方式;
以下是Flutter团队看重Dart语言的部分特性:
1.Dart是AOT(Ahead Of Time)编译的,编译快速,可预测的本地代码,是Flutter几乎都可以使用Dart编写,这不仅使Flutter变得更快,而且几乎所有的组件都可以定制;
2.Dart也可以JIT(Just In Time)编译,开发周期异常快,工作流颠覆常规(包括Flutter的热重载);
3.Dart可以更轻松的创建以60fps运行的流畅动画和转场,Dart可以在没有锁的情况下进行对象分配和垃圾回收,就像JavaScript一样,Dart避免了抢占式调度和共享内存(因此不需要锁),由于Flutter应用程序被编译为本地代码,因此不需要在领域之间建立缓慢的桥梁,它的启动速度也快的多;
4.Dart使Flutter不需要单独的声明式布局语言,或单独的可视化界面构建器,因为Dart的声明式编程布局易于阅读和可视化,所有的布局使用一种语言,聚集在一处,Flutter很容易提供高级工具,使布局更简单;
Dart重要概念:
1.所有的东西都是对象,无论是变量、数字、函数等都是对象。所有的对象都是类的实例。所有的对象都继承自内置的Object类,这点类似于Java语言“一切皆为对象”;
2.程序中制定数据类型使得程序合理地分配内存空间,并帮助编译器进行语法检查,但是,指定类型不是必须的,Dart语言是弱数据类型;
3.Dart代码在运行前解析,指定数据类型和编译时的常量,可以提高运行速度;
4.Dart程序有统一的程序入口:main();
5.Dart没有public、protected和private的概念,私有特性通过变量或函数加上下划线来表示;
6.Dart支持anync/await异步处理;
7.Dart语言常用库:
dart:async 异步编程支持,提供Future和Stream类;
dart:collection 对dart:core提供更多的集合支持;
dart:convert 不同类型(JSON,UTF-8)间的字符编码、解码支持;
dart:core Dart语言内建的类型、对象以及dart语言核心的功能;
dart:html 网页开发用到的库;
dart:io 文件读写I/O相关操作的库;
dart:math 数字常量及函数,提供随机数算法;
dart:svg 事件和动画的矢量图象支持;
其中如下三个开发库的使用频率最高:
dart:core 核心库,包括strings、numbers、collections、errors、dates、URIs等;
dart:html 网页开发里DOM相关的一些库;
dart:io I/O命令行使用的I/O库;
注:dart:core库是Dart语言初始化已经包含的库,其他的任何库在使用前都需要加上import语句。列如使用dart:html可以使用如下的命令:import ‘dart:html’
Flutter学习笔记(2)--Dart语言简介的更多相关文章
- Flutter学习二之Dart语言介绍
上次我记录了Flutter的环境搭建,这次来简单记录一下Drat语言,Flutter是 Google推出并开源的移动应用开发框架,开发语言是Dart,那么Dart语言和其他的语言在语法上有上面区别呢, ...
- Flutter学习笔记(3)--Dart变量与基本数据类型
一.变量 在Dart里面,变量的声明使用var.Object或Dynamic关键字,如下所示: var name = ‘张三’: 在Dart语言里一切皆为对象,所以如果没有将变量初始化,那么它的默认值 ...
- Flutter学习笔记(4)--Dart函数
如需转载,请注明出处:Flutter学习笔记(4)--Dart函数 Dart是一个面向对象的语言,所以函数也是对象,函数属于Function对象,函数可以像参数一样传递给其他函数,这样便于做回调处理: ...
- Flutter学习笔记(5)--Dart运算符
如需转载,请注明出处:Flutter学习笔记(5)--Dart运算符 先给出一个Dart运算符表,接下来在逐个解释和使用.如下: 描述 ...
- Flutter学习笔记(8)--Dart面向对象
如需转载,请注明出处:Flutter学习笔记(7)--Dart异常处理 Dart作为高级语言,支持面向对象的很多特性,并且支持基于mixin的继承方式,基于mixin的继承方式是指:一个类可以继承自多 ...
- Flutter学习笔记(6)--Dart流程控制语句
如需转载,请注明出处:Flutter学习笔记(5)--Dart流程控制语句 条件语句:if.if...elseif.if...elseif...else ; ) { print('优秀'); } &g ...
- Flutter学习笔记(6)--Dart异常处理
如需转载,请注明出处:Flutter学习笔记(6)--Dart异常处理 异常是表示发生了意外的错误,如果没有捕获异常,引发异常的隔离程序将被挂起,并且程序将被终止: Dart代码可以抛出并捕获异常,但 ...
- Flutter学习笔记(1)--环境安装
flutter最近显得格外的火,公司的同事也一直在谈论flutter,感觉自己不学学就要失业了...所以决定顺应潮流学习以下flutter,做一下学习笔记,希望可以给需要的同学带来一些帮助~ 正文为f ...
- Flutter学习笔记(15)--MaterialApp应用组件及routes路由详解
如需转载,请注明出处:Flutter学习笔记(15)--MaterialApp应用组件及routes路由详解 最近一段时间生病了,整天往医院跑,也没状态学东西了,现在是好了不少了,也该继续学习啦!!! ...
- Flutter学习笔记(9)--组件Widget
如需转载,请注明出处:Flutter学习笔记(9)--组件Widget 在Flutter中,所有的显示都是Widget,Widget是一切的基础,我们可以通过修改数据,再用setState设置数据(调 ...
随机推荐
- 推荐一些C#相关的网站和书籍
1.http://msdn.microsoft.com/zh-CN/ 微软的官方网站,C#程序员必去的地方.那里有API开发文档,还有各种代码.资源下载. 2.http://social.msdn.m ...
- Eclipse中设置自定义文档签名
今天第一次认真学习eclipse的使用,看到自定义文档签名,步骤如下: 1.点击window->preferences->java->Code Style->Code Temp ...
- background意识(两)
今天看到了有关学习的价值的文章background于 [0积分下载我的小Demo]
- 关于iis里面 .net framework 版本的切换
然而,即便这样还是不够的 在iis上浏览网站会报以下错误: 这是什么原因呢?这是因为应用程序池中没有使用asp.net v4.0 网站程序是用v4.0写的,所以我们要用4.0的程序池版本,当前应用程序 ...
- PMP项目经理认证
PMP认证是由美国项目管理学会(PMI)在全球范围内推出的针对项目经理的资格认证体系,通过该认证的项目经理叫"PMP",即Project Management Profession ...
- Python抓取框架:Scrapy的架构
最近在学Python,同时也在学如何使用python抓取数据,于是就被我发现了这个非常受欢迎的Python抓取框架Scrapy,下面一起学习下Scrapy的架构,便于更好的使用这个工具. 一.概述 下 ...
- ASP.NET Core Razor 视图起始页 - ASP.NET Core 基础教程 - 简单教程,简单编程
原文:ASP.NET Core Razor 视图起始页 - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core Razor 视图起始页 上一章节中我们介绍了布局视图, ...
- window下nodejs爬取gb2312网页出现乱码的解决方案
发布于 2012-8-22 18:15 5230 次浏览 最后一次编辑是 2013-2-18 22:31 linux环境下,我们可以通过 iconv 这个C++模块来处理Node.JS不支持的字 ...
- WPF 打印实例
原文:WPF 打印实例 在WPF 中可以通过PrintDialog 类方便的实现应用程序打印功能,本文将使用一个简单实例进行演示.首先在VS中编辑一个图形(如下图所示). 将需要打 ...
- xadmin下修改左道航的显示不是中文字修改方法
解决方案: 在对应的apps下有一个apps.py文件添加verbose_name=u"想要的字" 在对应的__init__.py 添加 default_app_config= ...