`
somefuture
  • 浏览: 1090147 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

(翻译)Dart语言概览

阅读更多

技术概论

 

Dart是一种基于类的新式编程语言,用来创建结构化的Web应用。 Dart的目标是开发的建议性、高效性、可扩展性,它整合了几种新的语言特性,具有清晰易读的语法。

Note:  本文是该语言及其开发环境的早期预览。现在可能还没有一些元素,并且我们会根据反馈来调整细节。

 

关键特性

关键特性包括:

类和接口为高效定义API提供了易懂的支持机制。这样的设计使得能够封装和复用方法和数据。

可选类型

Dart开发者能够有选择的为代码添加静态类型。根据程序员的爱好和开发平台,通过归类代码可以从简易的、未定义类型的试验原型迁移到复杂的、模块化的应用上。 由于没有文档会要求解释代码中的类型到底发生了什么,类型检测工具只是用来调试的。

开发者可以创建任何用户库,在运行过程中不会发生改变的。独立开发的代码片段可以以来共享库。

工具

Dart将会包括大量可执行环境、库、开发工具来支持语言。这些工具使得多产和动态开发成为可能,包括“编辑继续”调试和“超越”风格,运行时会在空白处填充。

设计目标

这里看到的Dart语言还是早期的。以下目标会引导我们改进并精炼开源项目。:

·        创建结构化并且灵活的 web编程语言.

·        Dart是轻松易学的 .

·        所有Dart语言结构具有高性能快速建立能力 .

·        Dart适合所有的web设备 —--电话,平板,笔记本,服务器.

·        提供工具使得Dart在所以主流浏览器上快速运行 .

这些目标解决了以下问题:

·        小脚本经常发展为没有明显结构的大型Web应用—它们很难调试和维护,另外,这些应用不能被分立为几个小问题来单独解决。应用很大后生产力很底下。.

·        脚本语言流行的原因是它们的轻量级和编写代码的快速性。一般地,应用中不同结果的整合使用注释而不是语言结构本身。结果除了作者,别人很难维护。

·        对于现存语言,开发者需要选择到底是用静态的还是动态的。传统的静态语言需要重量级的工具链和编程风格。

·        开发者还不能创建包括客户端和服务器的均衡系统,仅仅除了Node.js和Google Web Toolkit (GWT).

·        不同的语言和格式使得代码很累赘和复杂.

代码演示

下面是一些代码判断,可以大致了解一下Dart.

类和接口

Dart的接口和类提供了很多积木式结果可以复用和封装。一个interface 定义一个方法和常量的集合,有时候可以从其他接口继承。一个class 可以实现多个接口但是只能继承一个父类。

下面定义了一个接口,并定义了一个类和子类来实现:

1. interface Shape {

2.    num perimeter();

3. }

4.   

5. class Rectangle implements Shape {

6.    final num height, width;

7.   Rectangle(num this.height, num this.width);  // Compact constructor syntax.

8.    num perimeter() => 2*height + 2*width;       // Short function syntax.

9. }

10.            

11.           class Square extends Rectangle {

12.             Square(num size) : super(size, size);

13.           }

可选类型

Dart混合了静态和动态检测。测试到时候,程序员可以为简单原型不指定类型。随着应用的增大和更稳定,可以添加类型来调试和在需要的地方强加类型。

 比如这里用Dart语言新建了一个Point类,有2个参数x和y,有2个方法:scale() 和distance().

1. class Point {

2.    var x, y;

3.   Point(this.x, this.y);

4.    scale(factor) => new Point(x*factor, y*factor);

5.   distance() => Math.sqrt(x*x + y*y);

6.  }

7.  

8.  main() {

9.   var a = new Point(2,3).scale(10);

10.             print(a.distance());

11.           }

下面是对上面代码的参数x,y和factor指定了类型为num,Point 包含2个num类型的值:

1. class Point {

2.    num x, y;

3.   Point(num this.x, num this.y);

4.    Point scale(num factor) => new Point(x*factor, y*factor);

5.   num distance() => Math.sqrt(x*x + y*y);

6.  }

7.  

8.  void main() {

9.   Point a = new Point(2,3).scale(10);

10.             print(a.distance());

11.           }

怎么使用Dart?

可以安装下面的方法运行Dart:

·        将Dart编译成JavaScript可以运行在任何浏览器:Chrome, Safari 5+, 和Firefox 4+ (并且越来越多)

·        使用Dartboard 编写、编辑、运行在任何浏览器窗口

·        很快: 直接在PC的VM中执行Dart

·        很快: 使用 新 MIME 类型, Dart运行就不需要编译成JavaScript

Note:  Dart Editor 支持 Dart-to-JavaScript的编译。命令行工具,比如VM和Dart-to-JavaScript 编译器,并不能直接使用。不过,可以使用Dart project 中的代码构建命令行工具。

Dart编辑器

Dart 编辑器可以用来创建、编辑、运行Dart应用。一次点击就能把Dart编译为JavaScript并在浏览器中运行。Dart编辑器支持自动补全和重构。更多信息查看Dart Editor tutorial .

Dartboard

可以直接到try.dartlang.org 学习Dartboard,代码会运行在远程服务器的Dart VM中 。

更多信息查看 Dartboard & Language Basics tutorial .

新MIME类型

可以把Dart程序直接绑定进HTML 中,或者可以使用#import或#source声明导入外部文件。下面就是规划中的新MIME类型, “application/dart”:

1. <html>

2.    <body>

3.     <script type="application/dart">

4.        main() {

5.         Element element = document.getElementById('message');

6.          element.innerHTML = 'Hello from Dart';

7.       }    

8.      </script>

9.     <div id="message"></div>

10.             </body>

11.           </html>

Dart会提供以下库来支持Web开发:

Core Library

包括了接口来支持普通的数据结构和操作.

    DOM Library

·        Iterable

·        Map

·        Comparable, Hashable, and Pattern

0
1
分享到:
评论

相关推荐

    dart语言概览和实践.pdf

    在Dart语言概览和实践中,首先会了解到开发工具VSCode的一些常用快捷键,以提高编码效率。比如代码提示的快捷键是option+/,参数提示是cmd+shift+space。 Dart中的“重要概念”通常包括函数定义、类的概念、以及...

    Dart语言中文教程.pdf

    ### Dart语言知识点详解 #### 一、Dart简介与特性 **Dart语言**是由Google设计的一款面向对象的编程语言,旨在提供高效、简洁且安全的编程体验。它支持多种编程范式,如面向对象、命令式以及函数式编程。Dart语言...

    Dart语言中文教程1

    Dart 是一种面向对象的、现代的、强类型的编程语言,由 Google 开发,主要用于构建 Web、移动和服务器端的应用程序。本教程将带你逐步了解 Dart 的主要特性,包括变量、运算符、类、库以及异步编程。 1. **变量**:...

    Dart编程语言.7z

    **Dart编程语言详解** Dart是一种由Google开发的面向对象、高性能的编程语言,它设计用于构建现代的Web和移动应用程序。Dart语言自2011年发布以来,已经在开发社区中获得了广泛的认可,尤其在Flutter框架的推动下,...

    Dart语言程序设计(英文版)

    **Dart语言程序设计(英文版)** Dart是由Google开发的一种高级、面向对象的编程语言,旨在提高Web和移动应用程序的开发效率。它是一种强类型、单继承的语言,但支持接口和混合类来实现多态性。Dart的设计目标是提供...

    Dart基础教程PDF,免费下载,给个好评,谢谢!

    【Dart语言基础】 Dart是一种由Google开发的高级编程语言,主要应用于构建高性能的Web应用、移动应用(特别是与Flutter框架配合)以及服务器端应用。它的设计目标是提供高效、安全的开发体验,结合了静态类型和动态...

    Google正式推出Dart语言,欲将Javascript赶下神坛.docx

    Dart语言概述 Dart语言是Google近日推出的结构化网页编程语言,旨在撼动Javascript网页编程统治地位。Dart语言是一款21世纪产品,其设计完美适应现代浏览器和移动设备,无论平板电脑还是服务器Dart都具有良好表现。...

    Dart语言详解.pptx

    flutter dart 基础flutter dart 基础

    Dart 语言运行库

    Dart是一种由Google开发的高性能、现代的、面向对象的编程语言,它的设计目标是提供一个高效的开发平台,尤其在Web应用开发领域,旨在替代JavaScript并与其无缝集成。Dart的出现是为了应对JavaScript的一些局限性,...

    Dart语言 Tutorial教程 样例程序

    Dart语言是一种由Google开发的开放源代码编程语言,主要用于构建高性能的Web、移动和服务器应用程序。这个"dart语言 Tutorial教程 样例程序"是学习Dart编程的理想资源,特别是对于初学者来说,它提供了一个逐步指导...

    Dart语言入门

    This page shows you how to use each major Dart feature, from variables and operators to classes and libraries, with the assumption that you already know how to program in another language. To learn ...

    Dart 语言导览

    这是学习Dart语言的第一手材料!在这里您将看到 Dart 各项主要功能的用法,包括变量、运算符、类、库等。本文假定您已经了解如何用其他语言编程。决定权威,不容错过!

    Packt Learning Dart 2nd Edition 学习Dart语言Web前端第二版

    综上所述,Packt出版的《Packt Learning Dart 2nd Edition 学习Dart语言Web前端第二版》通过Web前端开发实例,详细介绍了Dart语言的基础知识、面向对象编程、集合和泛型、异步编程等核心概念,并提供了错误处理和...

    无涯教程(LearnFk)-Dart教程离线版.pdf

    Dart是一种由Google主导开发的面向对象的编程语言,其初衷是成为下一代的结构化Web开发语言。Dart语言具有类似JavaScript的面向对象特性,但它的编程范式是基于类的,意味着它支持单继承。Dart语言的语法风格接近于...

    Dart语言知识点汇总(讲义)

    Dart是一种由Google开发的编程语言,主要用于web、服务器、移动应用和物联网的开发。它在2011年推出,起初目标是替代JavaScript,但直至Flutter框架的出现,Dart才受到广泛关注。学习Flutter必须掌握Dart,因为...

Global site tag (gtag.js) - Google Analytics