【问题标题】:Apps written in web langs vs apps implemented natively [closed]用网络语言编写的应用程序与本机实现的应用程序[关闭]
【发布时间】:2016-07-02 17:29:23
【问题描述】:

您好,我想从事跨平台移动应用开发。我们能否回顾一下使用原生应用或网络应用的优缺点?

上述跨平台移动应用程序将需要互联网连接才能运行。答案也可以基于:

  • 内存使用情况(次要和主要)
  • 运行时速度、数据库(SQL 和 NOSQL)访问速度和支持
  • 潜在的可移植性(如果本机易于转换)
  • 最后但并非最不重要的是,关于未来的“证明”(方向 发展和支持)

编辑:这是一个重新设计的问题..

【问题讨论】:

  • 这不是一个关于 stackoverflow 的问题,但它仍然是一个有趣的问题。移动开发最佳实践总是在不断变化,尤其是现在。如果您需要您的应用程序出现在各个商店中,cordova 和 react native 是受欢迎的选择。 react native 的方法总体上听起来更好(webviews 在大多数手机上仍然存在性能问题),但它也更年轻。
  • 这个问题不适合 SO。不过话虽如此,每天仍然会被问到同样的问题,所以如果你搜索一下,你会发现许多过去的问题,其中包含有关此问题的答案和 cmets。
  • 如果你懂 C# 那就看看 xamarin
  • 是否可以推荐在 Java/Swift 中为各自的平台制作应用程序的“外壳/骨架”,然后使用后端语言与它们交互?考虑 Rails 或 PHP。

标签: javascript android ios mobile


【解决方案1】:

如果我想用最短的时间进入市场,我会选择 HTML/CSS/JS,使用一个框架来缓解各种平台中的边缘情况,我在那种情况下的偏好是 ionic。当且仅当我的应用程序蓬勃发展时,我才会将其转化为原生,我会确保原生化的投资值得回报。但是,如果我有一些时间,并且我想用两全其美的方式来实施中期项目,我会选择像 nativescript 这样的东西。但这只是我

【讨论】:

  • 一旦你使用 Ionic 或其他一些框架,如 Xamarin,现在看起来最有吸引力。就像你提到的开发速度目的。我为什么要制作原生应用程序?
  • 最好是减小应用程序大小,减少 webview 附带的内存占用,并以更低的内存成本和用户体验使应用程序性能更高。主要是为了确保该应用不会让使用较弱设备的用户感到沮丧,并确保任何想要该应用的人都不必担心它在设备上的过路费。
  • 啊,我明白了。我会考虑到这一点:)
  • Web 应用的执行速度更快,这是真的。
【解决方案2】:

对于移动应用程序,您应该使用适用于 Android 的 Java 和适用于 iOS 的 Swift。 HTML5 应用程序存在性能低下等诸多问题(你见过 JavaScript 动画在移动浏览器上的速度吗?当然,如果有动画,大多数时候网站会因为性能不佳而禁用它)。

原生应用是编译的(针对 Android 是半编译的),但 JavaScript 是一种解释性语言,在手机上的性能很差。我认为您应该使用母语开发您的应用程序。

【讨论】:

  • 我并不是说不能为 Android 或 iOS 制作网络应用程序!我只是说性能较低,尤其是在有动画的情况下。
  • 我明白了。我的应用程序将更多地提供服务/功能。与动画无关。唯一的速度因素是重新测试 GPS 位置和数据库数据。
  • 好吧,如果只是这样,我认为使用网络应用程序没有问题。最好的方法是尝试看看;)
  • 谢谢 :) 我可能想添加更多功能,但前提是它不是失败的:P
【解决方案3】:

Vaadin TouchKit

如果您的应用程序是网络应用程序,如果它需要 Internet 连接并且无法离线工作,并且您想要类似移动设备的用户界面,并且您想要在纯 Java 服务器端编程但自动神奇地呈现到使用标准 Web 技术的客户端,无需学习 HTTP、HTML、CSS、JavaScript、DOM、WebSocket、Push 等,然后查看Vaadin 和附加组件TouchKit

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-04
    • 1970-01-01
    相关资源
    最近更新 更多