【问题标题】:Portable Mobile/Tablet application proof of concept便携式移动/平板电脑应用概念验证
【发布时间】:2015-02-18 07:22:33
【问题描述】:

我需要开发一个主要用于 Windows 8.1 和 iPad 的便携式应用程序,但以后可以扩展到 Android、WP 和 iOS。 该应用程序包括调用 Web 服务以在网格中显示数据,它包含 CRUD 操作,它可能会保存一些本地数据以供离线模式使用,然后在连接后进行同步。

我在太多的解决方案之间左右为难,我需要您的建议以获得更好的解决方案。

1- 解决方案 1:为每个操作系统使用原生(VS for Windows 8.1 [RT and pro] 和 xCode for iPad):此解决方案需要代码复制、逻辑和 UI。

2- 带有 WebView 应用程序的 HTML5:我认为这是一个弱解决方案,尤其是我们有本地存储、检查连接性并调用 ws ...

3- 使用 Xamarin:我认为 Xamarin 不支持 WinRT 或 Windows 8.1 在 iPad 和 Windows 8.1 之间共享逻辑代码

4- 使用 Xamarin.Forms:构建 UI 很困难,而且不支持 Windows 8.1。

从您的角度来看,最好的解决方案是什么?如果您有任何其他概念证明,请提出建议。

非常感谢。

【问题讨论】:

    标签: android ios xcode xamarin windows-8.1


    【解决方案1】:

    我认为使用带有 webapp 视图的 HTML5 是更好的选择。

    使用 Cordova (Phonegap) 可以在 HTML webapp 中轻松实现大多数本机功能。 PhoneGap Platform Guide 许多其他插件可用于 BLE、NFC 等高级功能。

    调用 webservice 在 HTML5 中确实不是问题。 简单的 ajax 就足够了,但是现在有许多高级框架可供使用,这使您的工作变得轻松。其中最好的之一是 Angular JS(由 Google 维护)。

    Angular JS

    对于数据库,您可以访问目标操作系统的本地数据库或移动设备的 SQLite 数据库。 你可以检查这个链接 Storage options

    因此,在您的情况下,开发 Web 应用程序可能是更有效的解决方案。根据我的观点,这可能是您的最佳方式。不过,你可以做一些研发,也能找到适合你的。

    【讨论】:

      【解决方案2】:

      如果您以质量为目标,那么原生化是唯一的方法...您可以减少工作量like Google is doing:用 Java 编写业务逻辑和单元测试,然后使用 J2ObjC 将其转换为 ObjC 并转换为带有GWT 的Javascript。 在您的情况下,由于 Java 是 C# 的简化版本,您可以轻松找到转换为 C# 的工具,发现自己拥有每个平台的本机业务逻辑!这应该占代码库的 50%-70%...

      【讨论】:

        【解决方案3】:

        大多数 html/hibrid 框架,如 Cordova (cordova.apache.org)、Ionic (http://ionicframework.com/) 等,都在 Android 上使用原生 WebView。在 Kitkat 之前,WebView 的性能还没有为生产做好准备,如果你有一个包含很多元素的列表,滚动体验真的很糟糕。

        如果你想做一个简单的概念证明、原型或其他什么,我认为 html 框架是一个不错的选择。但是,如果您要将您的业务置于其中一个框架之上,我不建议您这样做。

        还有一种使用 Cordova 和人行横道 (https://crosswalk-project.org/documentation/cordova.html) 嵌入 Chrome 的替代方法,但您将以 40Mb 的 APK 结束一个简单的 hello world。

        【讨论】:

          【解决方案4】:

          只有我的 2 美分。我认为在您计划发布和支持的平台上使用不受支持的库没有意义。就个人而言,我会为每个平台本地编码。虽然这需要做很多工作,但如果您必须询问您希望在哪条路径上采用您的应用程序,那么这种类型的项目听起来更像是“您种下什么就收获什么”的应用程序。此外,您将能够直接支持每个问题而无需等待补丁,但该硬币也有两个方面。您的机会成本缺少图书馆将提供的未来功能,如果它对您来说是值得的。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2017-03-08
            • 2012-09-13
            • 1970-01-01
            • 1970-01-01
            • 2016-08-02
            • 2013-12-26
            相关资源
            最近更新 更多