<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/">
	<channel>
		<title>Android Development Is More Expensive Than iOS - Proven! | Infinum</title>
		<atom:link href="https://infinum.com/blog/android-development-is-30-percent-more-expensive-than-ios/feed/" rel="self" type="application/rss+xml" />
		<link>https://infinum.com/blog/android-development-is-30-percent-more-expensive-than-ios/</link>
		<description>Building digital products</description>
		<lastBuildDate>Tue, 28 Apr 2026 14:41:35 +0000</lastBuildDate>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>

					<item>
				<image>
					<url>8099https://infinum.com/uploads/2017/02/android-development-is-30-percent-more-expensive-than-ios-0.webp</url>
				</image>
				<title>Android Development Is 30% More Expensive Than iOS. And We Have the Numbers to Prove It!</title>
				<link>https://infinum.com/blog/android-development-is-30-percent-more-expensive-than-ios/</link>
				<pubDate>Tue, 27 Oct 2015 07:58:00 +0000</pubDate>
				<dc:creator>Tomislav Car</dc:creator>
				<guid isPermaLink="false">https://infinum.com/the-capsized-eight/android-development-is-30-percent-more-expensive-than-ios/</guid>
				<description>
					<![CDATA[<p>For a while now, we&#8217;ve been aware that Android development takes longer than iOS. We have the metrics to prove it, and it&#8217;s about time we show them.</p>
<p>The post <a href="https://infinum.com/blog/android-development-is-30-percent-more-expensive-than-ios/">Android Development Is 30% More Expensive Than iOS. And We Have the Numbers to Prove It!</a> appeared first on <a href="https://infinum.com">Infinum</a>.</p>
]]>
				</description>
				<content:encoded>
					<![CDATA[<div
	class="wrapper"
	data-id="es-187"
	 data-animation-target='inner-items'>
		
			<div class="wrapper__inner">
			<div class="block-blog-content js-block-blog-content">
	
<div class="block-blog-content-sidebar" data-id="es-92">
	</div>

<div class="block-blog-content-main">
	
<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-95"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-93">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-94'
	>
	For a while now, we’ve been aware that Android development takes longer than iOS. We have the metrics to prove it, and it’s about time we show them.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-98"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-96">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-97'
	>
	If you’re developing a mobile app on both iOS and Android, you’re bound to notice at one point that Android development simply takes longer. We’ve also noticed that, but instead of solely trusting our gut feeling, we’ve decided to pull out some <strong>real stats</strong> to prove it.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-101"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-media">
	<div	class="media block-media__media media__border--none media__align--center-center"
	data-id="es-99"
	 data-media-type='image'>

	<figure class="image block-media__image-figure image--size-stretch" data-id="es-100">
	<picture class="image__picture block-media__image-picture">
												<img
					src="https://infinum.com/uploads/2017/02/android-development-is-30-percent-more-expensive-than-ios-1.webp"
					class="image__img block-media__image-img"
					alt=""
										height="664"
															width="1000"
										loading="lazy"
					 />
					</picture>

	</figure></div></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-104"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-102">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-103'
	>
	Methodology</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-107"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-105">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-106'
	>
	We extracted numbers for 6 projects we’ve done in the last year and a half or so. The projects were chosen according to the following conditions:</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-110"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="lists" data-id="es-108">
	<ul	class='typography typography--size-16-text-roman js-typography lists__typography'
	data-id='es-109'
	>
	<li>the project had the same app built for iOS and Android</li><li>there was no legacy codebase or <strong>technical debt</strong> in general that could skew the data significantly</li></ul></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-113"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-111">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-112'
	>
	We measured the following parameters:</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-116"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="lists" data-id="es-114">
	<ul	class='typography typography--size-16-text-roman js-typography lists__typography'
	data-id='es-115'
	>
	<li>Lines of code</li><li>Hours of work</li></ul></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-119"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-117">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-118'
	>
	Lines of code</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-122"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-120">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-121'
	>
	We pulled the information on the lines of code (excluding blank lines and comments) with <a href="https://github.com/AlDanial/cloc">cloc</a>.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-125"
	 data-animation-target='inner-items'>
		
			<div class="block-group" data-id=es-124>
	
<div
	class="wrapper"
	data-id="es-123"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="wrapper__inner">
			
<figure class="wp-block-table"><table><thead><tr><th></th><th>iOS</th><th>Android</th><th>Difference in %</th></tr></thead><tbody><tr><td>Project A</td><td>6,829</td><td>15,323</td><td>124%</td></tr><tr><td>Project B</td><td>48,671</td><td>50,756</td><td>4%</td></tr><tr><td>Project C</td><td>15,807</td><td>28,449</td><td>80%</td></tr><tr><td>Project D</td><td>5,148</td><td>14,893</td><td>189%</td></tr><tr><td>Project E</td><td>21,698</td><td>25,501</td><td>18%</td></tr><tr><td>Project F</td><td>6,956</td><td>10,347</td><td>49%</td></tr><tr><td>Total</td><td>105,109</td><td>145,269</td><td>38%</td></tr></tbody></table></figure>
		</div>
	</div>
</div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-128"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-126">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-127'
	>
	The takeaway here is – you write on average <strong>~40% more code</strong> on Android than on iOS. A lot of this code is auto-generated – but it’s still code, and it needs to be read, debugged, and maintained.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-131"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-129">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-130'
	>
	Also, the quantity of code you have in your project is bound to be a lot larger if you’re using a modern and <strong>clean architecture</strong> approach in structuring mobile apps.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-134"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-132">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-133'
	>
	By that we mean something that separates the presentation layer from the business logic, like <a href="http://antonioleiva.com/mvp-android/">MVP</a> on Android or <a href="https://www.objc.io/issues/13-architecture/viper/">VIPER</a> on iOS.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-137"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-135">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-136'
	>
	In that situation – having <strong>more lines</strong> of code is <strong>actually good</strong>.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-140"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-138">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-139'
	>
	Hours of work</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-143"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-141">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-142'
	>
	We pulled the information on the hours of work for each of these projects from <a href="https://productive.io">Productive</a>.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-146"
	 data-animation-target='inner-items'>
		
			<div class="block-group" data-id=es-145>
	
<div
	class="wrapper"
	data-id="es-144"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="wrapper__inner">
			
<figure class="wp-block-table"><table><thead><tr><th></th><th>iOS</th><th>Android</th><th>Difference in %</th></tr></thead><tbody><tr><td>Project A</td><td>241</td><td>440</td><td>83%</td></tr><tr><td>Project B</td><td>1,586</td><td>1,613</td><td>2%</td></tr><tr><td>Project C</td><td>822</td><td>1,157</td><td>41%</td></tr><tr><td>Project D</td><td>295</td><td>755</td><td>156%</td></tr><tr><td>Project E</td><td>602</td><td>647</td><td>7%</td></tr><tr><td>Project F</td><td>244</td><td>257</td><td>5%</td></tr><tr><td>Total</td><td>3,790</td><td>4,869</td><td>28%</td></tr></tbody></table></figure>
		</div>
	</div>
</div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-149"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-147">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-148'
	>
	The takeaway here is that, on average, you <strong>spend ~30% more time</strong> working on Android than on iOS projects. As you can see in our table, sometimes the difference can be much bigger and sometimes much smaller, but, from our experience, the median value is around 30%.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-152"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-150">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-151'
	>
	We’re not inclined to believe that this has anything to do with the quality of engineers on any of the platforms, as our team is equally great on both platforms, and our HR process doesn’t discriminate when hiring for either position.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-155"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-153">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-154'
	>
	So why is Android development slower?</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-158"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-156">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-157'
	>
	That’s a very good question. We’ve been speculating about this for a long time, and what we’ve managed to figure out is that it’s a combination of a couple of factors:</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-161"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="lists" data-id="es-159">
	<ul	class='typography typography--size-16-text-roman js-typography lists__typography'
	data-id='es-160'
	>
	<li><strong>Just more code</strong> – applications for Android are written in Java, which is simply a more verbose language than Objective-C or Swift. You’re bound to write more code. More often than not, having to write more code means working longer and more potential bugs.</li><li><strong>Emulators are slower</strong> – even with <a href="https://infinum.com/blog/is-your-android-emulator-just-too-slow/">GenyMotion</a>, Android emulators are just slower than iOS simulators. This is just a factor that slows down the overall development.</li><li><strong>Fragmentation</strong> – more devices to test against, more potential vendor-specific bugs (<em>”Damn, this only shows up on this random Chinese phone you can only buy in Lithuania!”</em>)</li><li><strong>XML layouting</strong> – on Android, layouts are primarily written manually in XML, so <a href="http://en.wikipedia.org/wiki/WYSIWYG">WYSIWYG</a> techniques are used less than on iOS.</li></ul></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-164"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-162">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-163'
	>
	What does this mean?</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-167"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-165">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-166'
	>
	When we started doing iOS and Android development on a <strong>work for hire</strong> basis, we based all time estimates on the assumption that iOS and Android development take the same amount of time.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-170"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-168">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-169'
	>
	We abandoned that premise about two years ago, and today we take into account <strong>20-30% more time</strong> for Android for all the estimates we do.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-173"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-171">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-172'
	>
	That means that if&nbsp;we estimate an app at <strong>500 hours</strong> to be built for iOS, we estimate it (and charge it accordingly) at <strong>around 650 hours</strong> for Android.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-176"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-174">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-175'
	>
	What’s the trend here?</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-179"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-177">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-178'
	>
	What’s good here is that the trend is changing. The tooling for Android, <a href="https://infinum.com/blog/the-past-present-and-future-of-android-development/">which we covered here</a>, is getting so much better, that in the future this <strong>Android tax</strong> will probably go down. Only metrics will tell.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-182"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-180">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-181'
	>
	Of course these metrics can’t possibly convey every possible scenario and problem you have while building software. But what we wanted to say here is that, <strong>generally</strong> speaking, <strong>Android takes longer</strong>.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-185"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-183">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-184'
	>
	Thanks to my colleague Ivan Kocijan for his help with the data preparation for this article.</p></div>	</div>
</div>
</div>		</div>
	</div><p>The post <a href="https://infinum.com/blog/android-development-is-30-percent-more-expensive-than-ios/">Android Development Is 30% More Expensive Than iOS. And We Have the Numbers to Prove It!</a> appeared first on <a href="https://infinum.com">Infinum</a>.</p>
]]>
				</content:encoded>
			</item>
		
	</channel>
</rss>