iPhone Development Alternatives: Code Without Objective-C

38 Comments

Apple (s aapl) has gone to great lengths to allow anybody who wants to, the ability to develop and sell their very own app. I appreciate this but I’ve never programmed in Objective-C before and I’m not sure if I want to learn. So I started looking around for alternative ways to create an iPhone app. I had already created web apps using iWebKit so the idea of using HTML and JavaScript is very appealing.

I know, you’re saying “Why not just learn Objective-C? You’re so lazy.” I wanted to test the waters first before I spent a lot of time learning a new programming language. I’m sure there are many other options out there but these are the ones I have looked at.

PhoneGap

PhoneGap is a free open source development tool that allows you to build apps using JavaScript. There is support for iPhone, Android & Blackberry environments. This was the first tool I learned about and it really intrigued me. PhoneGap is designed for someone with HTML and JavaScript knowledge. It will provide a bridge into the iPhone development world.

The first thing you do in install PhoneGap’s library installer and template into Xcode. Now you can choose to create a “PhoneGap-based Application.” This will give you a starting point and it will create all the files that are needed to begin. The idea is that you can build your app like a website. You use HTML and JavaScript as you would if you were creating a web app. There are some native features you can use such as Accelerometer & GPS. It still may be a little tough since the documentation is a little sparse. It’s still young though and they are heading in the right direction.

RhoMobile

RhoMobile is similar to PhoneGap but much more polished. Commercial apps require a licensing fee and that’s why you get so much more. RhoMobile also has support for all current mobile OS’s, synchronized data plans, Ruby support and a web-based development service called RhoHub.

It’s a very nice package and definitely a step up from PhoneGap. They also use special HTML tags to access native features like GPS, contacts, camera, maps and push. Visual style is also very important and that’s why they integrated styling based off of iUI to keep everything feeling native.

The RhoHub editor looks very nice and their sync features are also inviting. The problem I have is the price. I’m already going to be $99 down just to become a developer and I don’t want to risk more money while I’m testing the waters. RhoMobile charges $500 per app and if you use their RhoSync server it starts at $5,000 for 100 users.

I love what they’re doing but I don’t want to commit that much yet. They understand this and even talk about it on their FAQ page.

“Some of our best customers have graduated from a simpler framework.”

Someday I may try them out but not this early in the game.

Titanium

Titanium is similar to RhoMobile, but it’s free. It makes money by offering professional plans that give you premium support, beta access and more in-depth analytics data. I don’t need those features yet so the free version works perfect for me.

The big push with Titanium is keeping things native. It uses JavaScript to talk to the iPhone OS and complete tasks using native elements whenever possible. This allows you to create an app that looks and feels like a truly native app.

Titanium is a developer application in itself so you don’t have to work in Xcode. Everything is run off of JavaScript and HTML files that you can edit in your editor of choice. It’s just like creating a website except for the special JavaScript calls that it has developed.

It is actually easier to use the native elements it provides than to try to create the iPhone look using HTML. It has a great example app called Kitchen Sink which shows you everything that can be done. If you like what you see, find the source file and see how their developers did it. I like learning this way and it allowed me to advance and get comfortable pretty quickly.

A lot of other steps have to be taken on the Apple Dev Center site to allow you to test apps on your devices and submit them to the store such as provisioning & distribution profiles. Once you take care of all your profile downloads and testing, Titanium can create a zip file that’s ready to be uploaded to Apple. I was very impressed by how easy this was. I used Titanium to test my apps in the iPhone simulator, on my iPhone and then created the file that was ready to submit.

Conclusion

To get into iPhone developing, I was willing to spend the $99 Apple wanted, but that was it. Until I could make that money back, I wasn’t interested in paying for anything else. Now that I see the backend and have actually made some money, the idea of paying for development is more appealing.

If you are ready to take the plunge, I would look at Titanium. You’ll get the native elements without having to learn Objective-C. If you have a some money to spend, and perhaps a more complicated app, RhoMobile may be the answer. If you have a lot of money to spend then why not hire a developer who could bang it out for you in a week? It all depends on what you want to get out of the experience.

Now that I have done a few apps using Titanium, I am interested in learning and using Apple’s SDK tools. I hope I can find the time and the willpower to learn a new programming language. It would be the logical final step in my iPhone journey. I started by making web apps and to finish by making native apps just makes sense. If you have a good idea for an app then go for it, the most you’ll be out is $99 and some time.

38 Comments

Firefly

I cannot reply to the third-tiered comment above. I have a PC that can run OS X perfectly. There is an AMD processor in it. AMD only makes cheaper x86 processors. Same architecture.

John

I don’t have time to waste trying to make an OS work on unsupported platforms. You never know when you will run into problems and you will be left high and dry. If you are doing it as a hobby it is entirely a different matter.

I do not know why people are just focused on just the iPhone. Having used both Android and IPhone and developed applications for both, my personal opinion is that Google and then others will catch up with iPhone. So if you are a small company or individual developer and want to write an app in a fragmented mobile world you need to look at a framework like rhomobile, titanium, etc.

Firefly

It would not be right if Google profited more off the iPhone than Apple.

StockportJambo

“Apple has gone to great lengths to allow anybody who wants to, the ability to develop and sell their very own app.”

Except, that’s absolute rubbish. Should be re-written as:

“Apple has gone to great lengths to allow anybody who CAN AFFORD TO, the ability to develop and sell their very own app.”

Where is the Windows/Linux SDK for iPhone/iPad? Can it even be worked around?

Apple go to great lengths to PREVENT those who want to from developing and selling their very own app.

Firefly

You are not yelling into the clouds. Happiness has nothing to do with money. Despite the sentiment, I can still develop iPhone and iPad apps with nothing more than my PC. You only have to pay Apple if you want to go on their app store. Contrary to popular belief, developed programs still work just fine without Apple’s approval. As with any great new thing, the bandwagon is big and everyone’s jumping on it. Apple, in my sight, has only removed apps that are causing problems. If you look at something like the fact that they are banning iPhone screen protectors and cases that offer them, this is clearly a move for the consumer. But one the consumer ironically doesn’t like.

luis

Thanks for the info, I need something that works in the windows platform and everything I’ve seen so far only works on the MAC platform. Apple is soooooo CLOSE MINDED…

Firefly

Close minded? A mac costs zero dollars. You can install the Mac OS on any computer. OSx86. I am by far the most open minded person I know by the way…

StockportJambo

A Mac costs $1000+. And you can’t install MacOS on anything other than an Intel system (using AMD here).

chano

What does anyone know of RunRev’s dev tools on pre=launch offer now?

Ashley Grayson

You didn’t say what programming languages you already know, but to be more than a pidgin programmer, fumbling around concepts without fully grasping them, learning C is a great foundation. Objective-C is simply an object layer built on top of C. If you can grasp the syntax:
[object message] you are on your way. I’m a big believer in high level programming tools, but all these “avoid programming” tools and frameworks do is obscure the real concepts. I appreciate your efforts to find these tools, many of which are new to me, and each may be the most effective way to do something, but real understanding comes from understanding the underlying rules of the system. I’d suggest anyone serious about iPhone development first get comfortable with the nature of C, then the Model View Controller design pattern that forms the basis of all iPhone/iPad architecture, and finally the way the Cocoa Touch libraries enable applications via Xcode and IB. Then, if one or more of these non-programmer environments looks more effective, use it.

Dan Shaurette

I know this may be a stupid question, but are there any iPhone development options for building apps without having a Mac? All of the above, I believe, are Mac-only options. Are there any options that might run under Linux? Even if it is Objective-C, could they build native apps?

I do not own a Mac but would love to make apps, but am currently limited to webapps targeted to Safari.

Thanks!

MySchizoBuddy

nup. you must have a mac. Buy the cheapest mac mini. if you are planning on making money from the iphone/ipad then do some investments.

Tom

“Apple has gone to great lengths to allow anybody who wants to, the ability to develop and sell their very own app.” Um, excuse me. When is only releasing the SDK on computers you control, accounting for about 5.33% of the market share (http://marketshare.hitslink.com/operating-system-market-share.aspx?qprid=8) going to great lenghts? As you can see OTHER people are working around Apple to go to great lengths to allow this, but Apple is not.

I suggest anyone who is interested in iPhone (or iPad) development review EFF’s overview of the Developer Program License Agreement.
http://www.eff.org/deeplinks/2010/03/iphone-developer-program-license-agreement-all

Chris Mankowski

MonoTouch is fantastic! WCF support, SQL and is based on the lightweight Silverlight runtime. Even though it’s based on Silverlight doesn’t mean WPF was ported iPhone.

Jake

You forgot the most interesting one: monotouch – C# for the iphone.

Talbott Crowell

Novell Monotouch looks like a great platform. Expensive, but for project teams with C# programmers, it makes a ton of sense to use something familiar. Probably a ton cheeper than having a half dozen full time devs learn Objective C.

Miffy

Not so bad alternatives, as those truly offer a completely new dev experience than Objective-C which allows more developers to make apps by their traditional web dev skills. Not bad for iPhone at all.

Henk Duivendrecht

Are all the above examples based on HTML+Javascript? Does that mean you’re limited to building “mini websites” instead of real applications?

Firefly

There is some confusion here. The only way to learn is to learn. I learned Objective-C. It is only non-critical extensions to C. If you know C++ or Java, or anything about programming, you know Objective-C. You could write in C and it would compile as Objective-C. The add-ons are language design choices and really make sense if you look into it (syntactically and theoretically). People want choices, but I think the infinite choices are starting to become the problem.

James

Objective C is not very different from javascript, since it sounds you know javascript, it is more accurate to say you didn’t want to learn the iPhone API or native builds.

Adam Blum

The hosted service for Rhodes development is RhoHub (http://rhohub.com). Use of the hosted service is not required. There are thousands of developers using Rhodes on RhoHub. Some of the better apps we know of include Wikipedia, TrackR (mobile PivotalTracker), MyHumana, BMC Remedy Self Service (see the case study on our site).

john

i think it’s interesting that you want to dive into the SDK. i was searching for a silver bullet tool to bypass objective-c and couldn’t find one, so i went right into the SDK without getting side-tracked.

the interesting thing is, once you get into the SDK, you can fine code libraries that really help extend your apps.

NickMMI

I have used PhoneGap on a couple of projects (e.g see snowNews on the App Store – http://thesnowsite.com/snownews/ and mobiQuiz – http://mobiquiz.eu). It is pretty solid and has done a good job. Very easy to use. Just drop your html/css/javascript material, which you have written using Dashcode (the often forgotten Apple developer environment for writing web apps, dashboard widgets and websites) into the www folder, follow the instructions on setting up Xcode, and compile. The Apps are also accepted by Apple. A great way to create ‘feed-based’ (rss, json) Apps.

Ruud

Show me a real application build with any of these tools and I believe it’s a viable alternative

James

Don’t forget QuickConnect iPhone from sourceforge.net

if you know HTML CSS Javascrpt this framework makes iPhone apps easier to develop without any objective c knowledge

Adam Blum

Thanks for the nice writeup. As clarification Rhodes:
– is the only Model View Controller (MVC) framework for smartphones
– the only Object Relational Manager (ORM) for smartphones
– the only app generator among frameworks (describe your objects and their attributes and we create a fully functional app for you)
– the only framework with sync
– the only hosted development service

Thank you for quoting the FAQ about graduating from simpler frameworks that provide none of these major features. See http://rhomobile.com/blog for more detail on them.

Tauqeer Ahmed

Well definitely iPhone development is a great thing if we have a great idea.but i think that why should I bother to learn something like these if I can make apps for windows phone 7.

MySchizoBuddy

Market
The iphone and ipad market is lot bigger than windows mobile 7. The app store is a more lucrative market to be in.

Comments are closed.