【问题标题】:managing code supporting multiple devices管理支持多个设备的代码
【发布时间】:2015-09-09 09:10:55
【问题描述】:

我有一个网络应用程序,它使用来自 .NET 后端的网络服务。 iOS 应用程序也将相同的服务用于移动应用程序。我们面临的难题是,为了使用网络服务,这意味着 iOS 应用程序必须有互联网连接。

理想情况下,iOS 应用应该在没有网络连接的情况下可用,但是为了做到这一点,应用需要从服务器复制相当多的逻辑。这显然不理想,因为这意味着代码库可能会不同步等。

我想知道人们采取了哪些途径来解决这个问题?还是我们注定要维护多个特定于我们计划支持的设备的代码库?

【问题讨论】:

    标签: c# ios servicestack


    【解决方案1】:

    您需要构建一个跨平台库。 .NET Framework 可移植类库正是您所需要的。

    https://msdn.microsoft.com/en-us/library/gg597391%28v=vs.110%29.aspx

    【讨论】:

      【解决方案2】:

      查看 ServiceStack 的 HelloMobile example project,它在每个受支持的移动平台上共享 ServiceModel DTO .dll 和 Shared.Client PCL 项目。

      【讨论】:

        【解决方案3】:

        需要互联网访问的 iOS 应用有什么问题?您的用户首先绝对需要访问 Internet 才能下载您的应用程序。您的应用程序在首次启动时需要 Internet 连接是完全可以接受的。

        如果您希望您的应用具有离线功能,您可以考虑使用持久性机制。我想到了 Core Data 和 Realm。如果您希望使用某些版本的数据发布您的应用程序,您可以在编译应用程序时手动添加种子数据集。 Core Data 和 Realm 都支持这一点。

        【讨论】:

        • 拥有离线数据存储功能没有问题。问题是当我们需要维护依赖于 Web 服务的应用程序逻辑时。例如,我有一个调用 Web 服务的按钮,该服务依赖于基于历史信息的逻辑,而这些历史信息可能不在电话上。要在手机上执行此操作,需要在手机上存储历史信息以及复制该服务中包含的逻辑。我希望这是有道理的..
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-07-28
        • 1970-01-01
        • 2013-09-14
        • 1970-01-01
        • 1970-01-01
        • 2016-09-27
        • 1970-01-01
        相关资源
        最近更新 更多