Firefox as a web-development environment

So you're developing a website/page/app/service/extension/widget/doodad that makes heavy use of Javascript/XHTML/XML/HTTP/DOM/XUL/hoomajooba and you're slowly, but surely, tearing your hair out from finding small bugs with little to no help on where these bugs are.

Web development using the newest technologies is obviously a newly emerged, and quickly developing, field. Fortunately, open-source toolsets promote developers and users of these technologies to build and release tools for these technologies.

Tools are our friends

Leslie Frank's Firefox Web Development Tools Presentation is a good run through of about a dozen tools you should use, or at leat consider using, for your development environemnt. Extending Firefox for web developers has some more useful tools, including a reference to Venkman, a powerful Javascript development environment.

The power lies within

about:config is a very powerful, and little used, configuration option for tweaking the underpinnings of Firefox.

via Born Geek:

There are two browser settings that can make your debugging life much easier. Both can be set through the standard about:config preferences mechanism, and both affect the output sent to the JavaScript console.

The first preference, javascript.options.showInConsole, will log any errors in your chrome XUL files to the JavaScript console when set to true. By default, this option is set to false, so you will need to change the value. The second preference, javascript.options.strict, will display strict JavaScript warnings in the JavaScript console. Again, this is set to false by default. Since many developers do not turn this preference on while developing, you will most likely see a number of errors and warnings with their code (so they can be safely ignored).

The future is now...

For you extension developers, there is also a very exciting feature available in Firefox 1.5, Dynamic Development, which allows an extension to refer to a set of files locally on a disk without the need to repackage and reinstall the XPI during development. Changes are loaded each time, at runtime.

About this article

written on
posted in ProgrammingWebOpen-SourceJavascript Back to Top

About the Author

Andrew Turner is an advocate of open standards and open data. He is actively involved in many organizations developing and supporting open standards, including OpenStreetMap, Open Geospatial Consortium, Open Web Foundation, OSGeo, and the World Wide Web Consortium. He co-founded CrisisCommons, a community of volunteers that, in coordination with government agencies and disaster response groups, build technology tools to help people in need during and after a crisis such as an earthquake, tsunami, tornado, hurricane, flood, or wildfire.