Question

Mobile App Development

Asked by: TheFoot

Hi Experts!

I am a "seasoned" web developer (front and backend) currently using php/css/javascript/jquery/mysql, and formerly classic asp/mssqsl/vb6.

I am looking to move into mobile apps (who isn't?!), but my time is limited, and so I am looking for a pretty short learning curve, as I need to start writing apps for web services asap.

I hear the iPhone thing, but am very interested in Android.  I don't want to learn objective C, but perhaps would consider Java as I can use this skill for normal web apps?

My questions:

1) Is it even possible to write once, and cover all phones?  Or do I really have to target individual OS's, or even phones?
2) I guess with my current skillset, writing web apps rather than native phone apps would be the best route forwards, although I understand that I would have to utilise OS-specific frameworks in order to get access to phone features such as GPS, SMS, Contacts etc.  Is my understanding correct?

Any advice at all on this subject would be gratefully received.

TheFoot

This Question has been solved and asker verified All Experts Exchange premium technology solutions are available to subscription members.

Subscribe now for full access to Experts Exchange and get

Instant Access to this Solution

  • Plus...
  • 30 Day FREE access, no risk, no obligation
  • Collaborate with the world's top tech experts
  • Unlimited access to our exclusive solution database
  • Never be left without tech help again

Subscribe Now

Asked On
2009-10-22 at 01:18:54ID24833612
Tags

mobile app development java native iphone android

Topics

Handheld and PDA Programming

,

Snow Leopard (OS 10.6)

,

Java 2 Micro-Edition (J2ME)

,

JavaScript

,

Android

Participating Experts
2
Points
500
Comments
14

Trusted by hundreds of thousands everyday for fast, accurate and reliable tech support.

  • "The time we save is the biggest benefit of Experts Exchange to Warner Bros. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange." Mike Kapnisakis, Warner Bros.
  • "Our team likes having a resource that is more secure than just using Google and most experts using this service really know their stuff. It's nice to look here first versus using Google." Dayna Sellner, Lockheed Martin
  • "Anytime that I've been stumped with a problem, 9 out of 10 times Experts Exchange has either the accepted solution or an open discussion of the potential solution to the problem." Kenny Red, eBay Inc.

See what Experts Exchange can do for you.

Got a question?

We've got the answer.

Experts Exchange has been collecting answers to technology questions since 1996…3 million and counting! If you have a question, chances are we already have your answer.

Screenshot of Experts Exchange Knowledgebase

Need individual assistance?

Our experts are ready to help.

If you can't find the exact answer you're looking for, ask our exclusive community of 50,000 experts. You’ll get a personalized answer from a trusted professional.

Screenshot of Experts Exchange Knowledgebase

Want to learn from the best?

Read articles from industry experts.

Thousands of free tech tips, tricks, how-to’s and tutorials are available in our peer reviewed articles section. See for yourself how smart our experts are, no login required.

Screenshot of an Article

Working on a long term project?

Store your work and research.

Save solutions to your questions, answers you’ve discovered through searching plus helpful articles in your personal knowledgebase for easy future access.

Screenshot of Experts Exchange Knowledgebase

Access the answers to your technology questions today.

Subscribe Now

30-day free trial. Register in 60 seconds.

What Makes Experts Exchange Unique?

Members of the expert community talk about why the experience at Experts Exchange is different than what you will find anywhere else.

Trusted by the world's most respected brands.

image of each brand's logo

Faithfully serving IT professionals since 1996.

Experts Exchange Logo

Try it out and discover for yourself.

Subscribe Now

30-day free trial. Register in 60 seconds.

Related Solutions

  1. Quality of iPhone camera and accuracy of its GPS
    I am looking for a new phone with a decent camera in it and an accurate GPS. Except for the occasional candid shot most of what I photograph are tombstones so quality needs to be good but not super. I also want to tag the photos with their GPS location so accuracy within a do...
  2. Link to launch iPhone app from SMS?
    Is it possible to make an SMS such that the recipient can launch a certain app from a link within SMS when it is received. So if the person has the FUN GAME app on their phone, and I send them a message "play the FUN GAME", with the last two words being a 'hyperlin...
  3. GPS app on Windows Mobile using VB.NET
    Hello, I want to find if there is any code/SDKs/samples of location/GPS apps that can run on the Smartphone - Windows Mobile using vb.net. The WM SDK has a GPS sample but it's in C#. I need anything in vb.net. I want to integrate a location feature into my app, and for the ...
  4. GPS in iPhone
    Hi, I am using iPhone 3G , I would like to know whether GPS chip in my mobile is working or not? Please let me know how can I find it?

Free Tech Articles

  1. WARNING: 5 Reasons why you should NEVER fix a computer for free.
    It is in our nature to love the puzzle. We are obsessed. The lot of us. We love puzzles. We love the challenge. We thrive on finding the answer. We hate disarray. It bothers us deep in our soul. W...
  2. SCCM OSD Basic troubleshooting
    SCCM 2007 OSD is a fantastic way to deploy operating systems, however, like most things SCCM issues can sometimes be difficult to resolve due to the sheer volume of logs to sift through and the dispe...
  3. Migrate Small Business Server 2003 to Exchange 2010 and Windows 2008 R2
    This guide is intended to provide step by step instructions on how to migrate from Small Business Server 2003 to Windows 2008 R2 with Exchange 2010. For this migration to work you will need the fo...
  4. Create a Win7 Gadget
    This article shows you how to create a simple "Gadget" -- a sort of mini-application supported by Windows 7 and Vista. Gadgets can be dropped anywhere on the desktop to provide instant information, ...
  5. Outlook continually prompting for username and password
    There have been a lot of questions recently regarding Outlook prompting for a username and password whilst using Exchange 2007. There are a few reasons why this would happen and I will try to cover t...
  6. Backup Exchange 2010 Information Store using Windows Backup
    There seems to be quite a lot of confusion around the ability to backup Exchange 2010 using the built in Windows Backup feature. This stems from the omission of this feature prior to Exchange 2007 s...

Cloud Class Webinars

  1. Avoiding Bugs in Microsoft Access
    Alison Balter takes and in-depth look at avoiding bugs in Access. In this webinar you will learn about using the immediate window to debug your applications, invoking the debugger, using breakpoints to troubleshoot, stepping through code, setting the next statement to execute, ...
  2. Top 10 Best New Features in Visio 2010
    Scott Helmers gives live demonstrations of the top 10 new features in Visio 2010. This webinar will teach you how to create compelling diagrams by adding shapes to the page with a single click, linking the shapes in a diagram to data in Excel (or SQL Server, or SharePoint), ...
  3. IT Consultant Business Secrets Revealed
    Michael Munger, Experts Exchange tech pro and IT consultant, pulls back the curtain on his very successful businesses and answers question on every IT consultant and business owner should know about. He shares secrets on what he did to solve the 5 most common problems in IT, ...
  4. Disaster Recovery and Business Continuity
    Quest CTO, Mike Billon, gives an overview of the steps involved in building a dunamic disaster recovery plan. Through case studies and an examination of software/hardware tooles for monitoring and testing, you'll gain a better understandin of where you are, where you want ...
  5. Organize Your Visio Diagrams with Containers and Lists
    Scott Helmers uses cross functional flowcharts, wireframe diagrams, data graphic legends and seating charts to teach you: how to ustilize all three new structured diagram components in Visio 2010, the best practices for organizeing shapes in previous version of Visio, how to organize ...
  6. How to Us Objects, Properties, Events and Methods in Microsoft Access
    Alison Dalter gives an in-depbth look at objects, properties, events and methods in Microsoft Access. In this webinar you will learn about using the object browser, referring to objects, working with properties and methods, working with object variables, understanding the ...

Join the Community

Give a Little. Get a Lot.

Join the community of experts here and help other tech pros by answering question in your area of expertise. You can earn FREE access to all Experts Exchange's premium features and resources.

Join the Community

Answers

 

by: alexey_gusevPosted on 2009-10-22 at 01:34:13ID: 25631848

1) my answer is NO :). one possibility would be J2ME, but it doesn't work on all devices (like Android devices for instance), but you could cover S60 phones and Windows Mobile

2) J2ME should have it already, via various profiles, so you don't need to do something specific to the OS, although not all OS features might be available in J2ME

 

by: -null-Posted on 2009-10-22 at 01:34:52ID: 25631851

Hi

If you are writing a web based app that will run in the handset's browser, then as long as you use a flow layout, you could theoreritically write a web app that would work on the majority of modern handsets.  In reality, with such varying screen sizes, this would be hard to achieve if you wanted a sophisticated interface that would work across the board.

Starting out with java would be a good approach, as as you have said, android native apps are written in it.  The added bonus here is that most other handsets (nokia for example) use j2me (java subset) or full java for their native apps, so although the code wont likely work straight out of the box, you could port a lot of your application logic.

The iphone uses webkit for web app development.  To get the most out of it, you would need to own an intel mac running snow leopard, in order to use dashcode, an IDE for iphone web apps.  This allows for visual GUI design, and the mac widgets, to make your application seem more 'native'.  Whilst this offer some features such as shake and multitouch detection, you cannot access some of the core features of the os.

As to objective-c, there's a steep learning curve in using objective-c and the cocoa framework.  It's also mac and iphone specific, so you wont be able to move this skillset elsewhere.  I don't know how good an application programmer you are, but objective-c is a superset of c, so you're quite close to the hardware, and are responsible for memory management etc.  What you do get for your time investment is access to all of the really cool features of the OS.  In order to distribute your apps, and use some of the more details docs and videos, you need to sign up which is 50 pounds odd/99 dollars.  You will also obviously need a mac :)

 

by: TheFootPosted on 2009-10-22 at 01:44:29ID: 25631905

Hi - thanks to both for your posts..

@-null-:What do you mean by "flow layout" please?   I would probably build a framework that would account for various screen sizes.. as I do generally for normal web apps.

Both of you are talking more about native apps than web apps.  What are the limitations of writing only web apps?  How does javascript in the web pages communicate with the phone APIs?  Do all OS's support this?

I guess I am trying not to have to write native apps just yet if I can help it - I would prefer to get my feet wet by leveraging my existing skillset as much as possible.

@-null-: I have no experience with C or related languages.  My background is OO VB6, and then into OO web apps, and OO javascript webdev.

 

by: -null-Posted on 2009-10-22 at 01:54:54ID: 25631962

Exactly what you said, basically a layout not constricted to fixed width sizes, ie percentage based widths etc.  webkit on iphone has no functionalilty to call objective-c methods/OE apis.  As you can imagine, these api's are powerful, you wouldnt want any old website to execute code on your phone!  I'd imagine this is across the board.

If you have a mac, iphone web development would be rewarding, as you have the skillset you can transfer directly, as they're written in javascript, with webkit extensions.  Other than that, to be completely platform agnostic, you need to take into consideration the limitations of a mobile device; screen size, processing power, technology support, and data connection speeds.

 

by: alexey_gusevPosted on 2009-10-22 at 01:56:18ID: 25631967

then use J2ME and you'll be OK in most of the cases

 

by: alexey_gusevPosted on 2009-10-22 at 01:56:53ID: 25631969

@-null-:
>The added bonus here is that most other handsets (nokia for example) use j2me (java subset) or full java for their >native apps, so although the code wont likely work straight out of the box, you could port a lot of your application >logic.

let me disagree with this statement - Nokia (and any other vendor) DOES NOT use Java for NATIVE apps

 

by: TheFootPosted on 2009-10-22 at 02:23:58ID: 25632126

So basically: if I write webapps, then I can access a limited subset of the iPhone functionality via WebKit?  What about Android and Nokia (is it Symbian OS?) - can I acheive the same (albeit limited) functionality for each?  I understand I would have to access each differently.

And for native apps, then if I learn J2ME I can pretty much cover iPhone, Android and Nokia?

@alexey_gusev: Any tips/links/overviews on starting J2ME development?  Do I need to learn basic Java programming first, then move into J2ME, or can I dive straight into J2ME?

Thanks for your posts both...

 

by: -null-Posted on 2009-10-22 at 02:33:04ID: 25632188

I'm not sure what android and nokia handsets are based on browser wise, so it's possible you don't get a great of support for anything.  You certainly wont be using any of the phones hardware devices, contacts or the like.

iPhone doesn't run j2me, it's webkit development, or native obj-c.  Increasingly, the shift is towards iphone,android,the pre and mobile web. j2me and even windows mobile development is on the downturn.

 

by: alexey_gusevPosted on 2009-10-22 at 02:35:01ID: 25632204

for links:

http://today.java.net/pub/a/today/2005/02/09/j2me1.html
http://developers.sun.com/mobility/midp/articles/wtoolkit/
http://www.roseindia.net/j2me/

...and many others, just google. you'll need Eclipse or NetBeans and all relevant Java packages.

I would say if you start with J2ME you can cover Nokia (ie Symbian OS) and partially Android (as it is Java, but not J2ME) and Blackberry. iPhone won't run it.

Starting directly with J2ME seems better to me rather than learn Java first and then realize that some features are not supported on mobile platforms

 

by: -null-Posted on 2009-10-22 at 02:38:39ID: 25632225

Android is written in java, but translated into dalvik vm bytecode which is more optimised than java bytecode.  I agree with Alexey, if you do decide to get into the java side of things, it makes more sense to start with j2me, as it is a subset of java, and therefore lacks many of the things found in the full version.

 

by: TheFootPosted on 2009-10-22 at 02:47:25ID: 31644382

Prompt replies, and plenty of advice.  Thanks!

 

by: TheFootPosted on 2009-10-22 at 02:51:04ID: 25632310

Sorry - one last question @-null-, re your comment "iPhone doesn't run j2me, it's webkit development, or native obj-c.  Increasingly, the shift is towards iphone,android,the pre and mobile web. j2me and even windows mobile development is on the downturn."

.. does this mean that you expect other OS's browsers to support javascript frameworks like the iPhone WebKit, more and more in the future?

Thanks..

 

by: -null-Posted on 2009-10-22 at 03:08:18ID: 25632421

Well webkit is the library which safari on windows, mac and iphone is based on.  I also believe that Google Chrome is based on the same framework, so one would assume that android must run some variation too.  Now more an more manufacturers are adopting the apple app store methodology.  Android has one, and now Nokia has launched Ovi, for the same purpose.  Personally, I would target specific platforms for my product, rather than trying to please each handset.

It is a given that as the processing capabilities and screen sizes get faster and bigger, that it opens up a whole new world in what browsers are capable of doing.  Even now, safari on iphone get do element rotation, transitions, dynamic graphics and the like.

Really the difference is that with a web app, you're on your own selling it/getting it known (Other than listings - I know Apple does one for web apps), whereas with a native app, you're put into the store and are searcheable, plus by and large they handle your payment processing and distribution for a percentage share in each sale.

I develop iphone apps, but for me, 9/10 a web app is just as well suited, and is waaaaaaaaay faster to develop.

 

by: TheFootPosted on 2009-10-22 at 03:18:36ID: 25632474

So I guess I'll watch the marketplace and hopefully more browsers will support webkit..

Thanks again...

TheFoot

20120131-EE-VQP-002

3 Ways to Join

30-Day Free Trial

The Experts

98% positive feedback on 31,087 answers since March 2000. angeliii is a Microsoft Most Valuable Professional for his work with MS SQL Server & Develoment.

He has also proven his knowledge of Visual Basic Programming, PHP Scripting and Oracle Databases.

The Experts

97% positive feedback on 10,752 answers since July 2000. lrmoore has more than 18 years experience in the networking industry.

The six-time Mircosoft MVPs specialties include firewalls, virtual private networking, and network management.

Testimonials

"...and excellent source for support... Kind of like having your very own IT dept." Electriciansnet

Testimonials

"I was apprehensive at signing up at first. However... it has already made my life as an IT administrator much easier." JaCrews

Testimonials

"WOW! You guys have great, active, and knowledgeable people on here." moore50

Business Clients

Business Clients

In the Press

"If you’ve got a question... Experts Exchange can supply an answer.”

In the Press

"...an invaluable aid for both IT professionals and those who require tech support."

In the Press

"where IT professionals provide quick answers on just about any topic"

Business Account Plans

Loading Advertisement...