Go断后,Dart冲前,Google的野心
今天,我要讲讲新的前端web语言-Dart
我是网上看到这段话,激起了兴趣,虽然我不能算是真正的web前端从业者!哈哈
[
Dart语言由谷歌制造,用来替代Javascript,弥补Javascript在web应用中大量使用时出现的缺点。对于Dart语言,谷歌的希望是,它将成为
web编程的新官方语言。它有着与C语言类似的语法和关键词。然而,一个跟Javascript的重大不同之处是,Javascript是以prototype为基础的
语言,可Dart里对象是用类和接口定义的,跟C++和Java一样。Dart语言还允许程序员将变量声明为静态类型。
]
我用了用,感觉就是跟java一样,当然就想向宣传的那样,比java语法简洁,就像是退到了C,越过了C++!哈哈,这点儿有点自相矛盾!大家就把它理解成比JAVA简单点儿的Java吧!
&&&&&&&&&&&
第一讲,涉及配置开发环境,服务端编程的demo,客户端编程的demo
一. 安装dart 编程环境
*************************
本来准备在linux 下安装,但linux 下访问不了Google 的仓库,立马完蛋了
后来在Windows 下安装,意外成功了
转念一想,Dart 主要是web 前端语言,windows 能行就对了!!!
哈哈哈
别以为windows 下安装大家都是驾轻就熟,其实,官网上也是有坑的啊
一.DART-SDK 安装
https://www.dartlang.org/install/windows
你会看到两种安装方法
第一种就别试了,我用了,当时就撞墙死了,本来是Windows 下经典安装,但Dart 开
发小组不熟悉windows,开发的在线安装不能成功(估计还是因为Google 服务器不能
访问吧)
第二种方法可用,我的机器是win10,接下来,就介绍它吧
1. Chocolatey 安装

从这里进去

这个就是安装
完成后就是完成了
我装的时候版本如下

2. dart-sdk
choco install dart-sdk

如果你有需要,关于历史版本下载
choco install dart-sdk –version <version>
二.DARTIUM
如果你需要开发前端应用,那么这一步是你需要的内容
(
)

Dart2.0 后就不需要了,显然,我下载时候还不是时候
Choco install dartium

也就是一个包含Dart VM(运行时,即虚拟机)的chrome 浏览器,你的Dart 代码在这个
浏览器里能直接被执行,而不需要借助工具转成js 代码。当然js 代码就可以在任意浏
览器运行了
别急,Dart2.0 取消了这玩意,就意味着,Google 借助于dartdevc(一款编译器),你的
Dart 代码能被所有浏览器识别(为JS 代码,我个人猜测)
好吧,2.0 的风暴快点到来吧,我都等不急了:)
*************************
Dart IDE的安装 DartEditor,可以编辑,调试,运行
*************************
你需要IDE 来开发Dart 代码,和调试运行功能
一.安装
choco install darteditor
二.运行安装目录下的DartEditor.exe
(C:\tools\dart)
DartEditor.exe
三.但是
就如同我经典安装dart-sdk 失败一样,这个IDE 在我机子上装载不上JAVA 虚拟机
(JVM.dll),尽管它报错信息

就是正确的虚拟机地址
可是,可是我,也搞不清,一往情深的错误。
Fuck~!!!,由它去吧,我也不是IDE 控,哈哈哈
四.风格
据说跟Eclipse 和VS 很像
我想大家自己去学吧
前提是你得比我幸运
忘了说了,我的JDK 是ver8, 根据我没去尝试的下一步,我建议你装JDK6 去碰碰运气
吧
*************************
¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥
下边我们看看DEMO吧
//服务器端的控制台程序
//main.dart
//main.dart
import 'dart:math';
class Point {
num x, y;
Point(num this.x, num this.y);
Point scale(num factor) => new Point(x*factor, y*factor);
num distance() => sqrt(x*x+y*y);
}
void main() {
Point a = new Point(12, 23).scale(10); num old = a.distance();
print("You will live for ${a.distance()} years, don't you?$old:YESORNO.");
}
//运行

嗯,还是很吊的嘛!
//浏览器(客户端)
//DartWebApp.dart
import 'dart:html';
class DartWebApp {
void run() {
write("Hello World!");
}
void write(String message) {
// the HTML library defines a global "document" variable
document.query('#status').innerHtml = message;
}
}
void main() {
new DartWebApp().run();
}
//dart.html
<!DOCTYPE html>
<html>
<head>
<title>Dart Web App</title>
</head>
<body>
<h1>Dart Web App</h1>
<h2 id="status">dart is starting up...</h2>
<script type="application/dart" src="DartWebApp.dart"></script>
<script src="http://dart.googlecode.com/svn/branches/bleeding_edge/dart/client/dart.js">
</script>
</body>
</html>
//dartium 里,也级启动那里面的chrome.exe 浏览器
运行dart.html 页面
1. 老问题,google 的svn 在国外,根本连不上还要去连,很慢
2. 当然能运行了


#dart.js 的作用是,如果浏览器不支持Dart,上面这个dart.js 文件将把application/dart 的
代码替换为等价的JavaScript 代码。
但是如前所述,它耽误我们了,所以干掉它
<!DOCTYPE html>
<html>
<head>
<title>Dart Web App</title>
</head>
<body>
<h1>Dart Web App</h1>
<h2 id="status">dart is starting up...</h2>
<script type="application/dart" src="DartWebApp.dart"></script>
</body>
</html>
再此打开dart.html,没有拖累,就是快,噢,不,是正常。哈哈哈

用其它浏览器试试吧

因为这个浏览器没有支持Dart VM,所以,就不能向你问好了,地球!哈哈哈

那怎么办呢?
有办法的啊,用dart2js 把DartWebApp.dart 转成javascript 代码,不就能加载了嘛!

OK!
你有了对应的DartWebApp.js 了,怎么做,你应该会了吧
<!DOCTYPE html>
<html>
<head>
<title>Dart Web App</title>
</head>
<body>
<h1>Dart Web App</h1>
<h2 id="status">dart is starting up...</h2>
<script src="DartWebApp.js"></script>
</body>
</html>

好了,没问题了
&&
&&
Finally:
例子很简单,但说明的问题可是不得了,当你看到它支持的类库(如上),你就知道我说的不假
好吧,照例预言一下:
1. 未来服务端的c++/java会被Golang(GO)取代,不管你们信不信,我反正相信了
2. 未来客户端的javascript/java会被Dart取代,不管你们信不信,我反正相信了
哈哈,这世界变化快啊
Google是家了不起的公司,虽说,“唱的高,搞成的少”。但我们的企业不就是缺唱的吗?你仔细想想吧!
Go断后,Dart冲前,Google的野心的更多相关文章
- 前Google人谈团队管理:针对不同员工的情境管理法和如何选择合理的团队规模
本文作者Tomasz Tunguz是Redpoint Ventures的风险投资人,曾在Google担任产品经理并参与过AdSense项目. 我有一个朋友,他创立了一家很成功的公司,而且还在迅速发展. ...
- Apache Beam—透视Google统一流式计算的野心
Google是最早实践大数据的公司,目前大数据繁荣的生态很大一部分都要归功于Google最早的几篇论文,这几篇论文早就了以Hadoop为开端的整个开源大数据生态,但是很可惜的是Google内部的这些系 ...
- Dart SDK在Linux上的下载及配置
Dart SDK在Linux上的下载及配置 首先建议想要学习Dart的小伙伴选择Linux开发环境比较好,具体原因就不多说了.如果想要尝试在Window或Mac上安装Dart SDK的话可以参考Ins ...
- dart入门指南
近来,flutter的热度在上升.flutter应用的主要开发语言是dart, 因此,欲练flutter, 必先了解dart. dart是由google开发的编程语言,可用于开发移动应用,桌面应用,h ...
- 从Google工程师到创业CTO,他的8项理念也许可以帮到你
Lan Langworth是前Google软件工程师.O'Reily作者,现在他是Artillery的co-founder/CTO,致力于把游戏机质量的游戏带进网页浏览器.下文是他从Google离职到 ...
- Google软件构建工具Bazel FAQ
Google软件构建工具Bazel FAQ 本文是我的翻译,原文在这里.欢迎转载,转载请注名本文作者和原始链接 注:如果想了解Bazel的原理,可以看看我之前翻译的Google Blaze原理及使用方 ...
- Google工程师打造Remix OS系统 桌面版安卓下载
三位前Google工程师打造的Remix OS系统终于来到了PC桌面上,现已可以下载尝鲜. Remix OS for PC基于Android-x86项目,由安卓5.1 Lollipop深度定制而来,不 ...
- Google软件构建工具Bazel
转载Google软件构建工具Bazel FAQ 本文是我的翻译,原文在这里.欢迎转载,转载请注名本文作者和原始链接注:如果想了解Bazel的原理,可以看看我之前翻译的Google Blaze原理及使用 ...
- [翻译]用Dart塑造Android未来
明天回家,今天下午瞅时间翻译了Cyril Mottier的另外一篇有关Android前景的文章. 原谅地址是:http://cyrilmottier.com/2014/06/12/shaping-th ...
随机推荐
- .NET Core开发日志——Dapper与MySQL
Dapper作为.NET生态中广为人知的轻量级ORM类库在.NET Core里仍能被有效利用,并且其不但可以连通SQL Server数据库还提供对其它数据库,比如MySQL的支持.这里试验了一下通过D ...
- .NET Core开发日志——Controller
在理清路由的工作流程后,接下来需要考虑的,是MVC框架如何生成Controller以及它的生成时机. 根据以前ASP.NET MVC的经验,Controller应该是由一个ControllerFact ...
- 基于LSD的直线提取算法
https://blog.csdn.net/tianwaifeimao/article/details/17678669 文献翻译:https://blog.csdn.net/YuYunTan/art ...
- [No000013B]初识Ildasm.exe——IL反编译的实用工具
Ildasm.exe 概要: 一.前言: 微软的IL反编译实用程序——Ildasm.exe,可以对可执行文件(ex,经典的控制台Hello World 的 exe 可执行文件)抽取出 IL 代码,并且 ...
- [math][mathematica] Mathematica进阶
1. Mathematica 画函数图像 2. Mathematica 解方程 见截图,敲完一行按Shift+Enter就可以执行了.主要函数名都是大小写敏感的.写的正确会跟有提示下拉框和相信说明,非 ...
- 关于学习oi的一些事项
我只是突然有感而发!(脑抽罢了 我其实是那种一直都没有计划说去学什么的人. 当然也不是那种点开洛谷一道题去写这道题不会就去学习相应的知识点的人. 随着洛谷 poj bzoj HDU CH Vojs 等 ...
- 转:JDBC中关于PreparedStatement.setObject的一些细节说明
原文地址:https://blog.csdn.net/zhiyangxuzs/article/details/78657235 JDBC中PreparedStatement.setObject(ind ...
- day5_函数_文件读写_用一个函数来满足文件的读或者写_应用默认参数
import json def op_file_tojson(filename,dic=None): #默认值参数,根据是否传dic字典来判断读还是写 if dic: #如果dic传了值,不是空的,则 ...
- shiro默认过滤器
- pip技巧(加速下载和安装)
pip技巧(linux同样) 某些开发包下载过程中会很慢,会出现timeout的情况,解决办法: 可以配置下镜像,加速下载和安装 1.python的豆瓣源地址(镜像) https://pypi.dou ...