阅读更多

13顶
4踩

编程语言
近日,Google的新编程语言Dart逐渐浮出水面,它是一种“结构化的Web编程”语言。有传言它类似于JavaScript,或者可以直接说准备与JavaScript竞争。国外RebuildingTheWeb博客对此进行了分析,它引用了XHTML2的前车之鉴,认为Google要让开发人员认可Dart,就应该采取一个更开放的态度。

全文如下:

Google正在开发一种称为“Dart”的编程语言,其最终目标是为了取代有几个不能修复的根本问题的JavaScript。此外,Dart被设计用来完全脱离JavaScript,因此它没有对JavaScript向后兼容。这样一个激进的技术变更能够在Web上获取成功吗?

Dart的根本改变会分裂Web吗?

多年以来,浏览器提供商告知我们Web技术必须平稳地进步。不然的话Web就会被分裂。这个争论终结了XHTML2的发展。XHTML2是一种标记语言,其原本是用来替换同样有着不能修复的根本问题的HTML。与XHTML2背离HTML一样,Dart同样背离了JavaScript。Dart会像XHTML2那样分裂Web吗?或者我们已然接受向后兼容性必须内置在浏览器中,但不必在编程/标记语言中?

JavaScript存在问题吗?

在过去几年,由于其巨大的性能改进,以及新增加的库和API,JavaScript收获了不少好评。JavaScript已经这样棒,为什么我们还要替换它呢?

最严重的问题在于,JavaScript应用程序天生就是不安全的,对恶意攻击及数据窃取非常脆弱。JavaScript缺少丰富的特征类库,例如Java与.NET中的高级绘图功能、编码、加密,以及网络通信功能等等。

JavaScript应用程序通常构建于松散耦合的技术,且常常不是由传统的程序员去编写。这不可避免的后果就是产生“意大利面条式”的代码。这些代码往往很复杂、混乱,充斥着浏览器版本/bug问题或是技术缺陷。

程序开发的大多数时间(以及大部分费用)都消耗在了调试上。创建一个类似Visual Studio的集成开发环境(IDE)或是面向JavaScript应用程序的Xcode都是不可能的。这就使得调试此类的JavaScript应用程序比同等的桌面程序要困难得多。此外,JavaScript是一种解释性的松散类型的语言,同样增加了其调试的复杂度。这也意味着开发一个成熟的JavaScript程序需要更多的开发人员、更多的时间以及金钱。

技术能够决定Dart的未来吗?抑或斗争?

倘若Google的Dart技术上优于JavaScript,这个孤单的事实能够促使它成功吗?还是说Google对该技术的期望将成为泡影?Google的Dart会面临W3C的XHTML2同样的命运吗?

Google Dart其实有着一个糟糕的开始。主要的问题在于Dart是由一个单一的厂商开发的。Google打算不会在这个问题上纠结,否则早就与其他厂商合作开发该技术。就算Google承认其他浏览器商的支持是非常重要的,它打算用“甜言蜜语”鼓励他们支持这个新的编程语言。但是对应用开发人员,他们可曾会接受?开发人员毕竟才是需要学习一门新语言及其相关的新工具的群体。

结尾

Google Dart旨在取代JavaScript,同样XHTML2原本也是被设计用来代替HTML。JavaScript确实有着不能修复的技术问题,因此需要一个真正完善的语言来取代它。但是Google的单边主义、非协商方式表明了Dart必然要受到一些怀疑,在说服应用开发人员拥抱Dart上的挑战是不可避免的。

Via  RebuildingTheWeb
13
4
评论 共 17 条 请登录后发表评论
17 楼 pior 2011-09-19 10:36
geminiyellow 写道
还不如自己开个java for google呢,省的跟Oracle玩了。

从名字上看`就足够oracle告的了``

现在js确实是跟不上时代了``

不过要想推新的语言` 首先要摆平各浏览器商`

别又搞的谁也不支持`要么就支持的各有特色`就完了`
16 楼 geminiyellow 2011-09-16 16:47
还不如自己开个java for google呢,省的跟Oracle玩了。
15 楼 wangzaixiang 2011-09-16 16:13
WEB技术日新月异,HTML5/CSS3是一个全新的春天,但JavaScript则已近20年,没有很大的变化。如果Dart真是神器,有着JavaScript难以匹配的应用场景,那么WEB完全可能再次加速,推枯拉朽,一个新的时代可能加速到来。

只是,Dart到底是什么?google也搞得太神秘了,从目前的网络信息来看,什么有价值的信息也没有透露出来。我倒是很期望Dart能够如同Smalltalk一样,能够在网页开发中提供一个完全交互的、增量式的开发模型,我想对开发效率的提升将无与伦比。反之,纯粹从语言的角度来看,实在想不出能够有什么革命性的突破。

是驴子是马,可能还要等待1个月的时间才知道。
14 楼 tempture 2011-09-16 16:03
Jekey 写道
别跟go似的,刚开始雷声挺大,后来连雨点都没有

这叫炒概念
13 楼 obullxl 2011-09-16 12:21
Jekey 写道
别跟go似的,刚开始雷声挺大,后来连雨点都没有

12 楼 joe9i0 2011-09-16 11:25
Jekey 写道
别跟go似的,刚开始雷声挺大,后来连雨点都没有


是你不知道,没关注,还是真的没有???
11 楼 cnrainbing 2011-09-16 10:37
Google Dart可以取代JavaScript吗?支持google
10 楼 diferent 2011-09-16 09:10
ray_linn 写道
而且几个浏览器大厂商,Microsoft、Apple和Google都是激烈的竞争关系,Firefox呢,估计恨chrome也恨死了,基本上Darf根本不需要去学,早晚翘辫子。

你错了, 要是支持的话 也是Firefox既Chrome之后第一个支持.
9 楼 b_l_east 2011-09-16 09:06
Google的狼子野心越来越暴露出来了。

这是要绑架开发人员啊,想垄断,这可不行啊!
8 楼 damoqiongqiu 2011-09-15 23:19
哥不由得想起了那时候牛逼吹得大大的Google Wave
7 楼 witcheryne 2011-09-15 22:37
比较看好Google的GWT...
这个算了... 主要IE不支持,这玩意难火
6 楼 ray_linn 2011-09-15 19:01
而且几个浏览器大厂商,Microsoft、Apple和Google都是激烈的竞争关系,Firefox呢,估计恨chrome也恨死了,基本上Darf根本不需要去学,早晚翘辫子。
5 楼 ray_linn 2011-09-15 18:59
基本google推的语言都不成功
4 楼 icanfly 2011-09-15 17:14
chd_wu 写道
够呛,不看好。还有那个v8,用vc2010一直编译不过,易用性奇差,不得不放弃而选择了lua。

V8只是一个JS引擎,又关它什么事了。况且它是目前最快的JS引擎,你放弃它不等于它就没有前途
3 楼 lost_alien 2011-09-15 15:14
不看好,肯定跟go一个下场
2 楼 chd_wu 2011-09-15 14:25
够呛,不看好。还有那个v8,用vc2010一直编译不过,易用性奇差,不得不放弃而选择了lua。
1 楼 Jekey 2011-09-15 13:37
别跟go似的,刚开始雷声挺大,后来连雨点都没有

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • apache iis 使用HTTP 响应头信息中的 X-Frame-Options属性

    原文:https://www.jb51.net/article/109436.htm 方法三:使用HTTP 响应头信息中的 X-Frame-Options属性 使用 X-Frame-Options 有三个可选的值: DENY:浏览器拒绝当前页面加载任何Frame页面SAMEORIGIN:frame页面的地址只能为同源域名下的页面ALLOW-FROM:origin为允许frame加载的页面地址...

  • Django middleware django.middleware.clickjacking.XFrameOptionsMiddleware

    from django.conf import settings class XFrameOptionsMiddleware(object): """ Middleware that sets the X-Frame-Options HTTP header in HTTP responses. Does not set the header if it's alread

  • X-Frame-Options(点击劫持)

    漏洞描述: 点击劫持(ClickJacking)是一种视觉上的欺骗手段。攻击者使用一个透明的iframe,覆盖在一个网页上,然后诱使用户在网页上进行操作,此时用户将在不知情的情况下点击透明的iframe页面。通过调整iframe页面的位置,可以诱使用户恰好点击在iframe页面的一些功能性按钮上。 HTTP响应头信息中的X-Frame-Options,可以指示浏览器是否应该加载一个iframe中的...

  • X-Frame-Options配置

    因为最近项目需要接入数据统计,其中一项功能需要开启iframe形式来加载页面,所以就开始研究一下iframe如何配置~~~ X-Frame-Options: 他的值有三个: (1)DENY (2)SAMEORIGIN (3)ALLOW-FROM https://example.com/

  • X-Frame-Options响应头缺失漏洞

    x-frame-options响应头缺失漏洞。故名思意,就是返回的响应头信息中没有包含x-frame-options头信息设置。x-frame-options头信息的详细介绍可以查看mozilla firefox官方文档X-Frame-Options响应头修复漏洞: apache服务器 在apache配置文件中添加一行信息即可。Header always append X-Frame-Optio

  • X-Frame-Options 响应头设置

    上次搭建网站遇到这个问题,所以在此做以记录。以便后边有像我这样的菜鸟不知道如何处理。 修改web服务器配置,添加X-frame-options响应头。赋值有如下三种:(1)DENY:不能被嵌入到任何iframe或frame中。(2)SAMEORIGIN:页面只能被本站页面嵌入到iframe或者frame中。(3)ALLOW-FROM uri:只能被嵌入到指定域名的框架中。 也

  • HTTP X-Frame-Options 防止iframe内框架调用

        -Frame-Options HTTP响应头是用来确认是否浏览器可以在frame或iframe标签中渲染一个页面,网站可以用这个头来保证他们的内容不会被嵌入到其它网站中,以来避免点击劫持。 危害: 攻击者可以使用一个透明的、不可见的iframe,覆盖在目标网页上,然后诱使用户在该网页上进行操作,此时用户将在不知情的情况下点击透明的iframe页面。通过调整iframe页面的位置,可...

  • .Net MVC 控制X-Frame-Options

    Asp.net MVC5在Html.AntiForgeryToken()中加入了X-Frame-Options输出.用于拒绝页面被iframe嵌入.若禁用:protected void Application_Start() { AntiForgeryConfig.SuppressXFrameOptionsHeader = true; }只能启用禁用,不能设置值,因为源代码中将值写死了,若...

  • apache设置X-Frame-Options响应头

    服务器未设置X-Frame-Options响应头,易受到点击劫持攻击设置X-Frame-Options响应头它有三个可选的值:DENYSAMEORIGINALLOW-FROM origin当值为DENY时,浏览器会拒绝当前页面加载任何frame页面;若值为SAMEORIGIN,则frame页面的地址只能为同源域名下的页面;若值为ALLOW-FROM,则可以定义允许frame加载的页面地址。在htt...

  • Web安全漏洞 之 X-Frame-Options响应头配置

    原理】配置http的响应头信息:属性名X-Frame-Options。可以配置的参数有两个:X-Frame-Options 响应头有三个可选的值:DENY:页面不能被嵌入到任何iframe或frame中;SAMEORIGIN:页面只能被本站页面嵌入到iframe或者frame中;ALLOW-FROM:页面允许frame或frame加载。在服务端设置的方式如下:Java代码:response.add...

  • 360网站安全提示"X-Frame-Options头未设置"怎么解决

    X-Frame-Options 响应头 X-Frame-Options HTTP响应头是用来确认是否浏览器可以在frame或iframe标签中渲染一个页面,网站可以用这个头来保证他们的内容不会被嵌入到其它网站中,以来避免点击劫持。 危害: 攻击者可以使用一个透明的、不可见的iframe,覆盖在目标网页上,然后诱使用户在该网页上进行操作,此时用户将在不知情的情况下点击透明的i

  • IIS 6.0的设置和排错

    这两天因为在部署一个网站时出了问题,在网上搜了一下,有些东西值得收藏。IIS 6.0 现在还是有很多问题,这点可以从网上的大量的问题看出来。IIS 6不是在IIS 5的基础上的升级,而是一个完全重写的新软件,因此出现这些问题就不奇怪了。1 动态内容无法访问IIS6把安全性作为最重要的设计原则,因此,在安装后,系统默认只允许访问静态网页,动态内容如asp,aspx等默认情况下是被禁止的。要启用动态内

  • website 设置 X-Frame-Options禁止被内嵌问题

    You seem to be misunderstanding the problem. X-Frame-Options is a header sent back with the request to state if the domain requested will allow itself to be displayed within a frame. It has nothing

  • Web安全 之 X-Frame-Options响应头配置

    项目检测时,安全报告中存在 “X-Frame-Options” 响应头缺失问题,显示可能会造成跨帧脚本编制攻击,如下:    经过查询发现: X-Frame-Options:值有三个:   (1)DENY:表示该页面不允许在 frame 中展示,即便是在相同域名的页面中嵌套也不允许。   (2)SAMEORIGIN:表示该页面可以在相同域名页面的 frame 中展

  • DataGrid的使用实践

          CSDN的ASP.NET论坛中,DataGrid的使用是被咨询和讨论得最多的。本文记述小鸡射手使用DataGrid的实践。    1. 初用DataGrid惊叹于其DataBinding的简便性,酷爱使用绑定列,并设置格式中的"普通项"和"交替项";数据库数据直接显示可能有些问题,就学会了设置数据格式,如设置两位小数{0:F2}    2. 光浏览是不够的,于是使用按钮列结合ADO.N

  • ASP.NET用户控件返回事件的方法

            ASP.NET用户控件一般适用于产生相对静态的内容,所以没有builtin的事件支持。本文讨论用户控件返回事件的方法。         假定用户控件(UserControl.ascx)中包含按钮控件AButton,希望实现按AButton按钮时,包含该用户控件的页面可以接收到事件。为此,小鸡射手在用户控件和页面的代码中分别作了处理。         UserControl.ascx

  • 使用SQLXML的Web Service支持

            .NET中访问数据库一般采用ADO.NET,也可以使用微软的Data Access Applicaiton Block for.NET。如果是访问SQLServer数据库,还有一种选择就是采用微软的SQLXML。本文介绍使用SQLXML的Web Service支持的方法。 系统需求     - 安装.NET Framework 1.1     - 安装Microsoft SoapS

  • IDesign C#编码规范(之三)

           续之二,IDesign C#编码规范之三。 34.  避免使用new继承修饰符,而是使用override。       Avoid using the new inheritance qualifier. Use override instead.  35.  对非密封类总是将public和protected方法标记为virtual。       Always mark  publi

Global site tag (gtag.js) - Google Analytics