The programming language and development tools behind a browser toolbar vary from one browser to another. In
Internet Explorer 5 or later, toolbars may be created as
browser extensions written in
C# or
C++. More specifically, it is possible to create up to three different kinds of toolbars (custom explorer bars, tool bands and desk bands) and to combine them with
browser helper objects in order to provide added functionality. In
Firefox, toolbars can be created as
add-ons that contribute to the
GUI by extending the browser with
XUL (support for XUL was removed in Firefox version 57). The logic behind the toolbar is written in
JavaScript running under expanded privileges. Mozilla Jetpack can be used to simplify the development of add-ons for Firefox. In
Safari 5 or later toolbars can be created as extensions that add bars and buttons. The logic behind the toolbar is written in
JavaScript with access to a special JavaScript API to interact with the Safari application and web content. In
Google Chrome 4 or later, toolbars can be created as extensions that add browser actions to the browser window. The logic behind the toolbar is written in
JavaScript with access to a special JavaScript API to interact with the Chrome application and web content. The privileges under which a Chrome extension runs are governed by a set of permissions. In
Opera 11 or later, toolbars can be created as extensions that add buttons to the browser window. The logic behind the toolbar is written in
JavaScript with access to a special JavaScript API to interact with the Opera application and web content. In Firefox, Chrome, Safari and Opera toolbar styling is done though
CSS.
Native vs. injected toolbars Some major browsers (Internet Explorer and Firefox) enable the creation of native toolbars i.e., toolbars which are directly inserted in the browser window. Examples of native toolbars are Google Toolbar and
Stumbleupon Toolbar. Native toolbars use browser-specific code to create the same toolbar for each different browser version. Some toolbar developers use a different approach and make the browser extension inject a
JavaScript file in every web page visited by the user. All major browsers support injected toolbars. The code in this file inserts the toolbar as a part of the
DOM in every web page. Injected toolbars use essentially the same JavaScript code to draw the toolbar for each different browser version. Each approach has advantages and disadvantages for the different stakeholders. From the user's perspective: • Native toolbars present faster load times, since injected toolbars must wait for the
DOM to be created in order to insert the toolbar in it. • Injected toolbars require less frequent updates because part of their code is dynamically downloaded in the JavaScript file that draws the toolbar. From the developer's perspective: • Injected toolbars allow for shorter development times since the
JavaScript code that creates the toolbar may be written once for all browsers. • Injected toolbars allow for an easier toolbar update policy, since changes that are made in the injected JavaScript code do not require releasing a new toolbar version. From the toolbar owner's perspective: • Injected toolbars consume requests to download the JavaScript code that inserts the toolbar in every page, while native toolbars consume no such requests.
Cross-browser toolbar development Another way to simplify the task of developing a toolbar for different browsers is to rely on a cross-browser extension development framework. Some of the most important frameworks are listed below: • Toolbar Studio supports IE, Firefox. This is an IDE that allows developers to develop toolbars via a visual editor. • Neobars supports Chrome, Firefox, IE,
Safari and
Opera. This is an online web constructor for cross-browser extensions. Multiple widgets like Weather, RSS,
YouTube,
Twitter and Facebook components are available. The platform is free to use. • Add-ons Framework supports IE, Firefox, Chrome, Safari, Opera. This SDK allows developers to build browser add-ons using a common JavaScript API. • Kynetx supports IE, Firefox, Safari, and Chrome, but extensions produced by Kynetx are dependent on the Kynetx extension to work. In addition, Kynetx apps are built using a proprietary Kynetx Rules Language. There is no cost to use the Kynetx platform. • CrossRider supports IE, Firefox, Chrome and Safari. CrossRider is
JavaScript and
jQuery-based. Crossrider also provides an auto-update mechanism for code and analytics for developers to track usage of products. Crossrider has launched an online real-time IDE for developing cross browser extensions without the need to download an SDK. It is free to use. • KangoExtensions supports IE, Firefox, Chrome, Safari and Opera. Kango is only free for open-source non-profitable projects. •
Conduit supports IE, Firefox, Safari, and Chrome. It allows website owners to create site-specific toolbars to simplify site navigation. As it is site-specific, it lacks the flexibility of other development frameworks in this list. Conduit is free to use. • Widdit's toolbar supports IE, Firefox, Safari, and Chrome. The Widdit platform allows publishers to create a free toolbar using a
drag and drop online wizard. Through the admin, publishers can add or remove applications and features in real time and share the toolbar with different communities. • ExtensionMaker supports Firefox, Opera and Chrome. The Extension Maker is a desktop-based tool for creating browser extensions using a drag-and-drop interface. == Removing a browser toolbar ==