views:

127

answers:

3

With the latest changes to the developer agreement by Apple, how inherant is the risk of using any kind of framework to develop Apps for devices now? Should shops risk using things like MonoTouch, Three20, Appcelerator since this change?

How are some iPhone/iPad developers here handling it?

http://www.pcworld.com/article/193916/apples_new_iphone_app_policy_unreasonable_and_unjustifiable.html

http://www.wired.com/gadgetlab/2010/04/iphone-flash-policy-steve-jobs/

http://37signals.com/svn/posts/2273-five-rational-arguments-against-apples-331-policy

A: 

Actually, it's worse than that... Apple bans modular programming. :P Strictly to the letter of the agreement, you should only develop in ObjectiveC, C or C++; anything else may be forbidden.

Will it be enforced, and how drastically? I don't even think somebody at Apple (other than Steve Jobs) can tell you for sure what will and what will not be enforced, longer-term. (but' that's just a personal opinion, of course)

Virgil
+2  A: 

Definitely, the best thing to do if you use any of these frameworks is to wait until this gets cleared up by Apple. I don't foresee that taking too long. However, there is another line of thought here, and that is why you wish to use frameworks in the first place (Now, I am not going to bash frameworks as I have used some before as well).

The way I look at it, if you are an Indie Developer and do iPhone apps as a hobby and want it to stay that way, then I can understand why you choose to stick with a framework. In that case, this was bad news for you.

However, if you are working with an apps company, or want to extend your skillset, or think iPhone/iPad dev can become more than a hobby for you later down the road, I strongly recommend you take up Objective-C.

I, myself, was using Appcelerator Titanium to develop iPhone apps in Javascript before the ToS. After it, I switched to the native tools, and it has probably only taken me a week to get used to the SDK and the syntax and style of Objective-C. If you have prior experience with MVC, you will catch on to it really quickly. The API is what takes time to learn, but I feel I am better off to get the features directly out of the horses' mouth as it were, rather than through an intermediate source.

Tilo Mitra
+2  A: 

There's a risk in using any code that you don't fully understand or have control over. My take is that:

  • MonoTouch is out, as your code is not originally written in C, C++, Objective C or JavaScript
  • Three20 is okay as it's written directly to iPhone technologies
  • Appcelerator is certainly the kind of thing that Apple are trying to discourage. Personally I wouldn't risk it, even if currently it would be allowed

Personally I am not using any of the above. I don't think I'd use third-party code in a critical part of apps. I currently use InAppSettingsKit but clearly that's not a central component.

Stephen Darlington