HTML, CSS, and JavaScript can be used to build beautiful (and useful) UI's (especially now we have HTML5 and CSS3), and lots of people already know them. Though it's still way beyond my reach, how difficult can it be to bring the whole web app thing to desktop apps? We already test apps on our local servers before hosting them.

In my opinion, it's a nice, simple idea which will create a boom in desktop apps. Plus, given that these apps will already be sharing so much code with web apps, they might be able to offer better connectivity.

Why isn't it being done?

  • 15
    Hasn't this just been announced as Windows 8?
    – ChrisF
    Jun 12, 2011 at 21:41
  • sry, not much of a windows enthusiast, what i am exactly asking for is an open source framework for developing db based desktop apps which can connect to net, and yes, finally something path-breaking from ms
    – kapv89
    Jun 12, 2011 at 21:45
  • Why isn't paper used to build cars? (yeah, it's bad-analogy-time :) )
    – haylem
    Jun 6, 2012 at 2:24
  • @ChrisF Did that ever pan out for Windows 8 or was it just hype? Sep 10, 2015 at 19:14

7 Answers 7


Adobe already did it with Adobe Air, and Mozilla too with Prism . Google also tried to bridge the gap between desktop and web with Google Gears.

But in general, web technologies are not suited for many types of desktop applications, here some reasons why:

  • No immediately available full hardware access.
  • No low level system access.
  • No easily available filesystem access (the technologies I mentioned above allow you to get fs access but every one of them as its own different solution).
  • Performance. A native, compiled application is generally faster than a Javascript application.
  • Easy for a competitors to steal the source code
  • No libraries available for specialized tasks. Ex. image-processing, sound encoding, database access, network programming etc...
  • To be fair, not all applications need full hardware or low level access. VM languages like Java surely work well without that kind of access
    – TheLQ
    Jun 13, 2011 at 5:48
  • 6
    Well, do you know many desktop Java apps?
    – Yoni Roit
    Jun 13, 2011 at 7:26
  • what about javascript on google's v8, i have read its really fast (as fast as java), i can see the difference myself when i run a heavy js animation in chrome and other browsers. And with growing api's for html5, js realy brings a lot to the table, with the canvas stuff, you can do image processing and all... so i don't think js really has that bad set of tools, as a plus, it is more of a functional programming language, (functions are first class objects)
    – kapv89
    Jun 13, 2011 at 7:45
  • 1
    just checked out prism(now WebRunner) and google gears, nice stuff to tinker with,thanks
    – kapv89
    Jun 13, 2011 at 8:04
  • 3
    @YoniRoit: Eclipse, Vuze, my pharmacist's order system...
    – haylem
    Jun 6, 2012 at 2:26

The framework that comes to mind is Adobe Air. It allows web developers to use Javascript/HTML to develop desktop applications. Javascript/HTML on it's own is not suitable for desktop applications because often times a desktop application will need access to services provided by the operating system, e.g. opening files, launching other applications, etc. Javascript on its own does not allow access to such services so you need something extra and frameworks like Adobe Air provide that extra glue.


IMO, I don't adopt HTML and CSS as a way to layout GUIs because there is no compiler I know of for these languages. If I have an error in the code, I have to go look for it myself or I may not even notice it (or go to the HTML site to test it).

In c++ I like that it wont let me compile unless the code is correct (except for catching runtime issues).

Also I don't believe CSS & HTML play very well together yet, such as using float in CSS - depending on your HTML code & use - the result of float will have different outcomes - a lack of consistency compared to using absolute positioning in win32 or the great Java Swing layout managers.

  • 3
    HTML and CSS validators which will do basically what your C++ compiler is doing: syntax checks and type checks. I believe that some powerfull IDE come with such validators. Jun 13, 2011 at 9:49
  • 1
    For the positionning part, CSS also has absolute positionning, and HTML5 has much more than Swing's layout managers. Some editors will also let you design your GUI in a WYSIWYG fashion. Jun 13, 2011 at 9:52

There are a couple of ways to do this now. There's the Mozilla Application Framework which is often used by web browsers like Firefox but is also used by, for example, ActiveState's Komodo IDE.

There's also Qt, which in Qt Quick has CSS and a Javascript-like language.

  • nice, gonna look into Mozilla app framework
    – kapv89
    Jun 12, 2011 at 21:52

One major reason is that if you didn't want your app to be easily stolen and copied you would have to also create an application that held a WebControl that directly linked to your files packaged up some way.
In fact, there are applications that do this. Titanium Appcelerator is one. I'm not recommending you use it because the last time I looked at it it was full of bugs and was poorly supported. You'll have to do your own research into whether it's worth it.


A bit late, but if you use AsYouWish in Firefox (or create Firefox add-ons if you don't mind zipping up your files and testing with their tools), you can create apps in HTML which have desktop privileges. If you use WebAppFind (currently Windows only), you can also get desktop files to open from the desktop directly into a web app (without a need for drag and drop).

Disclaimer: These (open-source) add-ons were created by me.

  • 1
    You have to disclose your affiliation with the product that you're advertising.
    – Rob W
    Nov 12, 2014 at 9:37

You can use Javascript, HTML and CSS to build apps for the Windows Store, Windows Phone and - I assume - XBox via "Universal Apps". (To be clear, starting in Visual Studio using File|New Project...)

This is using the above to build your UX and the application code against an implementation of the native APIs.

Naturally instead of this being seen as an attempt by Microsoft to open up the platform to more developers it was seen as deprecating C# and XAML based dev - which of course they weren't but that's not nearly as good a story... regardless whilst these are not necessarily the sorts of desktop apps the question considers they are native.

Not the answer you're looking for? Browse other questions tagged or ask your own question.