【问题标题】:frameworks choosing strategy for multi platform webapp多平台 webapp 的框架选择策略
【发布时间】:2011-02-02 18:01:49
【问题描述】:

问题

对于构建需要部署到桌面网络浏览器和移动设备(Android、iPhone 等)的类似桌面的网络应用程序,您的策略是什么?

一个行动方案可能是首先选择最佳框架来构建在计算机(即非移动设备)上运行的部分。作为一个类似桌面的应用程序,一个很好的候选框架是 GWT+ExtGWT,因为它提供了:

  • 基于 Java 的开发比通过 ExtJS 使用 Javascript 开发更可扩展/可靠
  • 良好的调试
  • 良好的可测试性

接下来,您还想在移动设备上部署此应用。那你怎么从这里走?为 Android 编写一个单独的实现(与 GWT 分开),为 iOS 编写另一个实现(在 Objective-c 中),为 Windows Mobile 编写另一个实现,等等?

相关

与上述相关,我看到了 PhoneGap 的介绍,它声称您使用 Javascript+HTML 开发,它为所有移动平台生成代码:Android、iOS 等。

但是,PhoneGap 不是一个选项,因为我认为它不能很好地与 GWT 集成,更重要的是,它不会生成可以利用后台、服务等功能的本机应用程序(参见 http://www.youtube.com/watch?v=xHXn3Kg2IQE为什么原生 Android 应用程序比基于浏览器的应用程序好得多)。可能还有其他我不知道的框架,例如 PhoneGap,但目前我只看到:

  • 一个使用 GWT 的实现
  • Android 的一种实现
  • iPhone 的一个实现
  • 等等...

【问题讨论】:

    标签: gwt mobile-phones cordova


    【解决方案1】:

    如果您已经计划针对多个平台进行开发,那么至少考虑跨平台框架(例如 PhoneGap 或 Appcelerator)是个好主意。除了您正在为多个平台进行开发这一事实之外,还有几个其他重要问题需要考虑。

    1. 您还想要网页版吗?
    2. 您需要密集的图形支持吗?
    3. 您是否有大量资金来定位多个平台?
    4. 您是否有大量时间针对多个平台?

    您还指出了在调试和可测试性方面需要考虑的另外两个重要问题。在单元测试方面,任何原生平台都很难进行单元测试。对于大多数原生平台来说,调试非常容易。

    关于PhoneGap,了解它的一些事情很重要。

    您可以编写 PhoneGap 插件。插件本质上是任何给定平台的原生代码,几乎可以做任何你想在原生代码中做的事情——后台服务、opengl 等——并且可以让 JavaScript 在 web 视图中访问它。

    您可能对几个开源项目非常感兴趣,例如 GWT-PhoneGap、用于 JavaScript 单元测试的 QUnit 和用于 Firebug 之类调试的 Weinre。

    希望有帮助!

    【讨论】:

    • 感谢您的回复!我主要关心的是速度和可用性。我不希望应用程序在移动设备上冻结/滞后。关于(2),该应用程序是一个类似桌面的应用程序(在使用的组件上类似于 GMail),它不是图形密集型的(不是游戏)。但是,它将从服务器显示/加载大量数据(数据库中可能有数千条记录)。所以我担心的是PhoneGap 使用网络浏览器来呈现非常慢的应用程序!原生(即 Android)实现会快得多。
    • 您能否就PhoneGap 的性能发表您的看法 - 即它在浏览器中运行应用程序,是不是很慢?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-12
    • 1970-01-01
    • 2011-03-28
    • 1970-01-01
    • 2012-10-11
    相关资源
    最近更新 更多