Dart语言简介

news2024/9/20 16:59:35

简单介绍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团队发布了许多有用的补充包,
在这里插入图片描述

Dart平台

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

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

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 类型系统,并使用快速对象分配和 分代垃圾收集器 来管理内存。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/62024.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux命令之常用基础命令备查手册

一、前言 家里领导因公司系统部署国产化发展趋势,需要学习Linux。作为Linux初学者,希望能有一篇博文提供学习快速学习和掌握Linux系统的常用基础命令。为了满足领导要求,特编写此博文,尽量将常用Linux命令囊括进来,以示…

基于ssm的宠物商城网站设计与实现

项目描述 临近学期结束,还是毕业设计,你还在做java程序网络编程,期末作业,老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。这里根据疫情当下,你想解决的问…

HTML5期末大作业:基于HTML+CSS+JavaScript实现中国风文化传媒企业官网源码

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…

【一条命令搞定rabbitmq的安装与配置】

提示:宝塔面板安装docker/docker-compose,一条命令搞定rabbitmq的安装与配置 文章目录前言一、docker-compose.yml配置二、安全组规则添加端口三、通过浏览器访问rabbitmq的管控页面总结前言 已经安装好了宝塔面板、并且可以在Docker栏目,选…

[附源码]计算机毕业设计物业管理系统Springboot程序

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

微服务框架 SpringCloud微服务架构 16 SpringAMQP 16.2 入门案例的消息发送

微服务框架 【SpringCloudRabbitMQDockerRedis搜索分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】 SpringCloud微服务架构 文章目录微服务框架SpringCloud微服务架构16 SpringAMQP16.2 入门案例的消息发送16.2.1 直接开干16.2.2 总结16 Spri…

八股文之算法

文章目录剑指offer链表1 从尾到头打印链表方案一:非递归方案二:递归方案三:普通数组存储方案三:递归2 链表反转方案一:使用栈解决方案二:双指针迭代方案三:递归3 反转链表一部分方法一&#xff…

Android 基础知识3-4 Activity的声明周期

引言: 在前面的几个例子中,我们发现所有集成Activity的类都重写了onCreate方法,程序运行就会自动进入这个方法。其实Activity类中还有很多类似onCreate的方法,比如onStart、onReaume、onPause、onDestroy等,而这些方法…

[黑马程序员C++笔记]P168-P173模板-函数模板

视频地址:黑马程序员匠心之作|C教程从0到1入门编程,学习编程不再难_哔哩哔哩_bilibili 目录 P167模板-模板的概念 P168模板-函数模板的基本语法 P169模板-函数模板的注意事项 P170模板-函数模板案例-数组排序 P171模板-普通函数与函数模板的区别 P172模板-普通…

Android 接口的default 方法运行时报错AbstractMethodError

【问题描述:接口default方法AbstractMethodError】 记录一个Android项目中遇到的问题,我们通过exclude方式重写了一个依赖,改用本地的实现,其中一个接口的default 方法,在运行时报错:AbstractMethodError&…

Mysql之存储引擎

目录 一、存储引擎概念 二、MyISAM的特点介绍 三.InnoDB特点 对比InnoDB和MyISAM 死锁 查看系统支持的存储引擎 查看表的使用存储引擎 修改存储引擎 一、存储引擎概念 MySQL中的数据用各种不同的技术存储在文件中,每一种技术都使用不同的存储机制、索引技巧…

sql serve数据库基础入门(2)

前言 🎈个人主页:🎈 :✨✨✨初阶牛✨✨✨ 🐻推荐专栏: 🍔🍟🌯 c语言初阶 🔑个人信条: 🌵知行合一 🍉本篇简介:>: 在上一篇的最后,牛牛介绍了怎么创建表,本篇牛牛介绍如…

【华为上机真题 2022】拼接URL

🎈 作者:Linux猿 🎈 简介:CSDN博客专家🏆,华为云享专家🏆,Linux、C/C、云计算、物联网、面试、刷题、算法尽管咨询我,关注我,有问题私聊! &…

Android-Jetpack Compose的简单运用

一.初步认识Jetpack Compose 1.什么是Jetpack Compose Jetpack Compose 是一个用于构建原生Android UI 的现代化工具包,它基于声明式的编程模型,因此你可以简单地描述UI的外观,而Compose则负责其余的工作-当状态发生改变时,你的…

端口转发工具Rinetd详细入门教程

目录 条件 下载 安装 方法A.shell安装 方法B.shell脚本安装 配置rinetd.conf文件 编辑器A:nano(新手友好) 编辑器B:vim rinetd开关 A.配置启动 B.脚本启动 创建脚本 启动 测试 参考链接 条件 有root权限rinetd.c…

HTML+CSS抗疫网页设计 疫情感动人物静态HTML网页 web前端开发技术 web课程设计 网页规划与设计

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…

基于X86的运算板卡加速边缘智能应用

XM-SOM-6801是一款基于Haswell-M平台的标准COME TYPE6模块。它是标准的COME TYPE6的规格,尺寸仅有125mm95mm。该模块汇集了Haswell-M平台高中低三档的CPU,分别是I7-4900MQ/I5-4300M/I3-4100M CPU。该CPU具有强大的运算能力,可广泛应用于通信、…

[附源码]Python计算机毕业设计SSM敬老院信息管理系统(程序+LW)

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

[附源码]计算机毕业设计小区疫情事件处理系统Springboot程序

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

idea maven构建.jar包镜像 发布到远程Linux docker 镜像

最近在用IDEA,在连接docker的时候发现一直提示:no further information。按照网上的操作方式来做,发现问题一直存在。 重启docker发现没有什么用。 最后想了想可能是docker的版本问题。现在国内很多的信息都相对来说比较晚。 docker --versio…