Monday, 16 April 2012

Development tools


Within JavaScript, access to a debugger becomes invaluable when developing large, non-trivial programs. Because there can be implementation differences between the various browsers (particularly within the Document Object Model), it is useful to have access to a debugger for each of the browsers that a web application targets.
Script debuggers are available for Internet Explorer, Firefox, Safari, Google Chrome, and Opera.
Three debuggers are available for Internet Explorer: Microsoft Visual Studio is the richest of the three, closely followed by Microsoft Script Editor (a component of Microsoft Office), and finally the free Microsoft Script Debugger which is far more basic than the other two. The free Microsoft Visual Web Developer Express provides a limited version of the JavaScript debugging functionality in Microsoft Visual Studio. Internet Explorer has included developer tools since version 8 (reached by pressing the F12 key).
Web applications within Firefox can be debugged using the Firebug add-on, or the older Venkman debugger. Firefox also has a simpler built-in Error Console, which logs and evaluates JavaScript. It also logs CSS errors and warnings.
Opera includes a set of tools called Dragonfly.
WebKit's Web Inspector includes a JavaScript debugger used in Safari, along with a modified version in Google Chrome.
Some debugging aids are themselves written in JavaScript and built to run on the Web. An example is the program JSLint, developed by Douglas Crockford, currently senior JavaScript architect at Yahoo! who has written extensively on the language. JSLint scans JavaScript code for conformance to a set of standards and guidelines. Web development bookmarklets and Firebug Lite provide variations on the idea of the cross-browser JavaScript console.
MiniME is an open-source JavaScript minifier, obfuscator, and code-checking tool for the .NET platform.


Pretty Diff is an algorithmic diff tool written in JavaScript for comparing white space compressed JavaScript, and several other languages, to human readable forms of similar code.

No comments: