views:

157

answers:

4

I'm a web developer (Java and ColdFusion) who would like to learn to program some simple desktop apps. Most of these would be for Windows, but it would be cool to program in something that can be cross platform.

I've never really been fancied desktop programming in Java although I'm open to giving it another go. Any advice on what might be a good place to get started?

Thank you in advance!

+2  A: 

You could learn ASP.NET for web development (since you already have a web dev foundation) and then easily apply many of the same ideas to making desktop applications. There are a lot of similarities and you'd be using the same powerful IDE (Visual Studio).

I have assisted in teaching a course on web programming with ASP.NET using this book to students with Java and basic web development (HTML/JS) background, and after the course they were able to use C# to make desktop applications as projects for other courses.

Firas Assaad
+3  A: 

Personally I would look at something like Adobe AIR (Flex), Silverlight (.NET), Cappuccino or another RIA framework.

Many software houses are looking at things exactly the other way round to you right now: how can we get our desktop applications on the web? Or even better, how can we write one set of code that works across all the platforms we wish to target?

All of these frameworks / toolsets will let you write one set of code and deploy to many different platforms with little or no extra effort. If you know Java you shouldn't find them too much of a leap from where you are now.

jkp
+1 for Cappuccino. Brilliant.
Chuck Vose
cappuccino is not for the desktop...
Luca Matteis
@Luca: Cappuccino builds apps that are deployable on the desktop thought the the technology stack might not be what you would traditionally expect to find in that setting.
jkp
No, Cappuccino is not 100% portable to the desktop.
Luca Matteis
Cappuccino's desktop support is currently in beta and only usable (right now) through the Atlas beta (280atlas.com)
Francisco Ryan Tolmasky I
+2  A: 

I think the best way to learn something, if you're starting from scratch, is to get a book with exercises and work your way through it.

Alternatively, if you have a specific project in mind, you might be able to get by with whatever free tutorials you find on the Internet.

Either way, having something to work toward (the exercises or your own project) is the best way to learn something, in my opinion.

I don't have any specific books or websites to recommend, though, because it's been a long time since I've looked at any intro to desktop programming books so my advice would be out of date. Also, you haven't been too specific about what you want to accomplish, so it's hard to know where to start. That said, if you already know web programming, I don't think it matters too much which book you choose, as long as it guides you toward building something.

benzado
sorry.. but this comment gives nothing useful at all except, buy a book.. is this any better than just saying RTFM?? At least mention which books you are possibly thinking in your head or something they can use.
Evolve
@Evolve: OK, I expanded my thoughts more to make it seem less like RTFM. Please reconsider your downvote or tell me why it still sucks.
benzado
ok see where you are heading, ive removed the down vote. cheers
Evolve
A: 

Try RealBasic. It is cross-platform and easy to learn. For desktop applications, it is a good platform.

Square Rig Master