This weekend I spent some time playing around with the Google Chrome Extensions API (aka plugin API). I've been kicking some ideas around for a browser plugin, and I thought I would take a look to see how hard it would be to write a Chrome extension. I took a look at developing a Firefox plugin before, but the (apparently) steep learning curve caused me to turn my attention elsewhere.
The documentation for the Extensions API is very well written and well organized. They even have some good tutorial videos to explain some of the more complex parts.
It's really easy to start creating a plugin (hello world!). A minimal plugin requires only a directory containing three files: a simple manifest file in JSON format, an HTML page containing the plugin code, and an icon file. The exploded plugin directory can be loaded/reloaded directly from the Chrome extensions tab, and Chrome even has a built-in tool for signing and packaging the plugin.
APIs and development
Coming from a Java background, I'm pretty impressed by the easy availability and polish of these tools. In the Java world you need a full-blown IDE to get tools like this, and even then they don't always play nice together or are not that easy to get running. Of course they're not as sophisticated, but it's nice that these are available in every browser without having to tinker around with configurations or install any additional plugins. The polished look and feel of the tools probably comes from the influence of the Apple developers who originally created WebKit (from Konqueror).