我们希望开发一个可在iOS和Android上运行的应用程序。然而,我们无法决定首先在一个平台上创建应用程序是否更好,一旦我们满意,在另一个平台上复制它,或者在开始时完成UX决策并同时开发平台。
应用程序很简单,我们有开发它的资源。这只是一个问题,即是顺序还是并行开发平台,如果顺序开发,那么开始使用哪个平台(再次假设资源分配不是问题)。
答案 0 :(得分:11)
至于我,同时开发这两个版本总意味着更多的时间。您可以完美地定义您的设计,工作流程,架构,但在开发过程中总会有变化(更不用说是否有外部客户做出决策)。如果您正在为两个平台并行开发,那么您可能会两次实施这些更改,而如果您在一个平台上首次完成应用程序,则在第二个平台中不会发现更多意外的惊喜。
接下来的问题是:我应该从哪个平台开始?我选择Android有两个主要原因:
在eclipse
中重构代码/项目结构(至少对我来说)比xcode
更容易。
我设计了用户界面,记住最大的分辨率(Android xxhdpi
),然后我使用android资源命名约定(这是更严格的限制)切割我的最终png资产一次比ios),并为其他密度(xhdpi
,hdpi
,mdpi
,iOS
和iOS@2x
)
关于跨平台框架(即phonegap),我们永远不会将工作分成两部分,用户体验永远不会接近本机应用程序所达到的体验。除非您的应用非常简单,否则我会高度劝阻这些框架。
答案 1 :(得分:5)
当我们开始开发我们正在开发的应用程序时,我们遇到了同样的争论。
首先,我应该说,如果您的应用程序足够简单(没有太多繁重的动画,3D等),您可能需要查看一些多平台解决方案: http://mobiledevices.about.com/od/mobileappbasics/tp/Top-5-Tools-Multi-Platform-Mobile-App-Development.htm
我个人认为多平台解决方案仍远远落后于原生应用,但它可能适用于某些应用。
最后,我们决定在一个平台(Android)上开发应用程序的基础架构,然后在Android应用程序基础架构的强度和性能得到证实后,开始在另一个平台(iOS)上构建应用程序。当我们开发iOS应用程序时,Android应用程序的基础架构被复制了。
这有几个好处:
完成应用程序架构的设计后,您可以在一个平台上测试一次。如果架构无法支撑,则无需从头开始执行2个项目 - 只需一个。
一旦开发应用程序,至少是基础架构,您已经经历了所有主要的开发障碍。这样您就可以相对轻松快捷地完成其他平台的开发。
同时开发2个项目可能会导致代码在两个平台中的工作方式存在显着差异。虽然总会存在一些差异,但由于平台之间存在巨大差异,最好尽量减少应用程序运行方式之间的差异 - 这将使维护应用程序在未来变得更加容易。 (问题的解决方案基本相同 - iOS和Android团队可以相互复制他们的解决方案。)
同时开发可能会更快,但风险更大,并且在您需要维护应用程序时会花费更多时间。
希望这有助于您的决策:)
答案 2 :(得分:0)
这很大程度上取决于您如何开发应用程序。如果您使用多平台开发,我建议使用像phonegap这样的框架:http://phonegap.com/。通过这种方法,您的问题就会消失,您节省了一半的努力。
答案 3 :(得分:0)
如果所有资源都可用并且要求很明确,那么您应该进行并行开发,因为不是让任何资源闲置的最佳做法。