16

我想为 iOS、Android 和 windows phone 开发一个简单的应用程序。

我只是想知道一个简单的 HTML5、JS 和 CSS 组合可以在所有这些平台上工作。

我想知道哪个效率高?

时间和编码都没有问题。但如果我可以用 HTML5-JS 本身实现一切,我会选择 Hybrid 开发。我想通过示例了解 Native 和 Hybrid Development 之间的主要区别(我知道主要区别是 HTML5-JS 支持跨平台)。

注意:我不是在制作游戏应用程序。

4

2 回答 2

33

根据我的经验,除非您正在开发的应用程序非常简单,否则这些跨平台解决方案(如 PhoneGap 和其他)从未真正达到预期。即使是基本的东西,比如过渡动画和小的 UI 调整,使用这些工具也将是一场艰苦的战斗。

原生开发可能需要更长的时间(如果您要为超过 1 个平台构建应用程序),但优点是您可以完全控制您正在制作的内容。在性能方面,本机开发仍然并且可能永远远远领先于跨平台开发,这仅仅是因为它没有嵌套在浏览器或任何其他运行时解释平台中的开销。

此外,根据我的经验,能够编写一次代码并立即在所有平台上运行的神话是一种圣杯。许多人声称已经实现了它,但您总是会发现自己在编写特定于平台的代码(以“if explorer、if safari、if chrome”等形式)。

我的建议是,为您的应用程序编写一个可靠的架构。在一个平台上构建应用程序,解决设计中的所有故障,然后将设计复制到其他平台。这将花费您一点时间,但是您的应用程序的优势,以及在您的应用程序中添加/更改功能和其他小东西的灵活性将是值得的。

以 Facebook 为例。他们以前的应用程序(如果你记得的话)是一个跨平台的应用程序。它很慢,没有响应,会一直崩溃并且几乎无法使用。大约一年前,在无数次投诉之后,他们发布了原生应用程序的更新,突然间,所有这些问题都消失了(嗯,至少大部分)。

于 2013-10-21T06:29:11.337 回答
7

主要区别在于 UI 组件,它是应用程序中的主要内容。您无法在混合应用程序中实现原生对话框、通知和原生动画的原生外观和感觉。

我想知道哪个效率高?

效率不是问题,混合应用程序将是一个支持多个平台的单一应用程序,具有成本和时间效益。

混合应用程序的优点

  1. 具有成本效益,将开发单个应用程序,从而节省开发人员在不同平台上制作应用程序的成本。
  2. 时间有效,为不同平台制作不同的应用程序将节省时间。
  3. 将更新非常快,与您从 google playstore 更新不同,该应用程序将仅在服务器端更新,您无需再次重新安装。
  4. 体积更小。因为用于支持多个屏幕的资源将由 HTML 处理。

混合应用程序的缺点

  1. 没有像本机应用程序的外观和感觉。
  2. 如果服务器关闭,应用程序甚至不会显示静态行为。

如果你愿意在 UI 上妥协,那么你应该选择 Hybrid 应用。

于 2013-10-21T06:24:30.977 回答