>>17
There sure are things that cannot reasonably be done without javascript, but there always is a right thing to do when JS isn't available (in your case, giving a message saying that the app require JS).
The problem is that today we still often see things that completely disregard what happen when JS is turned off, like
<a href="javascript:window.open('http://example.com', 'popup', 'width=200,height=500')">link</a>
instead of
<a href="http://example.com" onclick="window.open(this.href, 'popup', 'width=200,height=500'); return false;">link</a>
The sad thing is that most tutorials are still quoting the first one, for the reasons you quoted in >>1