Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

blizeH

macrumors 6502
Original poster
Sep 3, 2009
277
1
Hi,

I've been asked if I'd help develop an iPad app for internal use here, I do have programming experience but I have never done any work with iOS apps before, and I noticed there are many tools out there which aim to help out with the process:

http://www.appcelerator.com/
http://phonegap.com/
http://www.widgetbox.com/
http://www.anscamobile.com/corona/apps/
http://sencha.com/

There's so much choice it's hard to know where to start - I've no doubt missed many pieces of software off that list too!

Ideally we'd just like to create a great product. Something that's reliable, robust, has a great UI and interfaces nicely with the systems we have. Does anyone have any experience of using the above, or has been in a similar position and could impart any guidance or info please? :)

Thank you
 
What is your development background?

If the app will only be on the iPad (and not Android) then XCode is your best choice. Do it in objective-c and you get to take advantage of all the great libraries available.

If you do need to support another OS you should consider Sencha. I have seen it in use and it is pretty good. Not perfect but good enough for most things.
 
Many thanks johnny, I'm pretty sure it'd be used exclusively on iPad so XCode could be the best bet then. Just looking it up now (can't download it since I'm not on a Mac) and it does look good, a nice interface with a somewhat familiar programming language, but I do wonder if Sencha would interface better with the systems they want it to interface with, hmm! Thank you
 
...but I do wonder if Sencha would interface better with the systems they want it to interface with, hmm! Thank you

What systems are those? How are you expecting to have to interface with them?

Perhaps you might consider a web-app, if your developer already has experience with HTML, JavaScript, AJAX, etc.
 
In my experience, Phonegap is rotten. Since the entire UI is HTML and JS, you lose the responsiveness that you get from the native UI. Lists don't scroll as smoothly, button presses are laggy, stuff in general doesn't feel right. You don't want to be like Safari Books Online and be forced to rewrite your app from scratch.

Appcelerator uses native widgets and bridges the code into javascript, so it does perform better in the UI. I haven't had a lot of experience with it.

I have had no experience with the other tools.

One that you didn't mention is Adobe Flex. Politifact is written in it, so you can certainly have a popular 3rd-party app written in it. It does explain why the app seems laggy and doesn't always respond to my touches.
 
It really depends on what language you're familiar with. I started iOS/Android development a year or so ago with Appcelerator. That choice was made for me by the previous developer of our application. Since I'm cross-platform I think Appcelerator was a good choice. If done correctly, you can develop for one platform (i.e. iOS) and adapt to Android. By adapt I mean make adjustments to the code so it look like a native Android app.

Are you familiar with Javascript? Go with Appcelerator. If you're familiar with C#/Java/C++ and don't need Android then a native Objective-C app may be the best choice. I have an extensive C/C# background and I found Objective-C a bit strange. It's definitely a language that takes getting used to (and having lots of screen real estate for the long object names!).

Good Luck!

Rob
 
With what programming languages are you most or very familiar? That's a key question.

Developing a great product while at the same time learning a completely new programing language is quite difficult.

If you know C and some OOP, then Xcode and Objective C may be the best solution for a high quality supportable app. This may also be the best bet if you are going to hire a development consultant.

If you know only HTML and JavaScript, then you might find PhoneGap a far easier development path. There are also solutions targeting developers comfortable with only C#, Basic or Lua. If you have studied the theory functional programming and are willing to teeth on new tools, then Xcode and Swift is the newest offering.
 
You should start with a deep look at what the app will be expected to do. What will you do if the app needs to do something that the platform doesn't support?
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.