views:

371

answers:

5

I want to create a simple 'scorecard' like mechanism for some card/parlor style games. The trick is I want this to be a visually stimulating application (WPF/Flash style animations etc.) and available on Mac, Windows and some mobile clients eventually. Any thoughts on framework? Silverlight would be great if I could run it offline, otherwise it seems like Adobe Flex via AIR.

Thoughts?

A: 

Adobe Flex via AIR seems like a good approach to me. Java might be another way to go.

Scott Evernden
It seems like Java GUI clients are ugly and difficult to theme/make look better. I've heard about JavaFX, but don't know much about it.
kkubasik
You don't have to use Flex, you can do pure actionscript with Air aswell.
grapefrukt
+1  A: 

If you'd rather do Silverlight, there is good news: Silverlight 3, now in beta, and hopefully out in the not-so-distant future, does have a (restricted) offline mode. Some details here.

If you believe the marketing material, you should also be looking at JavaFx since it's also pushing for the mobile platforms. From what I've seen about it so far, there is however a chance that it is yet another dead-on-arrival platform and it will never catch on.

Adobe Air, with or without Flex, will take you offline, cross-platform, but not mobile.

Tiberiu Ana
This seems like a great options, but are their any mobile offerings? I don't need tons of mobile options, but at least _some_ platform that runs silverlight 3 (Windows Mobile 6?)
kkubasik
I see they're talking about Silverlight Mobile coming out in Windows Mobile 7, so it will take a while longer. The good news is that you can get started with the web/desktop version now, and port to the mobile whenever it is released -- a bit risky, but they say it will be all compatible.
Tiberiu Ana
+1  A: 

Hulu Desktop is interesting in that it's essentially a Flash application bundled in a Mac- or Windows-specific application wrapper. It requires that the user already have Flash installed on their computer, but there's something like a 98% penetration, so I don't see that as a deterrent. The disadvantage of this is that you have to build and maintain a separate wrapper codebase for each operating system you support, but the advantage is that you don't have to require users to install the AIR runtime.

erikprice
I like that solution, but does anyone have some sample code of how they got it working? Ideally I don't want to write tons of logic in actionscript, but I can :),
kkubasik
+1  A: 

What are your off-line requirements? If you don't need to read files from the local filesystem, flash and silverlight run fine inside a local html file. Flash has a simple local storage mecanism through the SharedObject class. I don't know if silverlight has something similar.

Adobe AIR is only needed if you need certain system permissions like setting file associations, full IO, system tray / dock integration etc.

There are a few phones that run flashlite, which is pretty much identical to actionscript 2.0. So porting actionscript applications is somewhat easier. However, flashlite still relies on the SharedObject class for persistent storage.

Mac and iphone/ipod touch use the safari browser, so you can use the html <canvas> element + javascript + html5 offline storage today. This is also supported on firefox as well, which is available for windows, mac and linux. See some games built with this technology here: http://www.sarkscape.com/games

Java has been around for quite a while now. It even supports OpenGL through the JOGL library. I don't know about specific libraries for games.

The only truly widespread programming language for mobile devices is j2me, however, is not so straightforward to port desktop java apps to j2me.

JavaFX is still in its infancy and there are a lot of improvements to be made, its not worth the try just yet.

facildelembrar
+1  A: 

Since you want mobile as well as desktop, seems like your best choice is Titanium.

Nosredna