Converting Firefox Extensions

Both Firefox and Safari provide an extensions API, but the two APIs have substantially different functionality. As you bring your extension to Safari, you may find that some of the features you used in Firefox are in a different place in Safari, or are not available. You may still be able to bring your extension to Safari—consider the core functionality of your extension and determine how you can expose that functionality using the API that is provided. You should also examine the functionality provided in Safari that you didn’t have in Firefox, to understand how you might use it to improve your extension.

To start developing Safari extensions, just enable extensions from the Develop menu; there is no special setup procedure. Safari extensions are written using HTML5, CSS3, and JavaScript; the information stored in RDF and XUL files for Firefox extensions is stored in the Info.plist file for Safari Extensions. This file, which you create and edit using Extension Builder, contains all the metadata about your extension and a description of its user interface.

Extension Builder, which is part of Safari, serves as a central tool during every stage of extension development. You use Extension Builder to:

Safari extensions must be digitally signed before they can be installed. To get your signing certificate, visit the Safari Dev Center.