Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Where to start - programming for mobile phones
14 points by farmerwu on June 20, 2008 | hide | past | favorite | 13 comments
I am not an engineer, I am a finance guy, but I did some coding in high school and college (so I'm not all bad). I do a lot of work with the wireless industry, and I am frustrated that there are more worthwhile mobile applications. I have gotten so frustrated that I want to start writing my own simple applications. How do I learn to program for Android? Where should I start? What programming language should I use? Can anybody recommend a good book on that language for beginners?


If you want your app to run on majority of cell phones out there J2ME (Java 2 Micro Edition) is currently your best bet. It may not be as feature rich as IPhone SDK or Google Android but it is probably the most ubiquitous platform for cell phones today. You can download a free WTK (Wireless Tool Kit) from java.sun.com and there are good tutorials on the same site for J2ME beginers.

One thing to remember is if you make use of any of the even a little bit fancy functionality of the cell phone through J2ME (SMS send/receive, Phone book integration or location based services) your app probably won't work on real handset outside the emulator - at least in US. All cell phone carriers here are control freaks and they have turned off all those permissions for any "not officially blessed" third party app. This is the main reason for the lack of any worthwhile mobile applications in the first place!


In theory J2ME has wide distribution, but in reality, the platform is highly fragmented.

I agree that the platform is pretty tightly locked down, and both of these issues make the platform useless for real development. If you want to write anything other than a Tetris clone, stick with an open platform.


Consider focusing on one platform like iPhone or Android. Much frustration has come from engineers that are developing for an assortment of phones, it just sucks the life out of you.

Android is going to push you towards "Java". And iPhone will hook you with Objective-C. (Unless you focus on doing web-based apps, which may be a good way to get your feet wet.)


You might not like the idea but Windows Mobile is reasonably well represented as a phone platform and that gives you a reasonable choice of languages (probably) targeting the .NET Framework - certainly C# and Visual Basic. At least that would be a well documented and feature rich platform (although it does have it's lumps and bumps).

Attractive though Android is there is no shipping phone and thus a zero market (at the moment anyway) [We have developed an Android app but it's sitting on the shelf while we wait and see what happens].


I wrote a couple of programs in Python for my Nokia. It was fun.

http://opensource.nokia.com/projects/pythonfors60/


Started reading 'The Objective-C 2.0 Programming Language' (http://developer.apple.com/documentation/Cocoa/Conceptual/Ob...) today for an iPhone library I have to write and I was wondering if there was a big difference between objective-c 1.0 and 2.0 (I can't seem to find any books on 2.0 at my university library).

Also, can anyone recommend a good cocoa book?


Objective-C 2.0 introduced garbage collection and "properties", as well as a new enumeration syntax.

The best beginning Cocoa book is "Cocoa Programming for Mac OS X", found here: http://www.amazon.com/exec/obidos/ASIN/0321503619/bignerdran...

It's a great book, and a huge number of mac developers got started with it. The new version (which has Obj-C 2.0, Leopard, and other updates) just came out a few weeks ago.


No, there isn't a huge difference between Obj-C 1.x and 2.0.

2.0 brings you object properties (just syntactic sugar), object iteration (for x in ...), and garbage collection (but not on the iPhone).

http://theocacao.com/document.page/510 is a good overview of the new features.


For information on android take a look at the videos from the google i/o conference.

http://sites.google.com/site/io/


This is the only Android book I'm aware of. I haven't read it though so I can vouch for it's quality.

http://pragprog.com/titles/eband/hello-android

The only supported language on Android is Java, so I'd stick with that.



I had to write a Java ME game two years ago and I learned nearly everything from the Sun Java ME site and Nokia's developer tools/docs/forums.

Good luck.


The latest is http://www.sproutcore.com/

Its not mobile specific but is the new framework that Apple is using for its mobile me apps. This would allow you to dev apps for workstation or handhelds.

The easy language to get started with sproutcore is ruby ;)




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: