Not sure this is the right place to ask... I\'m involved in the development of a
ID: 651142 • Letter: N
Question
Not sure this is the right place to ask...
I'm involved in the development of a new system, and now we are passing the demos stage. We need to build a proper client application.
The platform we care most about is Windows, for now at least, but we would love to support other platforms, as long as it's free :-). Or at least very cheap.
We anticipate two kinds of users:
Occasional, coming mostly from the web.
Professional, who would probably require more features, and better performance, and probably would prefer to see a native client.
Our server exposes two APIs:
A SOAP API, WCF behind the scenes, that supports 100% of the functionality.
A small and very fast UDP + Binary API, that duplicates some of the functionality and is intended for the sake of performance for certain real-time scenarios.
Our team is mostly proficient in .Net, C#, C++ development, and rather familiar with Web development (HTML, JavaScript).
We are probably intending to develop two clients (for both user profiles), a web app, and a native app. Architecturally, we would like to have as many common components as possible. We would like to have several layers: Communication, Client Model, Client Logic, shared by both of the clients. We would also like to be able to add features to both clients when only the actual UI is a dual cost, and the rest is shared.
We are looking at several technologies: WPF + Silverlight, Pure HTML, Flash / Flex (AIR?), Java (JavaFx?), and we are considering poking at WinRT(or whatever the proper name is).
The question is which technology would you recommend and why? And which advantages or disadvantages will it have regarding our requirements?
Explanation / Answer
We recently went through a similar exercise. As a Java/JVM based shop we narrowed it down to Qt, Java FX and 'HTML 5' (whatever that living std is ;p). HTML 5 narrowly won out over Qt with JavaFX not far behind (it's surprisingly compelling for something so new, just needs some polish). The main reason is that we believe that 'HTML 5', whilst non standard, is a technology that's going to stick around for quite some time and that you can build adequate rich clients across multiple platforms in it (and that will only improve). However, we're still prototyping some ideas before going whole hog with it.
It's important to note we evaluated against Matt Raible's 20 web framework criteria - with weightings based on what we knew we needed. In other words, empirical evaluation followed by prototyping is about the best you can do.
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.