Dart已经存在了很长时间(在互联网时代),但是根据Google趋势判断,它并没有受到太多炒作,而且仅在Chrome中运行这一事实也无济于事。尽管如此,Chrome每天都在获得市场份额,这使其对Dart有更好的了解。
现在的大局是什么?语言处于什么状态?人们对此高度评价吗?市场份额?Web App展示柜?一些使您“我必须使用它”的功能实现?
Dart已经存在了很长时间(在互联网时代),但是根据Google趋势判断,它并没有受到太多炒作,而且仅在Chrome中运行这一事实也无济于事。尽管如此,Chrome每天都在获得市场份额,这使其对Dart有更好的了解。
现在的大局是什么?语言处于什么状态?人们对此高度评价吗?市场份额?Web App展示柜?一些使您“我必须使用它”的功能实现?
Answers:
简短的回答“ Dart的状态是什么?” 是:在技术预览中。这是一种特殊的说法,“我们提早启动,因此我们可以开源所有内容并公开进行工作。” “技术预览”还意味着“我们甚至还没有进入Alpha,我们还有很多工作要做,但是有足够的地方供您使用并提供反馈。”
互联网时间可能适用于新闻报道或消费产品迭代,但可能不适用于Dart如此雄心勃勃的项目。请记住,Dart不仅仅是一种语言。它还是一组库,更好的DOM界面,虚拟机,编辑器以及与Chrome的集成。团队在许多并行线程上都在努力工作,但是我个人希望这要六个月才能完成大部分工作。
Dart仅适用于Chrome浏览器并不是真的。Dart可以编译为JavaScript,并针对现代浏览器。当然,Chrome将是第一个使用Dart原生支持的产品,但是确保Dart编译为高性能和有效的JavaScript是该项目的核心约束和功能。
总的来说,Dart将成为现代Web应用程序的“包括电池”开发环境。Dart的推动目标是帮助确保Web仍然是用于应用程序开发和部署的高效且令人愉悦的平台。这意味着需要放下很多东西:语言,库,编辑器,虚拟机和浏览器集成。综上所述,我们相信Dart将是现代Web应用程序开发人员的理想选择。
BIG的大局面是,我们希望将应用程序开发人员带到网络上,并且我们希望网络开发人员编写更复杂的Web应用程序。如果他们使用Dart,那就太好了。但是,归根结底,语言并不重要。唯一重要的是,正在构建复杂的客户端,高保真,低延迟,漂亮的现代Web应用程序。
语言处于发展中。我们大约每月一次看到该规范的新版本。缺少主要功能,例如反射,但我们不断进行迭代。例如,我们刚刚向Collection添加了map()支持。认识他的语言的Gilad Bracha(创建了NewSpeak并在Java Lang Spec上工作)和认识他的库的Josh Bloch(已经编写了有效Java并在Java Collection库上工作)正在研究该语言,图书馆,以及更大的团队。
人们对Dart的高度评价很难一概而论,对您来说可能并不重要。与Dart合作后,您应该得出自己的结论。我的经验是,来自Java,C#或Flex等其他平台的应用程序开发人员发现Dart有吸引力且熟悉。我在JavaScript开发人员方面的经历是分裂的。如果该JavaScript开发人员也在其他平台上构建了应用程序,则他们会对Dart(或者至少是它正在尝试提供的解决方案)持谨慎乐观的态度。如果那个JavaScript开发人员在JavaScript上长大,并且只使用JavaScript编程,那还会有更多的犹豫。这可能是关于语言的一些基本问题,或者是在离开舒适区时犹豫不决,或者只是没有碰到JavaScript的极端情况。这只是概括,但我
至于市场份额,现在还处于初期。这可能不是一个正确的问题,因为Dart甚至都没有发货。一个更有趣的问题是,“网络上应用程序的市场份额是多少?” 然后找出解决方法。
至于Web App展示,Dart团队构建了Swarm,一个光滑的新闻阅读器。不幸的是,我们现在仅在源代码中提供它:http : //www.dartlang.org/samples/index.html
至于一些“杀手级”功能,我想说一些有趣的功能:
希望我已经回答了您的问题。我认为唯一重要的问题是:“我的语言是否可以帮助我构建复杂,高保真,低延迟的模块化现代Web应用程序?” 所有这些的最终状态仅仅是帮助更多的应用程序开发人员向现代Web交付更多成功的应用程序。
Introduction to Dart
。准备在Dart上动手实践。:)
您无法以“互联网年”来衡量编程语言的年龄。实际上,您无法衡量互联网时代的任何实际技术。在互联网时代,您真正可以衡量的只是炒作,但炒作并不能反映现实。
Dart已公开3个月了。将该技术与该领域的“新鲜”和“热门”技术(例如CoffeeScript或Node.js)进行比较,它们分别已公开两年和近三年了。同样值得注意的是,与Dart相比,两者都是相对较小的步骤。基本上,CoffeeScript意味着将JavaScript生成器插入基于Ruby的解析器中,而Node.js意味着将非阻塞I / O绑定到Google V8。
Dart试图重新设计所有级别的前端Web编程,即语法,语言功能,运行时环境,API。例如,将Dart与CoffeeScript进行比较,就好比将太阳能自动驾驶的个人飞机原型与1968 Shelby GT进行比较。当然,前者具有更大的潜力,但对其进行投资,更不用说登机了,需要大胆。后者有许多已知的缺陷,但是它们是已知的,这使得整个事情是可预测的和可靠的。
当然,这只是猜测,但我认为Dart是死胡同,最终可以挽救JavaScript向前发展的步伐或其他解决方案。如果您想要一种动态语言,那么CoffeeScript和Parenscript已经可以完成Dart的承诺。如果您更喜欢静态类型的语言,那么haXe和Opa可以解决问题。这四个人在Dart上都有领先优势。所有这些都被设计为默认编译为JavaScript,而不仅仅是后备。
Dart仍处于技术预览中。目前,语言规范的版本为0.0.6,预计本周某个地方将为0.0.7。它远非“完整”。存储库中有几个示例:http : //www.dartlang.org/samples/index.html
以下是关于语法方面比JavaScript更好的一种观点:http : //www.grobmeier.de/10-reasons-why-dart-is-cooler-than-javascript-03012012.html 免责声明:这是我的文章。我需要在这里说我喜欢JavaScript,但是在某些方面它有一些古怪的地方,我不太喜欢。
周围还有一个成长中的社区:http : //www.dartosphere.org
有些人设法将Box2D移植到Dart,另一个人连接到CouchDB。无论如何,您在生产中应该没有任何使用。
不久之前,Josh Blochua已加入团队,致力于API的重构。您甚至可以期望在Core API中进行一些更改。
浏览器支持:您可以将Dart转换为JavaScript,最好是使用Frog(不是DartC,它可以编译为巨大的javascript文件)。Dartium是支持本机Dart的浏览器之一,有关Webkit分支的讨论也引起了争议。
我个人的期望是在明年年中得到更具体的信息。根据我的经验,Google Devs不仅在Java方面,而且从Erlang和JavaScript方面都在努力使语言正确和良好。
这是一个从JavaScript移植的游戏示例:http : //blog.sethladd.com/2011/12/10-lessons-from-porting-javascript-to.html
人们可以期望Dart甚至可以作为一种“主要语言”进入Android。人们说它将用于AppEngine。
我个人认为Dart非常优雅,已经很不错了。另外,我认为一旦完成,它将占有一定的市场份额。
您会在此FAQ中找到许多回答:http : //www.dartlang.org/support/faq.html#compare-to-coffeescript
Dart已经使用了很长时间(在互联网时代)
它甚至没有被广泛使用,而且还不成熟。生产就绪技术已经存在了10-15年以上...对于Dart来说,您甚至不能说它是预测试版。在没有人使用的情况下,新技术在纸面上总是看起来不错。
它没有太多炒作
我认为相反。如此糟糕,落后的语言获得如此积极的评价真是可惜。它从具有寄生继承,闭包和回调的精美Ecma / Java Script OOP追溯到Java附带的数十年古老的木制OOP,并附带了Java附带的所有可怕编程实践。
一些使您“我必须使用它”的功能实现?
没有。如果您了解Java,并且不懂得正确学习Ecma / JavaScript的知识,那么Dart可能只是对您有用的东西。
你知道谷歌是如何工作的。他们经常使用Java,所以这可能就是为什么他们产生如此可怕的语言的原因……他们只是习惯了它。
除此之外,它进一步分散了网络,我只能希望Mozilla和Opera永远不要实现这一目标(因为MS肯定不会添加对某些Google Java语言的支持)。除了整个概念都是DATED之外,至少在编写UI时,我们应该摆脱C ++或Java之类的语言,因为它们非常无效。这就像用Assembler代替C ++,因为50年代后期的编码人员拒绝学习新知识。