jboss
jboss

Reputation: 1

Need help on choosing a frontend technology

For a new application I need to make a decision on what frontend technology to use. I know this question has been asked before and I've found several studies, blogs and other references discussing Flash vs. Silverlight vs HTML5 vs JavaFX, but in my case there is a business requirement that complicates the situation.

The application must run as an offline, stand-alone desktop application and as an online client-server application and perhaps in the future it needs to run on tablets as well. And to minimise maintenance we would like to have just one code-base. The server side should preferably run on Linux.

From earlier projects we have experience with Java and Flex for the client-server configuration, but I haven't found out if it is possible to package this into a stand-alone application. Java and JavaFX would be an alternative, but JavaFX still seems to be immature and lacking development tools. If we go for Silverlight we would more or less have to switch to C# or C++ for the backend, or use something like JNBridge, which would make the stand-alone installation more complicated. And HTML5 would be the choice for the future, but less suited for a complex application and we might run into browser-dependencies.

So I haven't found the ideal solution yet and could use some help. Perhaps we need to limit the one code-base requirement only for the server/backend side and accept different front-ends for different usages.

Any thoughts appreciated. Thanks!

Upvotes: 0

Views: 576

Answers (3)

SteveD
SteveD

Reputation: 5405

The Flash/Flex/AIR stuff now has an expiration date on it due to Adobe's terrible handling of the announcements at the end of 2011.

Silverlight is suffering in a similar way to Flex/Flash/AIR as Microsoft's announcements of future directions and developers feeling their investment in Silverlight is now wasted.

JavaFX is late to the party and the latest version is not available on all platforms. Are they targeting mobile nowadays?

HTML 5 is too much hype, not enough unified features across the major browsers. It will get there, but that's not today.

Switching to a completely unfamiliar stack of technology is going to be costly - there's no way you can do any reasonable estimates when it's all new to you and your team.

Personally, I'd suggest starting with technologies you're familiar with, which seems to be Java and Flex and add AIR to that mix.

I'd really push back on the tablet support as I think that requirement is vague, but has a huge impact on the project. I don't see a traditional UI on the desktop working well on a tablet. I'd say the tablet needs its own UI.

Upvotes: 0

Karl Treier
Karl Treier

Reputation: 11

If it needs to run on Tablets and run disconnected you will end up having to write multiple applications since iOS (iPad) does not run SL/Air or JavaFX and to my knowledge Android does not run SL or Air. Using Silverlight does not preclude a backend on Linux that exposes Web Services just makes it a bit harder. Now if you could forgo Disconnected then I would go HTML5 all the way, otherwise just live with the fact that you'll need to write an SL app for the Windows/Mac machines, an iOS app for iPad's and probably a JavaFX (or maybe Air, check into the support for that on Android Tablets) for those.

Upvotes: 0

Simon Wang
Simon Wang

Reputation: 2943

How about Adobe AIR, it can run offline, or as a client communicate with servers, and support multiple platform, like windows/linux/android, etc

Upvotes: 2

Related Questions