【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>
当谈到为你的移动应用或游戏选择目标平台时,仍是有两个主要的选择。自智能手机引入以来,iOS和Android主导了移动设备,并且这种情况没有很快会改变的迹象。那么这几个平台真正的区别是什么呢?
1. 设备
屏幕大小和分辨率
一开始显而易见的是你会开发什么样的设备。重要的是要考虑与应用程序交互时用户使用的设备。这会有许多设计因素的影响。屏幕尺寸和分辨率就是当选择一个平台时你需要考虑的主要因素之一。
如果你选择开发iOS应用程序,屏幕尺寸和分辨率在你的开发过程中会扮演一个小角色。苹果基于iPad和iPhone的设计生产设备的有限范围。你很容易熟悉这些设备。
而对于Android开发人员来说,情况要复杂得多。有越来越多的制造商制造Android操作系统的设备。他们有各种不同的形状和大小。
在iOS和Android中做选择意味着决定了你将以何种方法挑战不同的屏幕尺寸。如果你想要简单的选项,那么iOS开发是一个安全的赌注。如果你能克服使应用程序工作在多种设备上的障碍,那么安卓开发也是一种选择。
注意:当然,开发你的应用或V-Play的游戏意味着你的应用将在任何尺寸和分辨率的设备上工作。我们已经找到了一个可以简化这个问题的方法,让你可以专注于你的应用或游戏的更重要的方面。你可以看看我们的文档来找出V-Play应用和游戏是如何在任何屏幕大小和分辨率的设备上无缝工作的。
其他硬件差异
虽然大多数应用程序操作没有遇到硬件限制,但它仍然是你开发之前需要考虑的东西。
再次,iOS开发意味着你只需要考虑几个不同的硬件配置。苹果用高质量的硬件装备所有的设备,他们的产品可以以外设的广泛范围获得称赞。
Android设备有更大范围的能力。你可以为即使是最热心的苹果粉都嫉妒的规格的设备开发Android应用程序。另一方面,有很多低预算的Android设备在运行应用程序或游戏时需要大量的处理能力。
思考Android和iOS设备之间的差异时需要考虑以下因素:
- 电池寿命
- 相机质量
- 内存
- 连通性选项
如果你的潜在的应用或游戏将取决于这些因素之一,以功能为目的,那么你最好确保你开发的平台有你所需要的硬件。
2. 市场
在iOS和Android开发之间做选择时,你也为应用程序选择了一个市场。你甚至可以在开始思考这个问题之前,就需要知道你要使用什么样的盈利模式。
盈利模式
你可以用很多不同的方式从你的应用或游戏赚钱。下面是一些最常见的盈利模式。
- 高级应用程序或游戏:这些应用程序在用户可以下载它们之前收取一次性费用赚钱。这些应用和游戏通常都是去广告的,并提供其他免费的应用程序和游戏不提供的功能。
- 应用内广告:有很多不同的广告类型,如视频广告或横幅。为了最大化收益、参与度和留存率,你需要测试你放置广告的位置。这个模式对于收到定期访问和长期使用会话的应用程序非常适用。
- 免费玩或免费增值的应用程序和游戏:这种盈利模式通常取决于应用程序内购买和广告的混合。如果你可以在应用内提供高级功能以提高用户体验和应用功能,这会很不错。
- 订阅模式:用户依据提供的服务每月或每年支付费用。当你为用户提供定期的媒体内容时可以经常使用这个模式。
- 应用内购买:从你的应用程序出售物理产品,即一个在线商店。
你选择的盈利模式将取决于你的目标用户和应用程序或游戏的功能。一旦你决定使用什么模式,你就可以看到它在不同的市场是如何工作的。
注意:V-Play提供一系列支持应用程序或游戏内货币化的插件。只需几行代码,你就可以利用简单的插件集成到应用程序内购买和应用程序或游戏的应用内广告。更多细节关于如何尝试V-Play插件和如何快速整合这些功能,可以看看这篇文章!
市场的差异
尽管Google Play和App Store都提供相同的产品:移动应用和游戏,但拿下载和收入进行比较时,他们还是有很大的不同。
例如在2015年,很多主要的在线新闻网站报道,App Store比Google Play的收入多75%。相反,Play Store的下载量比App Store多2倍。
由于一些原因,这些数字不准确的。App Annie,公司报告这些数据,没有在中国的Android下载数据。Android在中国历史上已经是占主导地位的平台,所以以上统计缺少大量的下载数据。
除此之外,App Annie不跟踪在App Store的苹果应用接收的下载数量。前100名的应用程序有6个是由苹果在App Store创建,这也必须加以考虑。
虽然并不像报道的差异那么大,但它仍然存在,并且在选择一个平台来开发之前就需要考虑。
如果你在开发一个高级应用程序,应用程序商店就必须成为你的目标市场。iOS用户已经知道在应用程序下载之前更容易支付,这似乎并没有改变。
如果你需要一个庞大的用户群以通过广告促进创收,那么Android是你最好的选择。Android用户更有可能下载你的免费应用程序或游戏,因为他们习惯于下载更高容量的应用和游戏来找到他们正在寻找的东西。
3. 用户体验
Android和iOS应用程序提供不同的用户体验。其影响的主要因素是在两个平台不同的UI设计。苹果和谷歌都提供独特的UI设计指南。这些指南根据你所使用的平台给你的应用或游戏一个不同的外观和感觉。
视觉差异
Android和iOS应用程序对用户有不同的视觉影响。iOS应用程序创建一个时尚的设计,让你意识到你正在使用一个移动应用程序。另一方面,Android应用程序有一个更真实的设计。这是谷歌的Material Design的结果,旨在创建纸上观看的效果。谷歌的UI元素有边缘、接缝和阴影来帮助你实现这个真实的外观。
你的选择将取决于你的应用的视觉风格有多么重要以及你喜欢的风格。如果视觉风格对你的应用成功是至关重要的,那么在开发之前它会意识到可用的风格。
导航
你会注意到Android和iOS应用程序的第一个区别是应用程序的基本布局。Android应用程序包含一个抽屉系统,而iOS应用程序使用一个标签栏,进入应用程序的顶级页面。
对两个平台的用户来说,一段时间后导航就成为了第二天性,不管他们使用什么样的应用程序。如果导航是你的应用的一个重要特性,那么你需要确保你的应用程序的外观在两个平台上都尽可能的本地化。
利用V-Play, 你可以使用一个单一组件和源代码在iOS和Android应用程序上实现本地导航。导航组件为跨平台开发人员大大减少了开发时间,并给用户提供他们使用的本地导航。
物理按键
按钮是体现Android和iOS应用程序不同的一大方面。Android设备以在每个设备上真正的后退按钮为特色,而iOS设备没有。你将不得不考虑如何在应用程序或游戏中实现导航。通常克服缺乏后退按钮的方法是包括在顶部导航栏的回字形或通过正确的滑动允许返回导航。
字体、图标、对话框、本地UI控件,以及更多
除了这些主要的考虑因素,你还需要注意,这两个平台的UI组件几乎是完全独一无二的。你会注意到字体、图标、对话框,甚至滑块和开关控制的不同。
一个简单的方法来克服不得不选择平台就是用V-Play创建应用程序或游戏。V-Play有一个独特的平台仿真工具,可以让你看到你的应用在两个平台上(以及多个分辨率)是什么样子。这意味着你将能够判断要开发的两个平台的用户体验。
4. 开发时间
开发时间是在开始开发之前的一个重要考虑因素。花更多的时间在你的应用程序或游戏上也意味着使用更多的资源和等待更长的时间才能获得你投资的回报。
一般来说,Android开发花费的时间超过iOS开发。增加安卓开发所用时间的一个主要问题是测试。一旦你编写了iOS应用程序并部署到你的测试设备上,你就可以找到bug。在安卓开发过程中,你需要在更大范围的设备和不同的功能上测试你的应用程序。一旦你找到并修复了一个问题,你就必须在设备的这个范围内再次开始测试。
有一个比本地开发更快的选择。跨平台工具本质上允许你在同一时间开发两个应用程序。所以即使你针对一个特定的平台开发,你的应用程序也很有可能适用于第二个平台。
5. 编程语言
iOS开发
为了开发iOS应用程序,你需要运行Xcode IDE。Xcode只能在OS X上启用,所以你需要Mac或MacBook来开始。一旦你开始Xcode,你就可以使用Swift——苹果最新的编程语言来编写你的应用程序代码。或者你可以使用另一种语言来编写应用程序代码,如Objective C或将其与C++结合。
Android开发
大多数的Android应用程序都是用Java编程语言编写的。你可以下载Android Studio使用Java开始为应用程序编码。你也可以选择下载Android NDK,用C和C++编写你的应用程序。
跨平台的方法
V-Play拥有跨平台的方法来进行应用程序开发,并且使用QML和JavaScript来创建应用程序。QML的优点是,它比传统编程语言需要更少的代码。例如,它比C++的代码少10倍。
QML是一种秘方,V-Play在最新的跨平台research2guidance基准测试报告中被选为最易学的跨平台工具。它很容易学习,因为它是一个使用流行的JavaScript语言和面向对象的设计的基于组件的语言。这意味着你只需几行易于理解的代码就可以在你的应用程序和游戏中轻松地合并按钮、应用抽屉和状态栏。
最后的赢家是…
这完全取决于你。当然,跨平台方法完全可以消除做决定的需要。
本文翻译自:iOS vs Android Development: 5 Things You Need to Know
PS: 关于移动开发,这些产品你可以关注>>
点击查看完整内容:https://www.evget.com/article/2016/9/20/24942.html来源:oschina
链接:https://my.oschina.net/u/2897162/blog/750285