First quick impressions of Safari extensions:
- Close enough to Chrome extensions that it won’t take much to port something over. (good)
- Settings API is interesting. I missed the point originally, but apparently Safari will build you a settings page from these. Will probably work for simple settings, but not sure if it’ll scale.
- Different API for buttons/context menus, but no real winner in terms of API design.
- Really don’t like having to get a certificate from Apple to develop. Regardless of Apple’s policies, this is the first browser that you need central approval to deploy to (not IE, Firefox, Chrome or Opera needed it).
- No solution provided to build from command-line (we had to hand-roll one for Chrome too). Browser vendors need to get their act together here.
- The extension builder is a strange experience: you need to drop files in the directory, then head back to the builder to update things.
I can’t imagine it’ll take us longer than a few days to port the DotSpots extension from Chrome to Safari. It’ll take a while for us to integrate this into our automated build process though.