Link to home
Start Free TrialLog in
Avatar of Berhan Karagoez
Berhan KaragoezFlag for Sweden

asked on

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

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.
Avatar of mrcoffee365
mrcoffee365
Flag of United States of America image

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.
Avatar of Berhan Karagoez

ASKER

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
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.
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
Avatar of Member_2_5069294
Member_2_5069294

Another option for mobile development is Corona http://www.anscamobile.com/corona/
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.
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.
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.
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
ASKER CERTIFIED SOLUTION
Avatar of mrcoffee365
mrcoffee365
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
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.
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.
Great stuff there guys, I agree with you, thanks again.

BK