38 Comments

Summary:

Apple 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.

sdk_thumb

Apple 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.

You’re subscribed! If you like, you can update your settings

  1. 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.

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

  2. 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.

    1. So Rhodes isn’t a hosted app service.

  3. 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

  4. so no roadmap for macruby for iphone development. it is objective-C underneath anyway

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

  6. 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.

  7. 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.

  8. 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).

  9. 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.

  10. 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.

Comments have been disabled for this post