[Cialug] iPhone vs Android
Matthew Nuzum
newz at bearfruit.org
Mon Apr 13 11:33:19 CDT 2015
Swift is making things easier, but here are a couple things: (scroll to the
bottom for the bottom line summary)
Manual memory management was a requirement until relatively recently. Even
now, if you're supporting an app on older versions of iOS you must still do
it. You still need to keep an eye on it for weak references. I don't know
if there's an easy way to upgrade a legacy project to use automatic
reference counting so you may have to scrap and rewrite older code to use
memory management. There is no GC.
Objective C is not a commonly used language. It is not like C++ (and it's
offspring) at all, though both do support OOP styles of development. The
structure of the language, the way it defines functions and passes
arguments, all are very different syntactically from C and C++ (and
consequently every C based language based on those). If you want to hear
some swearing, have a Java or C# developer try to debug an Objective C app.
The homogeneity of the platform used to be good, until there were different
screen sizes to deal with. Android had to overcome this hurdle right away,
at the very beginning. Dealing with different screen sizes is far more
mature on Android. Not surprisingly, the latest Xcode almost entirely
mimics the Android tools, but the way you layout screens is different. I
think the new iOS method is probably better, but again, Android's is far
more mature.
There is a lack of competition, and therefore innovation, in the
development tools. Java does not have a standard IDE and therefore there is
a wealth of options available. Here's something simple that every
development tool I've used in years supports that Xcode doesn't: Highlight
a block of text and press tab. I'd expect the entire block to get an extra
level of indent. Instead the code is deleted and a tab is inserted instead.
Seriously.
You have to use a Mac and you have to be using OS X to develop and build
apps. Period. Hackintosh won't work reliably because of the previously
mentioned planned obsolescence. Apple forces developers to be constantly
upgrading their software, and you just can't wait 6 months for the
community to figure out how to make it all work.
*Positive notes:*
the iOS simulator is a gem. Because OS X and iOS are so simulator (Cocoa
based) an emulator isn't needed. A simulator can be used instead. The
downside is that the simulator isn't quite as close of a match to the
actual hardware as the Android emulator is, but it is fast. Yes, HAXM has
helped Android drastically, but the iOS simulator is still way smoother.
The command line build tools are very well integrated into the OS. At least
as well as GCC is integrated into a typical Linux distro. Everything just
works and you don't have to fuss with paths, variables or any magic. You
definitely don't have to mess with Java.
Swift is lowering the bar to learning iOS development. I'm learning Swift
now and it's a big step in the right direction. It's reminiscent of
Objective C, so it's easy to translate docs from one to the other. It also
has a hint of Ruby and Javascript in it too.
*Bottom line:*
The biggest problem with iOS development is that it's a different set of
tools and a different language for a different platform. It's so different
that the context switch is way bigger than, say, C# and Java, which at the
language level, look very similar. Developers will likely have to choose a
specialty for one platform and expect a big ramping up period when going
from one to the other.
On Mon, Apr 13, 2015 at 10:22 AM, Josh More <jmore at starmind.org> wrote:
> Matthew,
>
> I bow to your greater experience, though I am curious as to why a lot
> of my other friends who do appdev work say that IOS is a lot easier.
>
> Is it a language thing? I had gotten the impression that everything
> on IOS was a lot more streamlined and that testing was a lot easier on
> that platform.
>
> -Josh
>
> On Mon, Apr 13, 2015 at 10:18 AM, Matthew Nuzum <newz at bearfruit.org>
> wrote:
> > Theron, I think your point is right, but how you got there is not right.
> > iOS is, sadly, a very big moving target and I've never met a company that
> > uses planned obsolescence as brutally as Apple does.
> >
> > Josh, I also disagree with your statements: iOS is far more difficult to
> > develop for than Android, though with the very recent versions of Xcode,
> > it's getting close.
> >
> > I think the C-level execs having iDevices is more likely to blame. My
> next
> > best guess is that we have a severe shortage of Java developers around
> the
> > area, so it could simply be a problem with the cost being too high.
> >
> >
> > On Mon, Apr 13, 2015 at 9:44 AM, Theron Conrey <theron at conrey.org>
> wrote:
> >
> >> I'll call BS. Most app devs I know want to solve real problems AND make
> >> coin. Those people know that iOS is less of a moving target. It moves,
> >> just less than android. It's treated as a stable base to make larger
> >> revenue with a single build vs. android with multiple platforms. There
> are
> >> devs that just want to make coin with crap. The above also explains why
> >> they write against iOS primarily as well.
> >>
> >> -theron
> >>
> >> > On Apr 13, 2015, at 9:00 AM, Josh More <jmore at starmind.org> wrote:
> >> >
> >> > App developers come in two flavours - those that want to solve real
> >> > problems and those that use the easy tools to collect a paycheck. The
> >> > latter have been targeted by Apple with a campaign focused on
> >> > promoting graphic artists into "developers".
> >> >
> >> > So, in the former case, you have people who are highly skilled and
> >> > expensive, creating apps that don't look very good and often fail
> >> > based on the wide range of devices out there. In the latter, you get
> >> > cheap apps that look great and work reliably (usually) on a class of
> >> > device.
> >> >
> >> > At the business level, an Android solution requires investing a lot of
> >> > cash up front to pay for the good devs AND investing in a support
> >> > infrastructure since there's no way to test an app on all available
> >> > devices so you have to deal with the constant "my four year old device
> >> > won't run your app!" complaints. If you go with IOS, you pay once and
> >> > get a piece of crap that works OK on most devices and your support
> >> > staff is a single person whose job is saying "we don't support the
> >> > iPhone4, you have to upgrade".
> >> >
> >> > All told, it's a good business decision, even if we don't like it.
> >> >
> >> > -Josh
> >> >
> >> >> On Sun, Apr 12, 2015 at 2:49 PM, Todd Walton <tdwalton at gmail.com>
> >> wrote:
> >> >> It has long boggled my mind why it seems so common for some
> >> organization to
> >> >> produce a phone app for iPhone but not Android. Close to home, the
> >> biggest
> >> >> offender is the Des Moines Register. They made an app for iOS for
> >> RAGBRAI,
> >> >> but not for Android, and the same for a new "things to do in Des
> Moines"
> >> >> app. They promised an Android version Real Soon Now, but we're still
> >> >> waiting.
> >> >>
> >> >> What is so hard about making an app for Android? You'd think the
> least
> >> they
> >> >> could do is write the thing in HTML5 and show a mobile website on
> both
> >> >> platforms.
> >> >>
> >> >> Android phones clearly outnumber iPhones in the U.S. and worldwide,
> and
> >> >> it's not like Des Moines Register's audience (or the audience of any
> of
> >> the
> >> >> other apps I've seen do this) are iPhone heavy. Why would a company
> >> limit
> >> >> themselves by deliberately rolling out to a smaller audience and then
> >> >> waiting years to go to Android? (Or never going, for some of them.)
> >> >>
> >> >> I thought it might be that iPhone is where the money is. But there's
> >> info
> >> >> on that here:
> >> >>
> >> >>
> >>
> https://medium.com/its-an-app-world/march-2015-iphone-vs-android-monetization-capabilities-you-won-t-believe-who-won-7a02fde2dc2
> >> >>
> >> >> # of phones worldwide:
> >> >> iPhone: 600,000,000
> >> >> Android: 1,700,000,000
> >> >>
> >> >> Yearly Downloads:
> >> >> iPhone: 22,000,000,000
> >> >> Android: 51,000,000,000
> >> >>
> >> >> In App Purchase Revenue:
> >> >> iPhone: $10,000,000,000
> >> >> Android: $6,000,000,000
> >> >>
> >> >> In App Ad Impressions:
> >> >> iPhone: 580,000,000,000
> >> >> Android: 1,210,000,000,000
> >> >>
> >> >> Ad Revenue:
> >> >> iPhone: $3,300,000,000
> >> >> Android: $4,500,000,000
> >> >>
> >> >> That doesn't look like a clear case for iPhone being the money maker,
> >> >> especially in the case of the Register, being driven by ads.
> >> >>
> >> >> Anyone have any insight? What's so special about iPhone that so many
> >> people
> >> >> choose to distribute there, and not on Android?
> >> >>
> >> >> --
> >> >> Todd
> >> >> _______________________________________________
> >> >> Cialug mailing list
> >> >> Cialug at cialug.org
> >> >> http://cialug.org/mailman/listinfo/cialug
> >> > _______________________________________________
> >> > Cialug mailing list
> >> > Cialug at cialug.org
> >> > http://cialug.org/mailman/listinfo/cialug
> >> _______________________________________________
> >> Cialug mailing list
> >> Cialug at cialug.org
> >> http://cialug.org/mailman/listinfo/cialug
> >>
> >
> >
> >
> > --
> > Matthew Nuzum
> > newz2000 on freenode, skype, linkedin and twitter
> >
> > ♫ You're never fully dressed without a smile! ♫
> > _______________________________________________
> > Cialug mailing list
> > Cialug at cialug.org
> > http://cialug.org/mailman/listinfo/cialug
> _______________________________________________
> Cialug mailing list
> Cialug at cialug.org
> http://cialug.org/mailman/listinfo/cialug
>
--
Matthew Nuzum
newz2000 on freenode, skype, linkedin and twitter
♫ You're never fully dressed without a smile! ♫
More information about the Cialug
mailing list