框架选择多平台webapp的策略

shi*_*ght 2 gwt mobile-phones cordova

问题

您构建类似桌面的Web应用程序的策略是什么?需要将其部署到桌面Web浏览器和移动设备(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的一个实现
  • 等等 ...

dav*_*son 5

如果您已经计划开发多个平台,那么至少考虑一下跨平台框架(如PhoneGap或Appcelerator)是个好主意.除了您正在为多个平台开发之外,还有一些其他重要问题需要考虑.

  1. 你想要一个网络版吗?
  2. 你需要密集的图形支持吗?
  3. 你有足够的资金来定位多个平台吗?
  4. 你有足够的时间来定位多个平台吗?

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

关于PhoneGap,重要的是要了解它的一些事情.

你可以写PhoneGap插件.插件本质上是任何给定平台的本机代码,可以在本机代码中执行任何您想要做的事情 - 后台服务,opengl等 - 并使其可以在Web视图中访问JavaScript.

有几个您可能非常感兴趣的开源项目,例如GWT-PhoneGap,用于JavaScript单元测试的QUnit,以及用于调试的Weinre for Firebug.

希望有所帮助!