我想为iOS,Android和Windows手机开发一个简单的应用程序。
我只是想知道一个简单的HTML5,JS和CSS组合可以在所有这些平台中运行。
我想知道哪一个会有效?
时间和编码没问题。但如果我能用HTML5-JS本身实现一切,我会选择混合开发。我想知道本机和混合开发之间的主要区别与示例(我知道主要的区别是HTML5-JS支持跨平台)。
注意:我没有制作游戏应用程序。
答案 0 :(得分:33)
根据我的经验,除了您正在开发的应用程序非常简单,这些跨平台解决方案(如PhoneGap和其他人)从未真正达到预期。即使是基本的东西,如过渡动画和小型UI调整,使用这些工具也将是一场艰苦的战斗。
本机开发可能需要更长的时间(如果您正在构建超过1个平台的应用程序),但优势在于您可以完全控制您正在制作的内容。在性能方面,本地开发仍然,并且可能永远是远远超出跨平台开发,仅仅因为它没有嵌套在浏览器或任何其他运行时解释平台中的开销。
另外,根据我的经验,能够编写一次代码并让它立即在所有平台上运行的神话是一种圣洁的圣杯。许多人声称已经实现了它,但你总会发现自己编写特定于平台的代码(如果是“探险家,如果是徒步旅行,如果是铬”等)。
我的建议是,为您的应用编写一个可靠的架构。在一个平台上构建应用程序,解决设计中的所有故障,然后将设计复制到其他平台。它会花费你更长的时间,但你的应用程序的优势,以及在你的应用程序中添加/更改功能和其他小东西的灵活性将是值得的。
举个例子,拿Facebook。他们以前的应用程序(如果你还记得)是一个跨平台的应用程序。它很慢,没有响应,会一直崩溃,几乎无法使用。大约一年前,在无数次投诉之后,他们用他们的原生应用程序发布了更新,突然之间,所有这些问题都消失了(好吧,至少大多数)。
答案 1 :(得分:6)
主要区别在于UI组件,这是应用程序中的主要内容。您无法在Hybrid应用程序中实现原生外观和感觉,如原生对话,通知和本机动画。
我想知道哪一个会有效率?
效率不是问题,混合应用程序将是一个支持多个平台的应用程序,具有成本和时间效益。
混合应用的PROS
混合应用的缺点
如果您愿意与用户界面妥协,那么您应该使用混合应用程序。