Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How hard is developing for iPhone? [closed]

Tags:

I want to know how difficult is to develop on iPhone plataform. By difficult I want to mean:

  1. Effort in terms of programmer versus software complexity. To be clear: how many programmers are needed to develop a medium sized app on iPhone?
  2. SDK learning curve.
  3. Hardware and other non-programming related stuff affecting the development
  4. How easy is to sell iPhone software. To be specific: is easy to sell an app on itunes? does it cost something? I'm confused about how to sell that apps on iTunes store...
  5. any one has experience on advertisement supported apps? please tell me... how has been that?

thanks

like image 227
JPCF Avatar asked Oct 30 '09 06:10

JPCF


People also ask

Is it difficult to become iOS developer?

And while the technical skills it takes to become an iOS Developer can be relatively straightforward to acquire, there's a steep learning curve even for people with some background in web development or computer science. Many people struggle to learn how to comfortably use Swift to develop iOS apps.

Should I learn iOS development 2022?

So, should you become an iOS developer? If you want to be able to create your own applications and enjoy high demand and good salaries in the industry, then learning how to code and focusing specifically on iOS development is a good choice.

Why you shouldn't close your iPhone apps?

Re-launching Apps Hurts Performance and Battery In fact, when you force an app to close on your iPhone, it will not only slow down your app experience but will also use up more battery life.

Is it hard to make an app for iPhone?

You're in luck – developing an iOS app is not hard. In fact, there are numerous tools that make developing your own iOS app easy and fun. Armed with a little knowledge and these tools, you too can learn to code iOS apps! This tutorial series will teach you how to make an iOS app from scratch.


2 Answers

  1. One programmer (a good all-rounder) can easily do it. Once you have done your first app you will be surprised to see what sells and how little actual programming there is in some apps. The reason you have to be a good all-rounder is that the apps that succeed have it all - design, inspiration, execution. Consider involving a designer if your taste doesn't match what seems to be popular. Don't expect to ship anything with standard UIButtons, on the store it stands out like the proverbials. Normal practices are essential, e.g. revision control, issue tracking and all that good stuff. It seems to matter more the higher level an API you work to.

  2. SDK learning curve - not so bad. Initially you struggle with why a NSArray can't take another value, but inside 1-2 months you'll be subclassing things all over the place. However read below, don't try to do too much custom stuff...

  3. You need an Intel mac, you need at minimum an iPod touch to submit an app - try to submit without testing on actual hardware and you will miss something, and it will be rejected. You don't have to have the latest Mac OS or Xcode to get started but you probably do for store submission. If configuring choose more RAM over more processor speed. An SSD is essential. BIG (or multiple) screens are, as with any coding task, a big advantage. The new 27" iMac would be a great development machine. It's hard to go wrong with current Macs, I have had good experiences with an 11" Air and a mini, they're not that much different from a Mac Pro as far as development goes once you have a big monitor plugged in.

  4. Selling is not so hard. Provided your app isn't complete rubbish and doesn't get 10 1-star reviews right away sheer numbers will get you some sales. To make it big is hard, and you will need to investigate marketing, review sites, twitter, youtube, in fact to your all-rounder programmer skills you can add marketing director. The noise on the store (sheer number of applications) means only a truly stellar application (i.e. featured by Apple) will stand out in the absence of any other effort. There are probably plenty of apps on the store than in 2008 would have made their developers rich, these days they are lucky to sell 1000. The cost is $99 to join and after that you get 70% of sales revenue while Apple keeps 30%.

Additionally... With the context that I am a C/C++ programmer who has spent most time programming embedded devices and handsets, with almost no C#/STL/Java...

Here's what I found easy/good:

  • Xcode (although I admit getting started was jarring coming from Visual Studio)

  • brevity - what you can do in just a few lines of code is amazing

  • Stanford CS193P iPhone programming class on iTunes University - great intro, free!

  • WWDC video sessions. Not cheap but probably worth more than what you pay in terms of in-depth knowledge. I've been to similar developer conferences that were more of an excuse to stay in a nice hotel and do some duty-free shopping but if I'm not at WWDCI will feel like I'm at a severe disadvantage. The big benefit of getting to WWDC is the people you meet, this and lab sessions are what you win if you get lucky in the ticket lottery. All the technical presentations you get for free on video these days.

Here's what I found hard:

  • knowing just what storage classes to use in a certain situation. My first huge performance problem came from using indexForObject on NSArray with hundreds of thousands of objects. Obvious now but who knows this the first time it happens to them?

  • "letting go" of preconceived ideas about what a UI should do. Don't go laying out a .xib until you have used at least 20 iPhone applications and have some idea of how things are usually done. Doing things otherwise is not only likely to be harder, if your idea is too far against Human Interface Guidelines chances are it will never be accepted to the store anyway.

  • Xcode debugging messages - do google these because they are cryptic at first but when you find other people explaining them they start to make sense after a while

Here's what I found completely perplexing and got working through trial and effort:

  • Apple's on-device provisioning process
  • actual submission to the App Store

So far I have one small game on the store. It's not a particularly good game unless you really like that kind of thing, and only scrabble nerds do, but it still has 10 sales after 1 week and that's with no publicity at all. I did it to get experience with how the store works and by that measure it was a success. In learning curve terms it took me probably six, seven weeks full time from opening the first Apple doc to submitting the game, but today I could do it in about two days.

edit: Incredible to think that this answer is now more than two years old and that people still vote on it. Well I didn't become an app store millionaire but many people have and it can still happen even though we now see some big companies producing very polished apps with large budgets. What's the secret ingredient? Passion, which brings attention to detail. If you love your app there's a good chance users will also. I didn't get to WWDC 2010 but I did get to 2011, 2012 and 2013. Keep at it, independent developers - you will almost certainly not do well enough on your first app to retire, but you will be working on an awesome platform, growing fast, with an incredible community behind it. You can make a good living by yourself. And if you do give up your independence the job market is very, very good.

more edit: Did I mention CocoaHeads? Find your local iOS programmers and find out about CocoaHeads. If there isn't one consider starting one. Either you will discover opportunities (i.e. projects, or even employment) or you will discover people to hire when you have succeeded and can't be a 1-person shop any more. Not to mention the useful free education speakers at these groups represent.

Swift is now perhaps less weird than Objective C seems to a programmer coming from some other language. I do think it's the right choice if you're beginning, Apple are clearly pushing it as the future and it has gotten much better since introduction in 2014. You may find learning Swift is an advantage, if you have that option - many developers are stuck supporting existing projects in Objective C.

iOS continues to grow and be an interesting and fun platform and I don't think it's slowing down. OS X is keeping pace. I'm still very happy I made the choice to do this back in 2009. Come on in, the market's fine.

like image 185
Adam Eberbach Avatar answered Oct 24 '22 12:10

Adam Eberbach


We have started developing about a year ago and currently have two OpenGL 2D games on the market. My experience so far:

  1. Simple application can easily be a one-man show. For a medium-sized application you are likely to manage with just one good programmer, but usually there are other people needed, such as a graphics designer. This highly depends on the nature of your application.
  2. A bit steep if you have no experience with Objective-C and Cocoa. C knowledge helps, as does knowledge of some OO and computer language concepts. Even then you’ll spend some time getting used to their way of doing things. (Which is usually well-thought, but often different from what other people/languages/stacks do.)
  3. The biggest non-programming issue is the crazy provisioning and review stuff. It takes a while to get used to all the profiles and certificates and signing voodoo. You are going to hate it, but will get used to it.
  4. Selling the app is hard. You either have to be one of the lucky ones to make it into the featured apps on the device or you have to be some big title or your application has to be something with a clear audience (like Geocaching) or you will have trouble getting a decent coffee for what you earn. (I am over-simplifying here, but it’s mostly true.) The selling process itself is pretty much painless – $99/year and Apple gets a third of what you earn.
like image 27
zoul Avatar answered Oct 24 '22 12:10

zoul