Win a copy of Design for the Mind this week in the Design forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Developing apps for iPhone and other smart phones

 
Ann Basso
Ranch Hand
Posts: 48
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi,

I have never done any mobile app development so I don't know much about it but I want to get into it. My understanding is that an app developed for iPhone will not work on any other phone. Is that right?

So I am wondering about what platform to choose for developing GUI applications for smart phones such has iPhone. Of course, J2ME is one option but Java GUI does not look as sleek and also it is resource hungry. Now, iPhone has its own SDK, I think google droid has its own, it seems Sony is coming up with another one. So if one has to develop a sleek GUI application for all these phones, how should one go about evaluating these technologies? In other words, if you had to develop a cross smartmobile application, how would you do it?


Any pointers?
 
Mark Spritzler
ranger
Sheriff
Posts: 17278
6
IntelliJ IDE Mac Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Ann Basso wrote:Hi,

I have never done any mobile app development so I don't know much about it but I want to get into it. My understanding is that an app developed for iPhone will not work on any other phone. Is that right?

So I am wondering about what platform to choose for developing GUI applications for smart phones such has iPhone. Of course, J2ME is one option but Java GUI does not look as sleek and also it is resource hungry. Now, iPhone has its own SDK, I think google droid has its own, it seems Sony is coming up with another one. So if one has to develop a sleek GUI application for all these phones, how should one go about evaluating these technologies? In other words, if you had to develop a cross smartmobile application, how would you do it?


Any pointers?


There are many ways. So it would take too long to give that answer.

Here is the nuts and bolts.

1) What is your target audience? Do they only have iPhones, if so, why waste time writing in other device languages.
2) Are you only doing this because you think it will make your rich? Odds are against it now.
3) Build a website app instead and all the phones can view it.
4) Write the same app in all the different languages.

I will say this, I have 4 iPhone apps, and I have written a few J2ME apps, no Android yet. And I think J2ME is done. Objective-C for iPhones and Andriod in Java are to me the only viable solutions.

Opinion given above.

Mark
 
Ann Basso
Ranch Hand
Posts: 48
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Mark Spritzler wrote:
1) What is your target audience? Do they only have iPhones, if so, why waste time writing in other device languages.
2) Are you only doing this because you think it will make your rich? Odds are against it now.
3) Build a website app instead and all the phones can view it.
4) Write the same app in all the different languages.

I will say this, I have 4 iPhone apps, and I have written a few J2ME apps, no Android yet. And I think J2ME is done. Objective-C for iPhones and Andriod in Java are to me the only viable solutions.

Opinion given above.

Mark


Hi Mark,
Thank you very much for your response.
1. The audience is all smart phone users. Or as much as possible. Using the same app. But that doesn't seem to be possible.
2. I have an idea and I would like to work on it. If it makes me rich then great, if not, well, at least I tried
3. Webapp requires a hosting server, access/security issues, user data management. So while it will allow access to any phone, it has a big overhead as well. Keeping user data with me will be too much of a responsibility.
4. Right. Hence this post. Is there a way to figure out a way...WORA. Apparantly not

When you say J2ME is done, you mean, it's no good anymore. Right? Can a simple GUI app be developed in J2ME that can be run on all these smart phones?
Also, what do you mean by Android in Java? Do you mean J2ME code for Andriod phones?
 
Mark Spritzler
ranger
Sheriff
Posts: 17278
6
IntelliJ IDE Mac Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Android is a Phone OS, API from Google. You use Java but it isn't J2ME. You have to learn Android development.

For iPhone you have to learn Objective-C and iPhone development.

I say J2ME is over because the vast majority of the smart phones are going to now be either iPhone or Android. Writing your app in J2ME would seem to me a waste of time.

Only a Web App will allow you to write the app once and run on all smart phones.

Mark
 
Ulf Dittmer
Rancher
Posts: 42967
73
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I concur with Mark. The only "hot" smartphone now that still supports JME is the BlackBerry, and that lags behind (or will soon lag behind) both iPhone and Android. The JavaMicroEditionFaq points to a couple of articles on the future of JME on smartphones.

I'm currently working on some Android stuff, and -being essentially Java, although without the full JSE class libraries- it's easy to pick up if you have Java experience. It's also way more powerful than the JME CLDC that's on the BB.

For cross-platform mobile development check out http://rhomobile.com/products/rhodes/, which apparently covers all major platforms, while http://www.appcelerator.com/ does it for iPhone and Android (Disclaimer: I have no knowledge about these other than their existence).
 
Monu Tripathi
Rancher
Posts: 1369
1
Android Eclipse IDE Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I agree with what has been said here: Android and iPhone seem good candidates to focus your energies on at the moment.

Ulf Dittmer wrote:I'm currently working on some Android stuff,...

glad to know...
 
Ann Basso
Ranch Hand
Posts: 48
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thank you very much for your insight.
How about if the app is made as a web app but using Flex (or Silverlight)? Isn't Flex cross platform, cross browser?

Also, if you could please point to some beginner text on how to develop a regular webapp (no flex etc.) for mobile phones, that would be great. I am thinking that developing the view pages for mobile phones would be different from regular pages because of their size. So is your code aware of the size of the window or it just automatically gets wrapped around? I am sure there would be some standard techniques for making sure the webpages look ok on these small screen.

thank you!
 
Ulf Dittmer
Rancher
Posts: 42967
73
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Flash/Flex is cross-platform for desktops, but not for mobiles. The iPhone does not support Flash and likely never will. Android does not yet support Flash, although that's announced to be under development. Limited Flash players are available for Windows Mobile and Symbian.

Since you visit JavaRanch, you might compare the regular site to the mobile site; that might give you some ideas on how to go about it: http://www.coderanch.com/t/477101/Ranch-Office/JavaRanch-goes-mobile
 
Mark Spritzler
ranger
Sheriff
Posts: 17278
6
IntelliJ IDE Mac Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Ann Basso wrote:Thank you very much for your insight.
How about if the app is made as a web app but using Flex (or Silverlight)? Isn't Flex cross platform, cross browser?

Also, if you could please point to some beginner text on how to develop a regular webapp (no flex etc.) for mobile phones, that would be great. I am thinking that developing the view pages for mobile phones would be different from regular pages because of their size. So is your code aware of the size of the window or it just automatically gets wrapped around? I am sure there would be some standard techniques for making sure the webpages look ok on these small screen.

thank you!


The issue I always have with these types of WebApps is that I never want to use them. There isn't an icon for it, although I could make one. It isn't a native running app.

There is a huge thing to say about a native running app, the interaction, look and feel, Richness which always seems to me goes much further than a web site app. Also it isn't as choppy. I hate those web apps on iPhone, they look so fake and are awkward with how the pages chop.

Mark
 
Monu Tripathi
Rancher
Posts: 1369
1
Android Eclipse IDE Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Ulf Dittmer wrote:Flash/Flex is cross-platform for desktops, but not for mobiles. The iPhone does not support Flash and likely never will. Android does not yet support Flash, although that's announced to be under development. Limited Flash players are available for Windows Mobile and Symbian.

Android does not support Flash as of today but there is an Android handset, HTC Hero which does have Flash support; hope full Flash support becomes a reality sooner.
Also, I recently heard of Adobe Integrated Runtime (AIR), which is used to create Desktop widgets(Rich Internet applications) that run on various Operating Systems. These widgets were compared with web solutions and were touted as having advantages over web-based solutions. Adobe is working on a release (AIR-2), which is expected to support both iPhone and Android. A preview of AIR on Android was given at a recent gathering in Spain.

Further Reading:
AIR-2 to support Android and iPhone: the announcement
Preview of AIR on Android
Videos: AIR-2 on mobile and handheld devices

 
Ulf Dittmer
Rancher
Posts: 42967
73
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I'm not sure that Flash/Flex or AIR or Silverlight or any other such plugin approaches are the right way to go for mobile phones, though. Either a web site designed (or at least optimized) for mobile phones, or a proprietary little app that acts as web site replacement would be better, IMO. For example, Android comes with Youtube, GoogleMail and GoogleMaps applications that do a better job than surfing to those sites could ever do on such a small screen.
 
Ankur Jain Kothari
Ranch Hand
Posts: 154
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
great discussion....
 
Ankur Jain Kothari
Ranch Hand
Posts: 154
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
what do you think will happen to blackberry then? if the OSes for mobile keeps changing so fast....what do you think is the future of mobile apps....not everyone would want to use web apps for many uses....if iphones is getting so famous then it will create a rift between microsoft and mac....oviously microsoft wouldnt like to remina behind...iphones apps cant be made on windows....i think one has to keep updated with all the OSes becuase one organization could be using one platform..and the other one something else...

all will change to andriod or iphone..this will take many years...we cant be sure..india has 70 percent mobiles on j2me...
 
Mark Spritzler
ranger
Sheriff
Posts: 17278
6
IntelliJ IDE Mac Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
ted mosby wrote:great discussion....


Please check your Private Messages for an important message from JavaRanch.

Thanks

Mark
 
Mark Spritzler
ranger
Sheriff
Posts: 17278
6
IntelliJ IDE Mac Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
ted mosby wrote:what do you think will happen to blackberry then? if the OSes for mobile keeps changing so fast....what do you think is the future of mobile apps....not everyone would want to use web apps for many uses....if iphones is getting so famous then it will create a rift between microsoft and mac....oviously microsoft wouldnt like to remina behind...iphones apps cant be made on windows....i think one has to keep updated with all the OSes becuase one organization could be using one platform..and the other one something else...

all will change to andriod or iphone..this will take many years...we cant be sure..india has 70 percent mobiles on j2me...


What Kevin Rose suggested on DiggNation, is that companies like BlackBerry are going to turn to putting Android OS on their phones.

Mark
 
Ankur Jain Kothari
Ranch Hand
Posts: 154
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
i am actually a 4th final student in electronics...i am very interested learning mobile computing...i hove done many j2me projects...currently doing a proejct for a company....but i want to learn more and fast...can you suggest me a possible path...i have no background in computers or IT...just know java...j2me...and some more languages
 
Steve Hideg
Greenhorn
Posts: 2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I work at a small college and have been tasked with creating the fabled "mobile" app for the institution.

While I'd prefer to concentrate on iOS devices, I'm mandated to support other platforms. One popular solution is the MIT Mobile web framework. Do you folks have any recommendations or alternatives to this? I haven't had a chance to look at MIT Mobile in any depth yet. I recently saw a demo of DashCode and was impressed with how easy one can put together a web app that resembles a native app. I also like some features that would easily interpret XML or JSON formatted data coming from the server (I have an online phonebook servlet I wrote that provides data in JSON).

I'd love to use DashCode and all its toys, but I don't know if that's the best way to do a cross-platform mobile web app.

Thanks.
 
Ulf Dittmer
Rancher
Posts: 42967
73
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Steve Hideg wrote:While I'd prefer to concentrate on iOS devices, I'm mandated to support other platforms.

It sounds like Rhodes (which I linked to above) might fit the bill. It claims support for Android, iOS, BB, Windows Mobile and Symbian.
 
Steve Hideg
Greenhorn
Posts: 2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Ulf Dittmer wrote:
Steve Hideg wrote:While I'd prefer to concentrate on iOS devices, I'm mandated to support other platforms.

It sounds like Rhodes (which I linked to above) might fit the bill. It claims support for Android, iOS, BB, Windows Mobile and Symbian.


Oh, I missed that! Thanks. I'll check it out.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic