在 Android 和 IOS 上移动 Web Symphony 应用程序

Move Web Symphony Application on Android and IOS

我用 Symphony/XSLT (http://www.getsymphony.com/) 做了一个响应式网站。我想编写 2 个应用程序 (IOS/Android),它们遵循我的响应式网站的相同行为。

然后,从逻辑上讲,我将不得不从 IOS 应用程序和 Android 应用程序调用数据库。但是,我会制作重复的代码,因为我希望应用程序在两个平台上都相似。

那么,最好的方法是什么? Android/IOS 应用程序会调用一个网络服务,这个网络服务会调用数据库和 return 数据到应用程序?

有没有办法制作一个 "DLL" 并将 "DLL" 作为库提供给 Android/IOS 应用程序?

您还有其他解决方案吗?

干杯。

遗憾的是,由于 iOS 和 Android 是用完全不同的语言编写的,因此您无法在它们之间共享库。

业务案例将真正决定您是否应该使用 HTTP REST 服务向数据库发送数据或从数据库发送数据。话虽如此,我开发的大多数应用程序几乎总是使用网络服务。

如果您的目标是创建完全原生的应用程序,那么您真的别无选择,只能复制所有业务逻辑和数据访问逻辑来满足您的需求。但是,如果保持原生不是一个重要的优先事项,那么我实际上会为您的应用推荐 Xamarin

Xamarin 是一个跨平台框架,可用于创建本机 iOS、Android 和 Windows 应用程序。您可以使用 Mono 框架 APIs 在 C# 中编写您的逻辑,然后该代码将被转换为相应的 SDK 特定 API 调用。

Xamarin 与所有其他跨平台框架的不同之处在于它的设计模式。 Xamarin 建议您创建一个包含三个子项目的项目。

首先,您要为 UI 创建两个子项目:一个为 iOS,一个为 Android。这些项目将创建适合平台的 UI。因此,您的最终结果将是一个具有 100% 原生外观的应用程序。

其次,您将为 public 公共库 (PCL) 创建一个子项目。这是您所有的数据库访问、业务逻辑和网络连接发生的地方。此 PCL 可用于 iOS 和 Android 子项目。

这将是您想要的理想解决方案。您将获得 iOS 和 Android 的真正原生外观和感觉,并且您将获得一个可以在两者之间共享的库。

我个人使用过 Xamarin 并编写了许多本机 iOS 和 Android 应用程序,我会推荐它用于您的业务案例。