the thin line between web apps and desktop apps

I've been working a lot lately with web apps, mostly with javascript and json-rich web UIs. I have to say I get impressed all the time with what I can achieve through these technologies.

More and more, I ask myself whether I would have preferred to go with a classic GUI to start with (whether it was C#/VB.Net + WinForms, or C/C++ + GTK/QT or Java or anything). I, however, have been able to accomplish everything I wanted in terms of a user interface with web-related technology.

And although I feel I have everything I need, more and more things keep coming in (and will keep coming in forever), like HTML5, new javascript capabilities, and probably even more things.

So, as web apps become even more and more able, I ask you:

  • How thin is the line between web apps and desktop apps as of now?
  • What is the future of this line? How capable will web apps be in the distant future? In this sense, is there a definition of what web apps should be, or are they just going to improve it more and more forever?
  • I would like to know what W3 has to say about it, though I haven't looked into it yet.


    In reality we have simply come full circle in the computing world. The web browser of today is simply the green screen terminal of 30 and 40 years ago.

    It used to be that you would buy time on a University's computer to run your program and then pay for time it took for your program to process and run. This was inefficient from an end user stand point since it was done in a batch and queue process so your results would have to wait till the next day. From the University's point of view though they had more computing power than they knew what to do with, so farming it out made sense and gave a nice revenue stream.

    Flash forward a few years and desktops began to be as powerful if not more powerful than the University's computers and the days of batch and queue processing died off. But desktop centric applications suffer from a single fundamental flaw, multi-user needs. If more than one user needs to use the application at the same time, a server is needed in the mix to handle the multi session data needs.

    The client application is useful for doing things such as data validation, but the thicker the client, the larger the risk you run with different versions of the client populating data at the server wrong.

    The solution, the "web" client. Using the term web though is actually wrong in my personal opinion. The html/browser based client removes the issues found with multiple versions of a desktop client since all users are using the same version all the time. Gone are the days of deploying an upgrade across thousands of desktops. The browser based client simply needs updating on the server side and all users are instantly getting the new features.


    To answer this question about the future, let's look more than a year into the past:

    http://www.codinghorror.com/blog/2009/08/all-programming-is-web-programming.html

    And in fact, it references an even earlier post from 3 years earlier. The future is Atwood's Law: any application that can be written in JavaScript, will eventually be written in JavaScript.

    http://www.codinghorror.com/blog/2007/07/the-principle-of-least-power.html


    Apart from some UI issues, web apps are real apps.

    What is the future? Wish I had a crystal ball...

    However, I would hazard to guess that the trend will go on and web will subsume most if not all of desktop applications.

    链接地址: http://www.djcxy.com/p/47858.html

    上一篇: 在heroku上运行黄瓜测试

    下一篇: Web应用程序和桌面应用程序之间的细线