We help IT Professionals succeed at work.

Assist when choosing platform, technology and tools when developing for smartphones/tablets

Berhan Karagoez
Berhan Karagoez used Ask the Experts™
on
I have been looking to several platforms, tools, IDE's and methods of developing for smartphones and tablets on iOS/Android.

Some of those are:
- Appcelerator  (http://www.appcelerator.com)
- Mosync  (http://www.mosync.com)
- Unity 3D  (http://unity3d.com/unity)
- Spaceport  (http://spaceport.io)
- AppsMakerStore  (http://appsmakerstore.com)
- IBuildApp  (http://ibuildapp.com)
- App.cat  (http://app.cat)
 and so on.. What others have you used or heard about?

Could you tell me what is the most suitable tool/platform/system for making, preferably for both iOS and Android when developing:
• smaller game apps (no advanced 3D graphics)
• smaller apps/tools for small companies, using Geolocation, Accelerometer & Camera, User Defaults, SQLite, Web Services
 
What I can invest is my time (up to 6 months), hardware with windows7 and 10.8 Mountain Lion, mobile devices, tablets, several IBM xSeries 346 servers and so on.

Purchasing of needed licenses is possible, budget is there even though I have no plans on spending too much money, just reasonable sums.

Regards
Berhan K.
Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
Top Expert 2007

Commented:
We find phonegap to be a good platform if you have to port to many phones and your app can be written in Javascript.  If not, then you'll have to write your code for each phone's OS.

Author

Commented:
mrcoffee365, thanks for your comment.
I hadn't seen phonegap earlier so it was interesting to read about.

Ok so:
• PhoneGap is a HTML5 based framework, where you code in css3/html5/javascript.

What are the pros/cons of using such framework?
Is it more suitable for creating certain type of apps?
What about the licenses, release methods and time to release to customers etc..
Can you tell anything else, I am assuming you have more to share, since you wrote are using this yourself?


/BK
Top Expert 2007

Commented:
I listed the pros and cons.  Do you have programming experience with any of the native languages or Javascript?  Have you ever programmed an app for a phone?  If not, then it's more about what is possible for you to learn to implement the game you want to make.

Author

Commented:
I have programmed before not on phones though. I've tried xCode on mac 4 years ago, it was not an ideal way to go, but I am guessing progress has been made so the tools are probably better now.

My question is not really about what I can learn in 6 months but rather which of the listed (in my first post) tools/technologies are most suitable for making smaller game apps and small business apps in a short/reasonable period of time.

For example yesterday I tried IBuildApp and AppsMakerStore to make a small network (as in people network) app with few information "pages" contact info, logo and so on.
From that experience I can say iBuildApp looks interesting, and it can work for such a purpose, while AppsMakerStore is simply not good enough.

I guess I have to find out the "hard" way.
Thanks for your feedback, I am going to wait a few days more to see if I get any other feedback.

Today I'll check out PhoneGap too.

BK
Another option for mobile development is Corona http://www.anscamobile.com/corona/
Top Expert 2007

Commented:
We've only used PhoneGap and native ObjectiveC and Java.  PhoneGap is limited to what you can do with Javascript (which is fairly broad and fast these days).  Many people have written games with Javascript.  That's the real question about whether you can use a platform which runs on many phones.  If your game can be written in Javascript, then it can work on Phonegap.  If you need to write it in a more powerful language, then it has to be in the native languages.  There are some speed issues with Javascript vs the native languages -- it doesn't sound as if you're in that class of game, but that's another reason.  The investment of writing each of the native languages is high, so you have to be sure you need/want to do that.

Author

Commented:
mrcoffee365, good thoughts of course, but what happens when you use languages other than native languages and then Apple decides to change something so the app breaks, do you have to rebuild or resubmit things?

Also using PhoneGap, how is the support for the other devices, I mean do you have to write specific code for certain devices/sizes something like:

if my device is iPhone3 then do this
else if my phone is Android 3.x.x then do this...

Regards
Berhan
Whether you use the native language or not has no effect on breaking changes to the OS.  The difference is using native language you fix the problem, using a third party system they solve the problem.  The downside is that you have to wait for the third party.
Top Expert 2007

Commented:
In Phonegap's case, they don't really solve problems -- you as the developer write the code.  They provide a mechanism for packaging your code into apps on the different phones.  The apps are written in Javascript by you.

And of course, as with all software development, there's an issue with maintaining your code as there are changes in the underlying platform.  That's not different with phone apps.  Maybe you're used to Web sites?  Phone apps are real software, delivered to the user, so it's good to think about software development as you create them rather than simple Web pages which can be fixed immediately.

Author

Commented:
satsumo, Corona looks interesting yes, I think though it has one small disadvantage, you need to keep track of all 3rd party tools and getting licenses for them makes the whole thing work together sounds too much management, I could be wrong of course.

mrcoffee, I am not used to anything specific, I am looking for a platform/tool/sdk/framework that will aid me to create games/apps quicker and with writing less code (and paying attention to usability and design) and cost reasonable amounts in license costs.

So far appcelerator or phonegap sound like the "tool" for me. Appcelerator has a bit cryptic licensing model but I've heard good things about it.

I was hoping to get a little bit more feedback on one or several of the tools I listed in my first post, maybe by people who had released apps using one or several of those tools/frameworks/platforms.

Perhaps people are busy making apps..  :)

BK
Top Expert 2007
Commented:
Very few real programmers are writing apps, and not many experts on EE have any app-writing experience.  You are asking about fairly obscure platforms.  I can understand your interest in evaluations, but that's why you aren't seeing a flood of reminiscences.

You will probably have better luck with the forums for each of those platforms (if they have forums) or with gaming forums -- you might start with gamelan.  Also, since most app writers (especially with non-native platforms like the ones you list) are really Javascript people who work at ad agencies, you might try graphic design forums.
To qualify mrcoffee's comment.  I'm developing an iPad app at the moment, in Objective C using Xcode. Before that I've done PC and various generations of game console, plus a few non-consumer type hardware scenarios.  I've not used third party libraries often, the stuff I do tends to be performance intensive.

I don't know how typical for EE I am, but I do fit with mrcoffee's description.  As a general observation, I find the majority of mobile apps are badly written.  The games tend to be some of the best because they use third party systems.  The majority of the serious stuff is terrible.

Author

Commented:
Ok guys, very good feedback in my opinion.

What I got from all this is that:
• I'd better of coding Native or not code at all.
• If/when targeting many platforms using PhoneGam and similar is ok.
• No real programmers develop apps ? :) I doubt that but everyone is entitled to an opinion.
• None of my originally listed tools were mentioned as good, whatever it means (probably nothing).

I guess there is no point of beating a dead horse so it's time to close this question, thank you.

I'll split the points equally, if you object please let me know.

Regards
BK
I think the problem is that the app market has less experienced programmers at the moment.  I also think there will be a shift toward mobile development as the platform matures, most programmers are employed by companies that will slowly change IT focus.  I find the concept of a 'real' programmer is a bit silly, people get better at programming by doing a lot of it.  The less experienced programmers seem to be more comfortable with the 3rd party systems.

If you're going to write a game I think the 3rd party systems are good, and can save a lot of time, especially when aiming for multiple platforms.  The choice depends mostly on the app you're going to make.  I just happen to be working on something where performance is a big focus.
Top Expert 2007

Commented:
Good luck!

I agree with satsumo.  "Real programmers" are people who are programming, not creating web pages.  It's still a relatively small market to create apps for phones -- although of course it's growing constantly.  So it means that although there are 100s of k's of apps, not as many required actual programming as you might think.  It just means that the pool of people who can answer questions about programming apps is smaller than it might appear.

Phonegap is not native code -- it's Javascript which runs on top of native code.  That's why it can be ported relatively easily to the different phone OS's.  That's true of several of the frameworks you listed.  It's real programming, in Javascript -- so it depends on what you want to write your code in.

Programming in native code is great.  The thing to be aware of is that you have to rewrite your app for each of the phone OS's.  Initially that wasn't a problem, because apps were only on iPhones.  Now Androids are a pretty big deal, and there are some people writing apps for Blackberries and other phones as well.  You have to think about your market and how much time you have.

Author

Commented:
Great stuff there guys, I agree with you, thanks again.

BK