3

我想开发一个适用于 PC(Windows、Mac、Linux 等)和移动设备(iPhone、Android 等)的应用程序。我想在 GUI 层下尽可能多地在这些平台之间共享/重用代码。GUI 层本身可能是特定的或在某些平台之间共享。我想尽可能使用 Web 技术,所以更喜欢用 JavaScript 编写共享代码,至少用 HTML 编写 PC GUI。

没有花哨的 GUI 要求,但重点是同步和存储/搜索大量数据(可能是千兆字节)并接收有关其更新的通知。

您会建议什么(一组)应用程序开发堆栈?

更新:具体来说,我正在寻找以下工具或库:

  1. 可以在每个平台上生成可安装的应用程序(可安装的 exe、apk 等)。
  2. 允许应用程序使用同步数据完全脱机运行。
  3. 尽量减少我的共享代码需要担心的不同 API 和实现的数量(相同的数据库 API,尽可能少的不同 DOM 实现等)。

例如,我可以为 PC 制作一个基于 HTML 的 Adob​​e Air 应用程序,然后在移动设备上使用 PhoneGap。或者我的用例有更好的产品吗?

4

1 回答 1

0

网络是你的朋友。您将需要一个基于 Web 的 API 和一个基于 Web 的数据库。假设您也将创建一个网站,因此在创建网站时,您应该将所有业务逻辑放入 API(或创建可以输出为 XML/JSON 的控制器)以及前端网站的 HTML)。

这样,GUI 可以在每个平台上本地创建,并且大部分“业务逻辑”都通过服务器。

您甚至可以创建一个可以“响应式”的 GUI(基于 Web)(即根据您正在查看的设备进行更改。请参阅 Twitter 的 Bootstrap 以获取灵感),而您只需要本地创建一个 Web 浏览器/web 基于视图的应用程序,它将成为您网站的窗口。

如果您选择跨平台开发,那么Mono看起来是您最好的选择。它声称在 Windows、PC、Linux、iOS 和 Android 上是跨平台的——尽管你已经怀疑你将为所有人创建单独的应用程序。您可能能够将业务逻辑打包到框架或插件中,这些框架或插件可以在可能适合您需求的所有平台上共享。虽然它很贵 - 对于一家公司来说它会很好,但如果这只是一个“副项目”,那么它可能有点太贵了。

于 2012-08-29T13:46:48.783 回答