Category Archive: JavaScript
April 3, 2009

UPDATE: Oct 20, 2010

Since writing this article I have been working on FirePHP 1.0 and a new client tool to achieve the kinds of things I describe below much more easily. The new tool is called FirePHP Companion and aimed at streamlining the PHP development workflow. There is still a lot of work left to do, but you can already take a look at how the demo provided here can be implemented easily with FirePHP Companion.

As mentioned in a previous post I wrote a column for php|architect about how FirePHP can be used for Ajax development. I am re-publishing the complete article here. Enjoy!

FirePHP for Ajax Development

There are many integrated development environments and tools available to aid in building Web 2.0 AJAX applications with PHP, but nothing comes close to the ease of use and tight Firebug integration that FirePHP provides.
PHP: 5.2+
Other software: Firefox, Firebug
Useful/Related links:

My purpose in this column is to introduce you to FirePHP, the problem it solves, and how it is intended to work within your application for maximum benefit. I will present some useful high-level knowledge to make it easier for you to integrate FirePHP into your application.

This is not a step-by-step tutorial. I have made a complete demo available for download, along with some useful libraries illustrating all the concepts covered here. I want to emphasize that the demo is only one possible implementation. There are many other possibilities.

Continue reading »

February 26, 2009

I finally had a bit of time to look under the hood of Bespin. Hacking around on a new piece of software is like raiding a candy store if you have a sweet tooth. Especially when it is as concise, well thought out, and implemented in JavaScript like Bespin.

What sealed the deal for me was the result I got when I applied a 10 minute inspect-search-edit-refresh technique I use when learning the ropes of a new architecture and implementation. Lets call this technique “dive and swim”.

Before I get into what got me excited I am going to give you an insight into how I approached this new candy store called Bespin.

Continue reading »

February 20, 2009

I recently discovered a new Mozilla Labs project called Bespin. From the release announcement:

Just as Mozilla enables massive innovation by making Firefox open on many levels, we hope to do the same with Bespin by developing an extensible framework for Open Web development. We’re particularly excited by the prospect of empowering Web developers to hack on the editor itself and make it their own.

I encourage you to check out this project. It’s in a very early stage of development, so don’t expect to switch IDE’s any time soon, but based on the amount of interest it has already generated the project is going to evolve quickly.

Continue reading »

January 16, 2009

Integrated Development Environments in general and Eclipse/Aptana Studio specifically provide tree-based project explorers used to locate and launch files by displaying the file system that contains your project code. Typically the simple directory and file tree is marked up with:

  • Icons for different file extensions
  • Version information about the directories and files if connected to a version control system
  • Context menus specific to each directory and file

This widely accepted approach to represent code files in a project has worked well in the past because projects and project components were typically:

Continue reading »

September 10, 2008

I have more domplate goodness for you. First of all keep in mind that domplate only works in Firefox right now. I will be making it cross-browser soon! Also, it requires some plumbing code if used outside of Firebug that I will be removing as well.

This post is about the variable substitution and variable formatter functionality in domplate. I will start by showing you what you can do with the domplate implementation that is shipped with Firebug and then tell you about a little enhancement I made on my own copy.

Continue reading »

September 7, 2008

I have been working on trying to understand the magic behind domplate, the template system that is shipped with Firebug. Apparently nobody knows much about it and there is no documentation.

As part of my domplate project that is aimed at making the template system available for general use in the browser (and yes there will be documentation) I have begun by adding some debug logging capabilities.

Continue reading »