首页 > 其他分享 >Dart语言简介

Dart语言简介

时间:2022-12-04 22:25:56浏览次数:41  
标签:Web 语言 简介 应用程序 dart 编译器 AOT Dart

简单介绍Dart语言

Dart是一种针对客户优化的语言,亦可在任何平台上快速开发的应用陈旭。
目标是为多平台开发提供最高效的变成语言,并为应用程序框架搭配了领会的运行时执行平台。

Dart特点

Dart语言

  1. 类型安全,使用静态型检查来确保变量的值 始终与变量的静态类型相匹配
  2. 健全的空值安全,只有声明值可以为空,值才可以为空

Dart库

  • 为每个 Dart 程序提供的内置类型,集合与其他核心功能 (dart:core)

  • 更丰富的集合类型,诸如队列、链接列表、哈希图和二叉树 (dart:collection)

  • 用于在不同的数据表示形式之间进行转换编码器和解码器,包括 JSON 和 UTF-8 (dart:convert)

  • 数学常数和函数,以及随机数生成 (dart:math)

  • 为非 Web 应用程序提供的文件、套接字、HTTP 和其他 I/O 支持 (dart:io)

  • 异步编程支持,比如 Future 和 Stream 类 (dart:async)

  • 能够有效处理固定大小的数据(例如,无符号的 8 字节整数)和 SIMD 数字类型的列表 (dart:typed_data)

  • 用于提供 C 语言风格代码互通性支持的外部函数接口 (dart:ffi)

  • 使用 isolates 的并发编程 — 这些独立的工作程序与线程相似但它们不共享内存并仅通过消息进行通信 (dart:isolate)

  • 基于 Web 的应用程序中需要与浏览器和文档对象模型 (DOM) 交互的 HTML 元素和其他资源 (dart:html)

除了核心库,Dart还通过一整套软件包提供了许多API。Dart团队发布了许多有用的补充包,
image

Dart平台

Dart的编译器技术可让您以不同方式运行代码

  • 原生平台:针对面向移动和桌面设备的应用程序,Dart拥有具有实时(JIT)编译功能的DartVM和用于生成机器代码的提前(AOT)编译器
  • Web平台:Dart可用于编译开发和生产阶段的面向Web的应用,它的Web编译器可将Dart转换为JavaScript
    image

Flutter 框架 是一款流行的多平台 UI 工具包,由 Dart 语言强力驱动,提供一套工具和 UI 库,帮助开发者们在 iOS、Android、macOS、Windows、Linux 和 Web 平台构建优秀的 UI 体验。

原生平台的 Dart (JIT 和 AOT 机器码)
在开发过程中,快速的开发周期对于迭代至关重要。 Dart VM 提供了一个实时编译器 (JIT),编译器拥有增量重编译功能 (支持热重载)、运行数据收集(用于驱动 DevTools)以及丰富的开发调试支持。

当应用程序可以部署到生产环境时 (无论是发布到应用商店还是部署到生产后端), Dart AOT 编译器可以编译成原生的 ARM 或 x64 的机器码。经过 AOT 编译的应用程序将稳定快速地启动。

经过 AOT 编译的代码会在高效的 Dart 运行环境中运行,该运行环境拥有健全的 Dart 类型系统,并使用快速对象分配和 分代垃圾收集器 来管理内存。

标签:Web,语言,简介,应用程序,dart,编译器,AOT,Dart
From: https://www.cnblogs.com/ltgybyb/p/16950974.html

相关文章

  • Http、Https简介和Session、token的请求流程
    Http    Http(超文本输出协议)是一种分布式、协作式和超媒体信息系统的应用层协议,它通常运行在TCP之上,因特网应用最广泛的便是Http协议,所有www都遵循这个标准。主......
  • 排序简介
    排序的概念及其运用排序:所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。稳定性:假定在待排序的记录序列中,存在多个具有相同的关键......
  • C语言中中实现hash表
    在C语言中引入开源代码uthash实现hash表参考https://zhuanlan.zhihu.com/p/340692819https://www.cnblogs.com/dongxb/p/14212531.html......
  • 【C语言】自定义一个模仿strlen()函数功能的函数
    自定义一个模仿strlen()函数功能的函数//my_strlen()函数声明,返回字符数组中字符的个数//参数为字符数组的地址intmy_strlen(char*str);intmain(void){ charch[......
  • 【C语言】递归打印两数之间的值
    递归打印m到n的值#include<stdio.h>//递归打印min到max的值://min最小值max最大值:intf(intmin,intmax){if(max<min){printf("输入错误:\n"......
  • 【C语言】【共用体和结构体】有若干个人员的数据,其中有老师和学生,学生的数据中包括:姓
    【结构体】结构体使用struct声明,花括号内的子项称为结构体的成员,结构体名是用户自己指定的,又称为结构体标记。【共用体】共用体用union声明。用法和结构体相似。区别:共用体......
  • 【C语言】指针Ⅰ--- 概念、前言、内存、地址与指针。
    ......
  • WebGIS|GeoJSON简介
    简介GeoJSON是用JSON的语法表达和存储地理数据,可以说是JSON的子集。图片数据参考:http://geojson.ioGeoJSON对象GeoJSON总是由一个单独的对象组成。GeoJSON对......
  • MySQL高级语言(二)
    一、视图1、VIEW1.1概念可以被当作是虚拟表或存储查询视图跟表格的不同是,表格中有实际储存资料,而视图是建立在表格之上的一个架构,它本身并不实际储存资料。临时表在......
  • 给Typora的代码块设置默认语言
    1、链接下载ahk。https://autohotkey.com/download/ahk-install.exe 并安装2、编写脚本:新建一个txt文本,utf-8格式,将代码粘贴到文本内,扩展名为:ahk1#IfWinActiveahk_e......