April 9, 2010

As an iPhone developer, I’m glad Apple banned cross-compiling

Thumbs up, babies

The new iPhone SDK terms ban the use of cross-compilers to target the iPhone environment. A fair number of people are angry at this move, because they believe that Apple is restricting the freedom that software developers have had to develop on multiple platforms.

As an iPhone developer though, this move is incredibly helpful towards me. From a business point of view, it mostly has advantages to me. Let me explain:

  • It took me two months to properly learn Objective C and become familiar with the environment. Any competition coming into the market has to go through this process, and so I’ve got a good headstart in this field
  • If a new popular cross-platform framework suddenly arrived, I would have to go back and relearn it. This would slow me down and bring me back to the level as when I started. For example, let’s say the Flash cross-compiler would become very popular. I know NOTHING about flash. I don’t even know how the IDE looks like. This move would suddenly thrust me behind all the people who have been working for years in flash, and they would be much faster than I could do things in Objective C. Trying to learn flash would take time, and I would be at a disadvantage for a while
  • If cross-compilers become popular, the number of apps will increase drastically. This has obvious disadvantages to me, as there is then more competition
  • Having spent the time to learn Objective C, even if my app store business fails, I have a new concrete programming skill that I can go get a job with. There are not so many Objective C developers, and my value has increased by knowing this language. If a cross-compiler were available, the return on the investment I made in learning this language would be much lower, as companies would just hire the more versatile C# developers using mono-touch instead of the rarer Objective C developers

For Apple, they are following the Microsoft Mantra: focus on the developers. Developers are lethargic – they are not springing about learning new languages. They like using the same language for most things – and once they know Objective C, they will tend to use Objective C to develop new products. Which means working on Apple platforms. Which means more money for Apple.

Follow me twitter, I could be helpful to you