Search code examples
c++clientdistributed

Best technology for developing an app that runs on DESKTOP and in BROWSER?


Microsoft WPF? Adobe AIR/Flex? Adobe Flash? Curl programming language?

How does AJAX fit in?

Given a server written in C++ .NET.


Solution

  • The answer does depend really on what your application actually does and your platform requirements.

    If its a regular web application like gmail and you want it to work on lots of browsers and platforms; then I'd recommend a combination of HTML, CSS and GWT as this means your application code is all Java, its very easy to refactor modularise and maintain, there's a ton of Java programmers out there and the IDEs for Java are awesome (IntelliJ or eclipse etc).

    You can then use browser plugins like Siverlight or Flex if and when they make sense (e.g. like Google finance uses Flash for interactive graphs).

    If your application is highly graphical like a Visio type of thing or needs to embed Microsoft Office or something; you might wanna look at Silverlight/Flex/AIR particularly if you can kinda dictate the browser versions and platforms for an internal application.

    Though with client side there's no clear single answer (just look at the comments on this thread :) there are many options (Java Applets/Swing/JavaFX, Ajax, GWT, Air/Flex, Silverlight/.Net etc) which all have strengths and weaknesses. My recommendation for the communication between the client and your C++ server would be to expose your C++ application as a set of RESTful resources - then at any point in time you can easily write other kinds of clients in any language technology or framework.