为什么我们仍在浏览器而不是桌面模式中使用DOM


11

根据我的理解,Web界面被开发为使用HTML,因为当时由于带宽限制以及可能的处理能力,无法在浏览器中模拟桌面样式的应用程序,例如Silverlight和Flash的工作方式。

为什么过去不存在,而现在却越来越受到Flash / Silverlight等技术的接受和推动?根据我的经验,使用它们进行开发更令人高兴(当然,我认为),并且您不必处理跨浏览器合规性以及旧版浏览器(大部分情况下)。

与桌面应用程序的开发范例相比,处理回发,AJAX等似乎是多余的工作。DOM及其补充技术是否继续蓬勃发展,主要是因为Silverlight / Flash需要安装插件,而某些移动设备不支持该插件?


1
因为DOM不是二等公民。Silverlight和Flash是泄漏的抽象。您可以轻松地在浏览器用户DOM中拥有本机桌面之类的应用程序。它的性能和集成度比闪光灯或Silverlight更好。
雷诺斯2011年

Answers:


17

我能想到的几个原因,就从我的头上浮现出来:

  • 如今,传统的Web堆栈已经相当成熟。现代浏览器只剩下很少的怪癖,而与仅仅5年前相比,为它们设计网站是相对愉快的
  • 尽管浏览器之间存在差异,但它们与底层操作系统和硬件之间的差异相关性较小
  • 实际上,请求/响应范式在很多事情上都非常有效,例如呈现大量文本内容
  • 搜索引擎并不完全热衷于Flash或Silverlight内容
  • Flash和Silverlight各自由一家公司控制;使用它们意味着这些公司将来会为您的代码提供平台支持
  • 您可以使用HTML进行的许多操作都无法通过插件完成:例如,书签,复制粘贴,即时翻译,自定义样式表
  • 插件在非标准浏览器上不能很好地发挥作用-想想文本浏览器,音频浏览器以及其他可以显示网页的其他设备
  • 您无法轻易地使Flash或Silverlight客户端自动化,而从脚本驱动HTML网站通常非常简单。

我还能想到的一件事:这些插件不是开源的。而且有些人只是不信任他们做不到的事情git clone。当然,您可以获得开源版本,例如Gource或Moonlight,但是它们并不是完全兼容的。
麦凯博士,

2
我实际上已经想到了开放源代码的论点,但我认为这不是一个足够大的问题,在现实世界中是明智的(无论我本人对FOSS的支持程度如何)。无论如何,“受单个公司的摆布”论点是相关的,而且意义重大。
tdammers 2011年

4

对于“为什么Flash中没有桌面应用程序”的简单回答是,您只能在Adobe Air中编写它们,但是显然只有少数人可以这样做。

我相信答案是人们希望Web应用程序而不是浮华的Flash应用程序,并且他们希望Web应用程序具有与他们使用的所有其他 Web应用程序一样的功能。我个人希望能够使用Flashblocker,并且仍然具有该应用程序的全部功能。


3

这是我们行业中非常普遍的影响。
例如,我个人使用haXe并将客户端代码部署在Flash Player上,因为恕我直言,这是我可以定位的最佳的基于Web的平台。C#后端完成后,我可能会检查Silverlight是否值得使用,尽管我个人感觉是它在实际起飞之前就死了。

对我的语言选择感到非常满意,我经常问自己一个问题:为什么没有更多的Web开发人员使用开放源代码,多范式,表达性的跨平台语言?

原因有很多,但它们总是相同的。有效的是个人喜好。但通常归结为对新技术/小众技术的无知或不情愿。
当谈到Flash时,我有很多关于为什么要使用它以及为什么要使用它的争论。人们大多争辩说,Flash的全部目的是要创建花哨的网站,这些网站会随着时间的流逝而载入,并表现得很糟(并传播许多其他错误信息)。
实际上,事实恰恰相反,诸如Aviary PhoenixSliderocket之类的应用以及KoyotlTanki Online的游戏就证明了这一点。Flash是一个成熟的平台,可在浏览器中创建类似于桌面的体验。

最终,无能的人做出了太多的战略决策,他们更喜欢顺应潮流,而不是信任开发者,而不是开发者。谁真的有很多错误的想法。

除非真正取得了突破,否则新技术/利基技术将始终为获得接受而奋斗。例如,Ruby通过Rails及其周围的大肆宣传获得了成功。Flash对于设计师来说具有如此重大的突破,因为在90年代,人们认为shrill很好,并且它是第一个广泛实现这一功能的平台。
尽管有Flex,Flash对于开发人员而言从未真正实现过如此突破。可能是因为GWTqooxdoo和许多其他HTML部署框架都足够好,甚至根本不使用Flex或Flash,而且Java和JavaScript开发人员的数量也明显增加(显然,公司更倾向于选择拥有大量潜在员工的技术)。

如今,您无需从头开始编写AJAX网站。您实际上对HTML没有任何了解,反而会以您选择的语言来理解。

目前,HTML5受到了广泛的宣传和推动,许多人由此推断出Flash的死亡。给出了很多很好的理由,为什么HTML5比Flash更好。更有可能的是,您将拥有越来越多的资源匮乏,使用HTML5创建的肿网站。基于标准的废话不比基于第三方的废话好。

现在,发生了很多事情。iPhone和其他类似设备创造了一个巨大的市场,而这是4年前才出现的。网络标准最终被所有主要公司朝同一个方向(含糊其词)推动。

我个人只是希望所有的烦恼在一两年内解决,HTML5稳定,成熟并在此之前传播,而苹果希望采取较少的专心立场,而Flash Player在移动平台上变得更快。一旦迈出了重要的一步,人们将回到选择合适的工具来完成这项工作,就像在浏览器之战停止之后一样。截至目前,太多的声音让人们无法清晰地思考。


3
启动屏幕阅读器,关闭屏幕,然后尝试一下。它仍然有效吗?
BillThor 2011年

1
“为什么没有更多的Web开发人员使用开放源代码,多范式,富有表现力的跨平台语言?” -您是说像Javascript吗?
2011年

1
@BillThor:事实上,这取决于实现。Flash Player可以与屏幕阅读器进行交互。没有多少人选择利用这些可能性。要么是因为他们不在乎,要么是没有意义的。对于那些视障人士,我深表歉意,但我认为让链接到屏幕上的阅读器可以访问我所链接的任何应用/游戏并没有多大价值。我也很确定在关闭屏幕的情况下使用Photoshop会很麻烦。
back2dos

1
@BillThor:显然,您没有理解我的信息的重点:人们应该回到工作中使用正确的工具,而不是使用流行的工具。HTML是具有大量内容(可使用其语义捕获)的应用程序的绝佳工具。除此之外,它并不是典型的最佳工具。
back2dos

1
@ back2dos:至少没有错过它。如果我使用最好的工具完成所有工作,那么我将使用许多工具,其中一些工具晦涩难懂。然后,维护变得极为困难。相反,我使用团队中其他人有经验的工具。项目的正确工具并不总是专门的工具。
BillThor

1

这些技术还很不成熟。只要看看在5年内发生了多少变化。随着移动/平板电脑技术的发展,它将再次发生变化。

我将其视为一种合并。不只是HTML / DOM或插件。我已经看到了用于访问设备功能的HTML扩展。插件支持桌面和Web概念,并带来自己的想法。

根据您的观点,这是好是坏。目前,我的团队正在使用SilverLight(不适用于Web)。这不是一个坏技术。您可以构建一些非常强大,非常吸引人的应用程序。但是,与以前的版本(.Net甚至Win32)相比,它具有很多复杂性,因为您不能对这些技术做太多事情,而且期望值也较低。如今,大多数编写任何应用程序的开发人员通常都在结合最好的台式机,Web和移动技术(速度,功能,吸引力,可用性等)之间进行竞争(期望而非实际竞争)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.