views:

234

answers:

6

I have been writing a lot of HTML, CSS, PHP, MySQL and JavaScript lately working on a website, and I would like to move on to 'proper' OOP with an eye to making smartphone apps.

I would like to at least cover iPhone and BlackBerry, which means learning Objective C, Cocoa and Java, before learning the specifics of interacting with the devices themselves, such as native bluetooth/GPS/internet API/methods.

I would appreciate pointers to books or resources that will get me from a procedural web developer to object oriented app-maker. Most of the reviews of books on Objective C and Java have been mixed. I am about to start working my way through Beginning Java Objects (APress) which I have borrowed from my brother, so even if it's not a good intro at least it was free!

A: 

I don't know any books or other sources that well but one very important direction I can give you is: come up with interesting projects to do that you feel is within your ability and try your best to finish them.

It doesn't have to be anything meaningful to anyone else or even to you as long as you think its fun or interesting, because you will always find obstacles in the way which you will have to overcome. In the long run it will give you lots of experience and important lessons. I think in todays world, google combined with personal ambition is a better teacher than most books. Books are better in terms of best practise. But that is just my 5 cents, I'm sure others have other answers.

Jonas B
I prefer books, generally - the knowledge feels more concrete, and reliable. It's one thing reading examples in official documentation, but another taking lessons from someone's homemade site.
Thats exactly what I wrote.. books are better for best practise but you find more information more easily through internet. I find it good to combine, learn what you need through the internet and read books to put what you've learned to best use.
Jonas B
+1  A: 

Check out PhoneGap.

You can use your HTML, CSS and JavaScript skills to develop apps for iPhone, BlackBerry, Android and more.

And yes, you may use it with Apple's new development license agreement.

Heinrich Filter
This looks very intriguing! Have you any experience using it? It's exactly what I'm looking for if it works.
Unfortunately I haven't used it yet, but I'm itching to get started. If you look at the example apps it seems to work quite well. Please let me know how it goes if you decide to give it a try!
Heinrich Filter
I have had a go and found it very confusing to get started with phonegap. What it led me on to, however, was the Blackberry Widget Packager plug in for Eclipse, which is absolutely brilliant - I can use all my experience to write rich internet apps with javascript access to the hardware. I am searching now to see if I can find similar APIs for the other major smartphone platforms. Ty! Your answer doesn't get the tick because it is on a separate issue, but it is much appreciated, thanks!
Thanks for the feedback!
Heinrich Filter
I just read a book called Building iPhone Apps With HTML, CSS and JavaScript by Jonathan Stark and it is very good - he teaches you how to style apps to look and behave like native apps, and how to use PhoneGap to export native C apps. Now that I understand PhoneGap, I can see how brilliant it is. You need a Mac and iPhone to test in a real phone, but Safari comes with an emulator so you can play with positioning. Thanks for the tip!!
+1  A: 

It won't cover Blackberry, but Stanford University puts their CS193P iPhone programming class lectures on iTunes U, and the course materials on their website. You can follow along at your own pace.

mbmcavoy
+1  A: 

I'd suggest learning one programming environment at a time, so start with either Blackberry or iPhone (or, Android, for that matter), and learn the other ones later. There are skills that apply to all phones, but you'll probably do better learning those in conjunction with only one new learning environment.

David Thornley
Yeah, you're right - learning more than one language at a time is asking for headaches. I am going to explore the PhoneGap option as suggested in another reply, but I will still move on to OOP in due course. I think I will start with Java, since I have a BlackBerry, as do a few friends, so I can test my apps live. It's a poor reason, but I needed some criteria to split one way or the other on, and that seems practical.
+1  A: 

Some book suggestions, as requested:

  • "Learn BlackBerry Games Development" from Apress, March 2010.
  • "Beginning iPhone Games Development" from Apress, April 2010.
  • "Head First iPhone Development" from O'Reilly, October 2099.
  • "Beginning Java ME Platform" from Apress, October 2008.
  • "Kicking Butt with MIDP and MSA" from Prentice Hall, January 2008.
  • "LWUIT 1.1 for Java ME Developers" from Packt, august 2009.

Some useful links:

You might also want to look for technical webinars.

I would have loved to suggest mobile development training resources for android, symbian C++, python, ruby and Qt but you didn't ask for them :-(

QuickRecipesOnSymbianOS
Hi...thanks for the list! I would also be interested in resources for those other languages, so feel free to post them!
+1  A: 

There are two recent books on Blackberry Programming i can recomend:

Beginning BlackBerry Development http://apress.com/book/view/1430272252

and you can look also for Advanced BlackBerry Development in apress site.

The first is a great introduction and easy to understand.

timoto
I had considered those books :)