Does it make sense to build pure JavaScript based web applications (both client and server side)?

旧巷老猫 提交于 2019-11-30 08:41:59

First off, have you taken a look at node.js? JavaScript is one of the languages that, over the last few years, has seen leaps and bounds of development, and its likely to keep growing.

In terms of functionality, it is less mature when compared to other server-side technology, but the active community is making it not far behind.

Finally, since its a language that runs on both the front and back-end, its implications for code-reuse and data-exchange formats make application development a whole lot faster.

I'm not sure its quite ready for production yet (unless you yourself are willing to contribute to the code-base) but server-side JavaScript is a good option to experiment with.

Unhosted is a "project" that is fully about javascript-only applications that run in the web browser only and use server just as storage for (encrypted) data. You will find some examples there.

We are building our CMS & frontends using http://Helma.at, currently serving ~ 250 mio pages / month. This is JavaScript through & through.

Note that this is not bleeding edge technology, as you seem to assume: Helma is in development since 1998 and we use it in production since 1999.

To actually answer the question - yes, it is perfectly viable to build client-server web applications entirely in JavaScript, and frameworks that got traction in the intervening two years since the question was asked -- notably Meteor -- make this much easier than it used to be:

One Language. Write both the client and the server parts of your interface in JavaScript.

-- http://docs.meteor.com

Server side code has to be particularly robust and well engineered, as it manages more than one client in a multi threaded environment. The complexity of business tier processes and the need for accurate code re-use has always lead me to write server side code in Java. I would not consider using Java script because it is aimed at a different usage.

That being said I do use Java script at the server for replicating client side validation scripts for example. That way you can use the one piece of validation code at both ends. The user gets responsive browser validation but the back end re-validates in case someone bypasses the front end validation.

So my question is: is this really a viable concept, to build multi-tier web applications purely on JavaScript?

Yes, although the tools are relatively immature when compared to many other languages.

If so, what would be the advantages of using JavaScript for both the front- and the backend?

  • No switching between languages for developers
  • Code reuse (e.g. Want to check that data is sane? The same code can be used on the client and the server).

This is not a new idea. In fact its so old to have been in fashion then gone out and is now coming back again.

Clasic ASP on windows server IIS can use javascript as the server side scripting language. it can talk to local filesystem and SQL sever etc. very very simple stuff.

You could easily write some ASP code that returns JSON to be consumed by your client side script ajax.

The problem is that MS have ignored classic asp and moved to asp.net (c# or VB.net) so we have to wait for the community to re-invent server side javascript to get back to where we where in 2001.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!