【问题标题】:The client side of web developmentWeb开发的客户端
【发布时间】:2013-12-26 20:42:14
【问题描述】:

在 RIA 领域,我读过大量 cmets 表示,关于 Silverlight 与 JavaFX 与 Flash 与 HTML5 的讨论已经过时,而获胜者是 HTML5。

由于我是程序员(不是设计师),但从未使用过上述任何技术,而且我没有时间学习所有这些技术进行比较,所以我想问以下问题:

1) 在 HTML5 中,我们继续只使用解释型 JavaScript,或者我们可以使用更强大的语言来生成编译代码(某种 MSIL 或 ... 标签内的字节码)?

2) HTML5 是否会向不受欢迎的查看者隐藏我们的部分代码(就像 Java 小程序和 ActiveX 过去所做的那样)或者“查看 - 源代码”选项会继续显示我们的所有工作?

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

【问题讨论】:

  • HTML5 只是 HTML、CSS 和 JS 中的一组新功能。它不会改变它们的工作方式。
  • 您可能对 ASM.js 感兴趣,它可以让专门编写的 JS 运行得更快。

标签: html


【解决方案1】:

您的问题存在一些基本问题,因为HTML5 并不是真正的事物。很难将其与编程语言 Java 或 Flash 进行比较。可以使用 HTML 和 JavaScript 创建交互式应用程序,而无需使用 HTML5 的任何功能。这似乎经常发生,但为简单起见,这些通常被称为 HTML5 应用程序——尤其是非技术人员。

1) 我想说,即使在网页上,JavaScript 也可以像您谈论的其他编译语言一样强大——尤其是在 <canvas> 的强大功能下。您发现 HTML5 获胜是有原因的。在我看来,它可以做其他人可以做的事情,并且实现起来更简单。

不过,没有什么可以禁止您在 JavaScript 中包含 Applet 的 Flash 对象,它们甚至可以交互。

2) 没有什么可以阻止您的所有 HTML/JavaScript 被下载到浏览器中并以纯文本形式查看,尽管可以使用 Uglify 等工具对其进行混淆。

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

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

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

【讨论】:

    【解决方案2】:

    HTML5 是一个品牌和趋势。在silverlight/flash/html 之战中,HTML 必须是赢家。因为浏览器无法进行碎片化。那么浏览器插件中开发的某些功能,浏览器中的某些功能是真的吗?为了取得强劲而快速的进展,一开始总是需要向量。在我们生活中重新定义网络时,这种载体就是 HTML5。 HTML5 不是一种语言,它是一组功能,例如视频、音乐、webgl、地理定位、语义本质等等,越来越多只能来自浏览器。而且我们不能在这里谈论 HTML5 之类的语言。

    你所有的问题都是关于 javascript 的。

    1. 想要bytecode inside <object> ... </object>?使用 Chrome 原生客户端。
    2. 想要隐藏您的代码?使用任何混淆器。
    3. 现代 javascript 引擎具有即时编译功能。还有像 asm.js 这样的 JavaScript 的“子集”,它只比 C++ 慢 2 倍。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-08
      • 1970-01-01
      • 2013-09-04
      相关资源
      最近更新 更多