Joe Walker says Web is the default development platform today. It sure has gained a lot of popularity and attention from everyone in the software world. However, I wonder how much of it has genuine reasons and how much of it is because of the hype surrounding it.
As a developer, I think that the different reasons why Web is so popular as a development platform are:
- Web brings the feature of connectivity with it, which prompts a lot of communication tools to go on the Web.
- The connectivity also makes it easier to reach out to people and share.
- Web is a dumb-network-and-smart-endpoints network, which gives full freedom to the developers who are at the endpoints.
- Web is forgiving, which makes it easier for developers to get an application working.
Unlike the popular opinion, I think that the zero install is not such a big feature of the Web. There can be other solutions to the problem. In fact, I think the zero install feature has been undone today. Not only do some of them have dependency on specific browser versions, they also have a dependency on other desktop-installed software like a Flash plugin. Many refuse to work even if you are using a capable browser with a different name. These are the exact problems that desktop applications face, and this is because our gateway to the Web is still through a desktop application, the browser, which is developed in the traditional desktop world. On the other hand, the repositories in the Linux world are making it easier to install applications day by day.
I also think that Web, as a platform, gets used differently in closed and the open Web.
Web does not offer much advantage when I am working with personal data, which I want to access without any additional dependencies, like network availability. Portability is a non-issue when I carry my laptop with me. Even otherwise, there are other possible solutions.
Having said this, I do think it is good that Web is a popular development platform. However, if we make it the default development platform, we will be repeating the same mistake when we made desktop the default development platform. As I see it, they were made to complement each other, not cannibalise the other. Just like we decide on the tools or the architecture, it might be worthwhile to consider both Web and desktop, and then decide whether we need one of them. Or perhaps both of them in some cases!