Reputation: 2829
I create fullscreen interactive demos in Flash and have recently been looking to migrate to a new language. My Flash demos are basically software prototypes and operate in a projector EXE, outside of the browser. I want to leave Flash for a variety of reasons, including:
In finding a new platform, I need the ability to develop for the following requirements:
I would appreciate any recommendations you could make on languages, frameworks, books, websites, etc. I am more knowledgable in Java than in C/C++, so it would be nice to see more recommendations there.
Upvotes: 0
Views: 309
Reputation: 21236
Maybe Zinc is a solution where you can still use/apply your Flash/Actionscript skills and create dedicated executables for Windows & OSX that do not have the same restrictions that normal Flash projectors have.
Upvotes: 0
Reputation: 10510
WPF sounds perfect for your needs.
I would definitely recommend using WPF. I am a big fan of Flash, but it does sounds like at the moment you are not using the right tool for the right job!
WPF is like Silverlight's (stronger, smarter, better-looking) big brother. If you want to create EXEs running on Windows, why not use a Microsoft platform to create it. Seems smart to me.
Where as Silverlight is targeting the web and confines you to a sandbox, WPF lets you free to do what you want. You can basically do anything inside .net, but Silverlight only uses a subset of the .net framework.
WPF is also fully hardware accelerated, and works well with large videos. Of course you must make sure your video are encoded properly, because there some videos that are far to big to play on most PCs out there.
Only problem is that it Windows only. But I am not sure if there is a way around this or not.
Upvotes: 0
Reputation: 744
I think your best answer is Processing given your familiarity with Java. Processing is used to create many demos and cutting edge graphics applications. Processing is built in Java but has a proprietary language that is very easy to use, and you can use straight Java as well. I don't know if it has a specific widget library, but certainly it is easy enough to build yourself. Check out some of the Processing exhibitions for a look at its power and flexibility.
For true cross platform speed and hardware access you could look at something like the Simple DirectMedia Layer. The SDL is a cross platform library used for demos and games. It has 2d and 3d support as well as device access. It will run on Windows, Linux, Mac and countless other variations of hardware and software. It is written in C to make it easily cross platform, but you can code C++ or use the bindings for Python, Java, or Ruby if you are looking for something different. The SDL doesn't come with a built-in widget library, I don't believe, but there are many listed on their site under the SDL Interface category of libraries.
Another option is Qt which is a cross platform widget library recently purchased by Nokia. Nokia is an odd owner, but the library is licensed under LGPL and it offers everything you would need. I am not familiar with building graphically intense demos under Qt, but their documentation makes it sound feasible.
openFrameworks is also used to for demos and cutting edge graphics and hardware applications. openFrameworks is written in C++ and is not so easy for less experienced developers. It does not have a specific widget library, and it is still in an alpha release state. I have not dug deeply into openFrameworks yet but it is much more advanced and tailored for advanced applications such as the ones tagged openFrameworks on Vimeo.
Upvotes: 4
Reputation: 30014
You could use plain Java with an OpenGL binding like JOGL/LWJGL but you're going to have trouble with media playback. I think JavaFX provides much of this media playback support as well as the OpenGL acceleration, all wrapped up in a nice Java framework. If you need cross platform support, you'll be in a world of hurt trying to get proper libraries for every platform flavor. If you just need windows, JavaFX may be very viable.
Upvotes: 1
Reputation: 1919
I would have to say you either need to look at Silverlight (and I have no idea if it will meet your needs as I don't think it can do 3D yet) or some form of OpenGL graphics engine.
Upvotes: 0
Reputation: 41381
By these requirements, you're pretty much stuck with compiled executables of some language variety.
Upvotes: 1