aspose file tools*
The moose likes iOS and the fly likes Developing apps for iPhone and other smart phones Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Mobile » iOS
Bookmark "Developing apps for iPhone and other smart phones" Watch "Developing apps for iPhone and other smart phones" New topic
Author

Developing apps for iPhone and other smart phones

Ann Basso
Ranch Hand

Joined: Jul 26, 2007
Posts: 48
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

Joined: Feb 05, 2001
Posts: 17259
    
    6

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


Perfect World Programming, LLC - Two Laptop Bag - Tube Organizer
How to Ask Questions the Smart Way FAQ
Ann Basso
Ranch Hand

Joined: Jul 26, 2007
Posts: 48
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

Joined: Feb 05, 2001
Posts: 17259
    
    6

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
Marshal

Joined: Mar 22, 2005
Posts: 42608
    
  65
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).


Ping & DNS - my free Android networking tools app
Monu Tripathi
Rancher

Joined: Oct 12, 2008
Posts: 1369
    
    1

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


[List of FAQs] | [Android FAQ] | [Samuh Varta]
Ann Basso
Ranch Hand

Joined: Jul 26, 2007
Posts: 48
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
Marshal

Joined: Mar 22, 2005
Posts: 42608
    
  65
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

Joined: Feb 05, 2001
Posts: 17259
    
    6

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

Joined: Oct 12, 2008
Posts: 1369
    
    1

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
Marshal

Joined: Mar 22, 2005
Posts: 42608
    
  65
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

Joined: Feb 08, 2010
Posts: 154
great discussion....


Do What You Wanna Be....Taking Things The Way They Come
scjp 1.6 91 percent, scmad 90 percent(rounded off to nearest integer)
Ankur Jain Kothari
Ranch Hand

Joined: Feb 08, 2010
Posts: 154
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

Joined: Feb 05, 2001
Posts: 17259
    
    6

ted mosby wrote:great discussion....


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

Thanks

Mark
Mark Spritzler
ranger
Sheriff

Joined: Feb 05, 2001
Posts: 17259
    
    6

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

Joined: Feb 08, 2010
Posts: 154
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

Joined: Sep 19, 2005
Posts: 2
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
Marshal

Joined: Mar 22, 2005
Posts: 42608
    
  65
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

Joined: Sep 19, 2005
Posts: 2
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.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Developing apps for iPhone and other smart phones