Web应用程序类似Native Client

时间:2010-11-02 00:43:34

标签: web-applications offline-mode

我想将我的应用程序移植到网络应用程序。

该应用应该:

  1. 能够访问本地硬盘
  2. 数据应存储在本地(如果我的网络服务器遭到拒绝服务攻击)。
  3. 利用本地CPU。
  4. 在任何浏览器中,在任何操作系统中运行
  5. 无需插件。
  6. 基本上,我想要一个可以在任何浏览器和任何操作系统中运行的Web应用程序。不需要使用插件。并且不容易受到拒绝服务攻击。

    我听说过来自谷歌的Native Client,但现在处于萌芽阶段,它可能只与Chromium和Chrome一起运行(不在IE,Firefox,Safari等)。

    我不想使用闪存,因为它需要一个可以被用户计算机阻止的插件(公司笔记本电脑的安全策略)。此外,我听说闪光灯即将消亡。

    另外,我听说过Jave / JSP / Applets已经死了。

    什么样的开发环境可以让我实现上述目标?是吗? Silverlight的?

    由于

2 个答案:

答案 0 :(得分:1)

听到很多事情突然死亡或死亡,这肯定是坏消息......

无论如何,如果您的要求是“任何操作系统上的任何浏览器”,那么您谈论的是HTML,简单明了。从该要求中删除一些浏览器,您可以包含JavaScript。

本地CPU相对于什么?使用服务器资源?没有HTML / JavaScript。本地数据存储将是奇怪的,所有内容都不支持HTML5,但可能需要考虑这一点。

DoS攻击向量是什么?为什么会出现如此相关的问题?

您可能在此处拥有相互排斥的要求,并且可能无法完全掌握Web开发作为平台或体系结构。更重要的是,这是一个真正模糊的问题,几乎没有任何信息,从其他人的角度来看,是荒谬的要求。请详细说明。

答案 1 :(得分:1)

能够在没有插件的情况下直接访问用户本地硬盘驱动器会违反安全性而无法完成。除非您指的是用户能够将文件上传到服务器进行存储!这可以做;但它全部在用户控制之内。

如果您希望在用户端保存的数据很小,那么您唯一的选择就是没有任何插件的Cookie,而且您可以存储的数据量非常小。

HTML5引入了应用程序存储,但它的支持非常低,所以我怀疑这适合你,因为用户可以定义每个应用程序可以使用多少空间,并且默认为少量。

你可以使用尽可能多的CPU ...但是你必须意识到很多人一次运行多个应用程序,服务和网站,他们都共享CPU使用率!因此,如果您计划在客户端使用大量CPU密集型操作,请不要指望老妈妈的笔记本电脑能够执行并保持正常运行....服务器端CPU;您的托管服务提供商可以使用多少,一些云托管服务提供商会让您支付CPU使用费。

如果您的网站受到攻击,那么无论是flash,Silverlight,普通网页,本机客户端应用程序还是存储在用户端的数据都无关紧要......如果浏览器不能请求页面,页面将不会加载,除了本地错误页面之外什么也不会出现,所以这些技术都不会让你“安全”免受DOS攻击或任何其他类型的攻击,用户会发现他们根本无法加载无论如何,网站或网页。

Silverlight类似于Flash,Java小程序和谷歌“本机客户端”以及其他所有内容!因为它的插件用户必须安装并且可以选择禁用,所以我收集这些选项都不适合你...不依赖于插件你的选项只是基本的javascript和HTML而没有别的,和许多公司禁用所有插件或仅允许选择少数例如adobe reader ...有些甚至禁用javascript,因此无法在客户端进行任何类型的编码:)< / p>

这完全取决于您需要做什么,为什么需要访问用户硬盘驱动器...为什么指定您需要利用CPU?为什么还有一个无插件的规则,你还谈到使用插件?