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 :)
Main Topics
Browse All Topics





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