Android 原生应用 vs 跨平台应用

Posted

技术标签:

【中文标题】Android 原生应用 vs 跨平台应用【英文标题】:Android Native Application vs Cross platform application 【发布时间】:2014-01-09 11:36:25 【问题描述】:

我是 Andorid 的新手。我正在开发一个使用 Google Map API 并调用 Web 服务并通过套接字 IO 传输数据的应用程序。我想知道它可以实现为原生应用程序或跨平台应用程序。我搜索了很多。但我无法得到正确的。告诉我哪一个简单,为什么不是另一个。提前致谢

【问题讨论】:

【参考方案1】:

IMO 如果您想在 android 上构建高质量的应用程序,那么永远不要走跨平台路径(如 Cordova)。 您肯定会遇到性能问题,尤其是在旧设备上。

我在您的用例中看到 Cordova 应用程序的唯一优势是您将使用相同的语言编写客户端和服务器。

总结一下:

如果您想要高质量的应用程序,请选择原生路径。 如果您想快速开发应用程序并且不太关心质量/性能,或者您想生成快速原型作为概念验证,那么请选择跨平台路径。

如果您选择本机路径,请参阅this question 了解可用的 Java WebSocket 客户端实现。

【讨论】:

谢谢。我会选择国产的。但是你能提供一些有android native + node js的教程吗? 抱歉,教程是什么意思?这是一个简单的客户端-服务器通信。您的 nodejs 服务器将侦听 websocket 连接的端口。您的 Android 客户端将使用 Java WebSocket 客户端库通过您在服务器中指定的端口连接到服务器。【参考方案2】:

我会推荐 Xamarin。是的,它确实要花钱,但是如果您计划在任何时候将您的应用程序迁移到 ios,您就不必将您的代码移植到 Objective-C。更不用说你一直在使用 C#!我建议试一试免费试用。

【讨论】:

谢谢。但是我在 cordova phonegap 中开发了一些跨平台应用程序并面临很多问题。性能也没有那么好。所以我决定去原生应用。 这是原生的。 Phonegap 只允许您将 javascripthtml 文件安装到您的手机。 Xamarin 实际上将 C# 编译为本机代码。您的应用程序在编译后将是纯 java 或 Objective-c。我同意,phonegap 和 appcelerator 不是最好的,但这也是因为它们不是原生的。只需谷歌 Xamarin,你就会明白我的意思。 听起来不错。通过使用 xamarin,我可以使用诸如 gottox socket io 库之类的外部库。该库是用java开发的。如何导入和使用它? 您可以使用外部库,通过 NuGet 包可以使用它们。我只是快速搜索了 gottox 并找不到它,但这并不意味着它不存在。有很多人不断将这些库移植到 c#。不过,我确实找到了大约 10 个不同的套接字 io 库供使用。找到适合我的应用程序的外部库没有任何问题。

以上是关于Android 原生应用 vs 跨平台应用的主要内容,如果未能解决你的问题,请参考以下文章

移动开发 - 原生 VS 跨平台 VS JavaScript [关闭]

PhoneGap Android iOS NFC

Android 平台上的原生 C/C++ 代码

跨平台应用开发进阶(二十九) :uni-app 实现Android原生APP-云打包集成神策详细教程

Android 逆向Android 进程注入工具开发 ( Visual Studio 开发 Android NDK 应用 | VS 自带的 Android 平台应用创建与配置 )

Flutte VS RN