flutter的引擎,Dart语言概括

这篇具有很好参考价值的文章主要介绍了flutter的引擎,Dart语言概括。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

什么是Dart?

Dart是谷歌开发的,类型安全的面向对象的编程语言,被应用于Web、服务器、移动应用和物联网等领域。

dart是谷歌在2011年推出的编程语言。谷歌希望使用dart来取代JavaScript。谷歌是一个颠覆式创新公司,谷歌退出golang是为了取代java,c++。谷歌退出flutter就是为了取代RN。dart的情况也是类似的。谷歌工程师觉得JavaScript有无法弥补的设计缺陷,所以就开发了dart,但是dart作为JavaScript的取代者,他并没有获得成功,然而是JavaScript后来因为nodejs的崛起成为了全栈语言前后端通吃。那dart也就进行了转变,作为flutter的开发语言重新出山

Dart最大的特点是什么?

他同时支持 JITAOT 两种模式
我们开发阶段使用JIT
我们在发布阶段是AOT
完美实现了鱼和熊掌兼得,开发效率和运行效率都是业界标杆

1.JIT 是just in time

开发效率特别高,但是因为需要实时编译,性能会受到一定的影响

运行的时候实时进行编译。
及时编译可以简单的理解为脚本语言
他一边解释一遍执行,他不需要事先编译
可以动态的下发和执行代码,这就实现了flutter最受欢迎的功能叫热重载(hot reload)

代表语言有:JavaScript python 等等

2.AOT 是 ahead of time

运行前先编译,要生成二进制代码,由机器直接执行,好处是 速度快性能高

但是每次执行之前,他都需要提前去编译,编译需要花费一些时间,所以开发效率会相对低一点

代表语言有: C Golang 等等

Dart另外一个特点-单线程模型

我们在编程的时候都是需要支持并发。并发的支持目前主流有两种方式

一种是通过内存共享的方式,采用抢占加锁的方式来实现线程,进程直接的切换,从而实现并发,像c语言之类的就是这么做的(难度高,容易出错)。
另外一种没有共享内存,各个worker之间,通过消息通信来协调的

dart没有共享内存,只有单线程,是单线程模型,它可以有多个isolate(隔离) 通过event loop 、event queue 来传递消息来协调 isolate的工作。这种模式的概念相对会比较简单。代码写起来和维护起来都相对比较容易,对并发的支持也比较好。

Dart有那些运行方式?

  • 原生虚拟机(Dart代码可以运行在Windows、Mac、Linux上)
  • JavaScript引擎(Dart代码可以转成JS代码,然后运行在浏览器上)

pub 类似npm的工具

pub pub是管理包的工具类似npm
https://pub.dev 是包的仓库 类似 https://www.npmjs.com/
flutter的引擎,Dart语言概括文章来源地址https://www.toymoban.com/news/detail-421593.html

到了这里,关于flutter的引擎,Dart语言概括的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Flutter Dart FFI Pointer<Uint8>类型如何转成数组或String

    继上一次发布的 Flutter 直接调用so动态库,或调用C/C++源文件内函数 内容,最终我选择了第二种方式, 直接把整个 Native C++ 的项目源代码放进了 Flutter 工程里编译 (放在iOS的目录是因为它不支持自定义源码路径,Android是可以的)。这样的好处是 Android 和 iOS 两个平台都不需要

    2024年02月04日
    浏览(37)
  • 【Flutter 开发实战】Dart 基础篇:List 详解

    嗨,各位朋友们,欢迎来到这篇博客!今天我们将一起踏入 Dart 语言的神奇世界,深入了解 Dart 中的 List 类型。不用担心,我会尽可能用最通俗易懂的语言,让你对 List 有一个更深刻的理解。 List - 让数据变得有趣! 在 Dart 语言中,List 就像一个神奇的盒子,可以放进去各种

    2024年01月21日
    浏览(37)
  • flutter开发实战-jsontodart及 生成Dart Model类

    flutter开发实战-jsontodart及 生成Dart Model类。 在开发中,经常遇到请求的数据Json需要转换成model类。这里记录一下Jsontodart生成Dart Model类的方案。 在开发中经常用到将json转成map或者list。通过json.decode() 可以方便 JSON 字符串转为 List/Map 如 转换成Map 在自定义类中经常将请求封装,

    2024年02月15日
    浏览(28)
  • 【Flutter 开发实战】Dart 基础篇:条件循环表达式

    Dart 是一门强大的编程语言,其条件和循环表达式在编写灵活、高效代码中起着关键作用。本文将深入介绍 Dart 中的条件表达式、循环表达式、以及如 for 、 while 、 do...while 、 break 、 continue 等内容,旨在为初学者提供清晰的指导。 Dart 中的条件表达式主要通过 if 语句

    2024年02月01日
    浏览(39)
  • flutter开发实战-长链接WebSocket使用stomp协议stomp_dart_client

    flutter开发实战-长链接WebSocket使用stomp协议stomp_dart_client 在app中经常会使用长连接进行消息通信,这里记录一下基于websocket使用stomp协议的使用。 1.1 stomp介绍 stomp,Streaming Text Orientated Message Protocol,是流文本定向消息协议,是一种为MOM(Message Oriented Middleware,面向消息的中间件

    2024年02月13日
    浏览(33)
  • 【Flutter】Flutter Dart 获取当前时间戳

    在日常的软件开发中,我们经常需要获取当前的时间戳。无论是用于日志记录,还是用于生成唯一标识符,或者是用于时间同步,时间戳都发挥着重要的作用。 本文将详细介绍如何在 Flutter 和 Dart 中获取当前时间戳。 通过阅读本文,你将掌握以下知识: 了解时间戳的重要性

    2024年02月12日
    浏览(27)
  • Flutter学习2 - Dart

    Dart语言特点: Dart 2.0 开始便是强类型语言,而且是静态类型的(可以类比Java,C#等) 强类型语言的优点:所有类型的检查必须在编译的时候完成 前端开发的 js 语言是弱类型的语言 强类型的语言需要在定义的时候指定类型,如果不指定,编译器也可以在赋值的时候推断出变

    2024年02月21日
    浏览(32)
  • 运用谷歌浏览器的开发者工具,模拟搜索引擎蜘蛛抓取网页

    第一步:按压键盘上的F12键打开开发这工具,并点击右上角三个小黑点 第二步:选择More tools 第三步:选择Network conditions 第四步:找到User agent一列,取消复选框的勾选 第五步:选择谷歌爬虫agent即Googlebot 第六步:在当前浏览器地址栏中,输入想要访问的网站地址,直接访问

    2024年02月03日
    浏览(36)
  • Flutter系列文章-Flutter环境搭建和Dart基础

    Flutter是Google推出的一个开源的、高性能的移动应用开发框架,可以用一套代码库开发Android和iOS应用。Dart则是Flutter所使用的编程语言。让我们来看看如何搭建Flutter开发环境,并了解Dart语言的基础知识。 1. 安装Flutter SDK 首先,访问Flutter官网下载Flutter SDK。选择适合你操作系统

    2024年02月15日
    浏览(33)
  • 无涯教程-Flutter - Dart简介

    Dart是一种开源通用编程语言,它最初是由Google开发的, Dart是一种具有C样式语法的面向对象的语言,它支持诸如接口,类之类的编程概念,与其他编程语言不同,Dart不支持数组, Dart集合可用于复制数据结构,例如数组,泛型和可选类型。 以下代码显示了一个简单的Dart程序

    2024年02月10日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包