【问题标题】:How does the Roozz browser plugin achieve it's cross platform capabilityRoozz 浏览器插件如何实现它的跨平台能力
【发布时间】:2011-07-01 16:01:21
【问题描述】:

我从roozz.com 发现了浏览器插件,并尝试使用LinqPadtry it here。他们说有一个转换过程,基本上可以将任何 exe 转换为他们的平台,然后可以通过所有主要浏览器在 windows、mac、linux 上运行。

当我深入研究发生了什么时,至少对于 Windows 7 上的 LinqPad,它所做的只是将 linqpad exe 下载到我的用户 AppData/Local 文件夹并将其托管在 chrome 中。有趣的是,我可以在浏览器之外启动 exe 并正常运行。我什至能够卸载 Roozz 插件并像往常一样继续启动应用程序。

我的主要问题。

  1. 这真的是跨平台的吗,我可以在 windows、mac 和 linux 上运行 .NET 4.0 WPF 应用程序,还是只能在 windows 上运行 windows 应用程序和 mac 上的 mac 应用程序?
  2. 一般来说,这个插件是做什么的,有什么限制?

编辑: 澄清一下,这不是关于浏览器插件的一般工作方式,而是关于这个插件如何运行专门为一个平台编写的应用程序并在不兼容的平台上运行。

进一步的测试表明,他们的说法存在一些 BS,或者至少是一些令人困惑的“炒作”,因为 LinqPad 实际上不适用于 MacOSx。当尝试运行你得到的应用程序时,

"您的操作系统不是 Roozz 平台尚未支持。 但我们正在努力。”

【问题讨论】:

    标签: .net google-chrome cross-platform browser-plugin


    【解决方案1】:

    让我用 7 个简短的点来澄清一点:

    1. Roozz 是一个在网络上分发软件的平台。您的用户通常必须下载并安装在他们的系统上并保持更新等的软件。它只会让您的最终用户的生活更轻松一些。
    2. Roozz 的聪明之处在于,您无需重新构建或重新编程应用程序即可在此平台上运行。 Roozz 可以转换大多数应用程序,以桌面为目标从网页运行。 FireBreath 是一个框架,可以帮助您构建自己的插件 - (FireBreath 是一个框架,适用于“我自己做所有事情”)
    3. 下个月 Roozz 还将内置租赁系统,这样您就可以每小时或每天租用在 Roozz 平台上运行的应用程序。同样,这些应用程序可以使用此支付系统,而无需与 SDK 和 API 集成。 (无需重建) 在这种情况下,应用不会存储在 AppData/Local 文件夹中
    4. Roozz 可以在多个平台(Win、Mac 和 Linux)上运行为 Mono 和 .NET 编写的应用程序。但前提是它们已经构建为可以在 Mono 上运行。 LinqPad 使用了 Mono 中没有的一些功能,因此它还不能跨平台工作......(在这种情况下,Roozz 将确保最终用户系统上提供正确版本的 .NET 或 Mono)
    5. 如果应用程序已针对 Win 和 Mac 平台构建和发布,那么 Roozz 插件将从服务器获取正确的版本,然后您将能够在 Windows 和 Mac 上的同一网页/URL 上运行该应用程序(请注意,在这种情况下,它实际上不是在 Mac 和 Windows 上运行的同一个二进制文件)
    6. Mac 版 Roozz 插件仍未公开发布(仅在私人测试版中)。原因是。由于 Win 和 Linux 版本涵盖了当今 90% 以上的所有桌面互联网用户,因此开发人员的要求并不是很强烈。 OS Statistics
    7. Roozz 不会尝试做以前没有人做过的事情 => 无需重新编译即可将原生 Windows 应用程序转换为 Mac 和 Linux 应用程序。 Roozz 只是试图提出一种更简单的方法来为最终用户和开发人员处理软件分发。

    【讨论】:

    • 感谢您的回答。我认为混淆在于您/他们网站上的营销,这并不能真正说明实际发生的情况。我将roozz.com/TechCompare.html 网格解释为意味着应用程序是跨平台的,而不仅仅是插件本身。当您将自己与 silverlight/flash/javascript 进行比较时,我认为开发人员会立即想到跨平台开发。开发人员应该在此处说明您所说的内容。
    • 我认为这里的一些其他误导性广告正在与原生应用程序进行性能比较。我的意思是有人真的会对原生应用程序比 javascript 更快感到惊讶吗?虽然该插件是基于 Web 的,但实际应用程序与 Web 堆栈无关,因此再次令人困惑。
    【解决方案2】:

    不就是一个浏览器插件吗?

    • 用于 IE 的 ActiveX
    • 用于 Chrome / FF / Opera 的 NPAPI

    Firebreath 是跨平台插件,您可以使用它来做同样的事情。 http://code.google.com/p/firebreath/

    【讨论】:

    • 我了解浏览器插件,但是这个是说您可以将正常编译的 Windows 应用程序分发到其他平台,而无需更改源代码。我试图弄清楚是我误解了他们的营销、完全 BS 还是两者兼而有之。
    • 他们在插件中模拟 Windows 应用程序,可能使用来自 WineHQ 的源代码可以做到这一点。他们不是在窗口中模拟它,而是在 NPAPI / ActiveX 窗口中进行。
    猜你喜欢
    • 2011-02-03
    • 1970-01-01
    • 1970-01-01
    • 2012-05-17
    • 2011-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多