跨平台应用程序开发堆栈,以解决PC和移动?

时间:2012-08-29 13:37:36

标签: android ios mobile cross-platform desktop-application

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

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

您建议使用哪些(一组)应用程序开发堆栈?

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

  1. 可以在每个平台上生成可安装的应用程序(可安装的exe,apk等)。
  2. 允许应用程序使用同步数据完全脱机运行。
  3. 最大限度地减少我的共享代码需要担心的不同API和实现的数量(相同的数据库API,尽可能少的不同DOM实现等)。
  4. 前言,我可以为个人电脑制作基于HTML的Adobe Air应用程序,然后在手机上使用PhoneGap。或者我的用例有更好的产品吗?

1 个答案:

答案 0 :(得分:0)

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

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

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

如果您设置了跨平台开发,则Mono看起来是您最好的选择。它声称是跨平台的Windows,PC,Linux,iOS和Android - 尽管你已经怀疑你将为所有人创建单独的应用程序。您可以将业务逻辑打包到框架或插件中,这些框架或插件可以在所有可能满足您需求的平台上共享。它的价格昂贵 - 对于一家公司来说它会没问题,但如果这只是一个“侧面项目”,那么它可能有点过于昂贵。