2013-12-09 120 views
1

在RIA领域,我读了大量的评论指出,关于Silverlight vs JavaFX vs Flash vs HTML5的讨论已经过时,获胜者是HTML5。Web开发的客户端

因为我是一个程序员(不是设计师),但从未使用过上述任何技术,我没有时间去学习所有的人来比较,我想问下:

1)随着HTML5我们继续只解释JavaScript,或者我们可以使用更强大的语言生成编译代码(某种类型的MSIL或字节码<对象> ... < /对象>标记)?

2)HTML5是否隐藏了我们代码中不需要的部分(如过去的Java applets和ActiveX)或选项“View - Source Code”继续显示我们所有的工作?

3)HTML5需要某种运行时或者所有的工作都是由浏览器完成的?

+0

HTML5只是HTML,CSS和JS中的一组新功能。它不会改变他们的工作方式。 – SLaks

+0

您可能会对ASM.js感兴趣,它允许特殊编写的JS以更快的速度运行。 – SLaks

回答

1

有一个基本的问题与你的问题HTML5不是真的东西。很难将其与Java或Flash(它们是编程语言)进行比较。可以使用HTML和JavaScript创建交互式应用程序,而无需使用HTML5的任何功能。这似乎发生了很多,但为了简单起见,这些通常被称为HTML5应用程序 - 尤其是非技术人员。

1)我会说JavaScript甚至可以在网页上与其他编译语言一样强大 - 尤其是在<canvas>的强大功能下。你已经发现HTML5赢得了一个原因。在我看来,它可以做别人可以做的事情,而且更容易实施。

虽然没有什么可以阻止您将Applets的Flash对象包括在JavaScript中,但它们甚至可以进行交互。

2)没有什么能够阻止您在浏览器中下载所有HTML/JavaScript并以纯文本形式查看,尽管可以使用诸如Uglify之类的工具对其进行模糊处理。

也可以从Web界面下载和反编译swfs和jar,所以编译并不一定能为您提供很多保护。您的代码将受版权保护(至少在美国),您也可以使用许可the MIT license

3)所有的工作都是由浏览器完成的。客户端只需要一个浏览器即可运行您的代码,但某些浏览器不支持您可能要使用的某些功能。这尤其适用于旧版浏览器。

有很多框架和库用于创建丰富的HTML/JavaScript应用程序,但这些只是大多数只是JavaScript文件。

0

HTML5是一个品牌和趋势。在silverlight/flash/html战斗中HTML必须是胜利者。因为浏览器不能进行零碎。这是真的,然后在浏览器插件开发的功能的一部分,浏览器的一部分。对于强大而快速的进展,一开始就需要向量。在我们的生活中重新定义网络这种矢量是HTML5。 HTML5不是一种语言,它是一组功能,如视频,音乐,webgl,地理定位,语义本质以及更多来自浏览器的功能。而且我们不能像HTML5一样在这里讲一种语言。

你所有的问题都关于JavaScript。

  1. 想要bytecode inside <object> ... </object>?使用Chrome Native Client。
  2. 想要隐藏你的代码吗?使用任何混淆器。
  3. 现代JavaScript引擎具有即时编译功能。还有像asm.js这样的javascript的子集,比C++慢2倍。