As a front-end developer, how should I realize what is the minimum version of Firefox, Chrome, Safari, and etc that my web app should support? Should I consider all the users would use the last stable version? If not, how many older versions should be considered?
P.S. I faced this question wen I decided to use CSS grid display and my colleagues believed some users' browsers may not be updated to support this feature.
I have created an Opera extension, but have a question about the "manifest.json" file.
Specifically, I'm not sure what version I should put in "minimum_opera_version".
According to the documentation (which all points to the chrome developer API), based on the API calls I make the minimum version is Chrome 26.
However what version of Opera is that? How can I figure out what minimum version of Opera the extension requires?
Opera stable is now at version 49. First ChrOpera was ver 15. It's mainly those on XP that might need to resort to a much older build than current. You don't need to state minimum_version at all in the manifest.
The minimum_opera_version usually depends on the APIs you use in your addon. For example if you use Alarm API in your add-on then check from which version of Opera does the support for Alarms API exists and configure accordingly.
-> https://dev.opera.com/extensions/apis/
I built an extension for Chrome and Firefox and I am going to release it, soon. Do I have to check for the browser version the user is running or do the stores of Chrome/Firefox automatically check which version is needed and set this as a condition for downloading the extension?
Both browsers offer you a way to specify a minimum browser version in the extension's manifest.
For Chrome: minimum_chrome_version manifest key.
For Firefox (note, this will make the manifest incompatible with Chrome): applications.gecko.strict_min_version manifest key.
I'm not aware as to what happens on first install if the latest update requires a higher version, but an older version that fits exists - needs testing whether an older version will be offered or it will be marked as incompatible.
In case of automatic updates, the users will be stuck on last compatible version. Which makes it slightly problematic to inform them of this..
I am working on a chrome extension that plans to use Chrome's upcoming API chrome.commands for defining global keyboard shortcuts.
This API will possibly be released in Chrome 25 (says here) and it is currently available in Canary, Dev and Beta. (have tested on Canary but not tried on Dev or Beta yet).
My question is: is there a way to enable this API in the current stable version of Chrome? I have tried enabling "Experimental Extension APIs" but that is not helping.
If you look at Source Code of Say 23.0.1248.0 here, you do not find references for these code!, So they are undefined in any older revisions.
There are tools for developing cross-platform browser plugins.
Are there any similar tools or APIs for browser extensions (i.e. toolbars, or filter systems like AdBlock)?
Yes, but unfortunately each one has significant drawbacks.
Kynetx supports IE, Firefox, Safari, and Chrome, but extensions are dependent on the Kynetx extension to work. In addition, Kynetx apps are built using an odd, proprietary Kynetx Rules Language. There is no cost to use the Kynetx platform. UPDATE: Kynetx has shut down
WebMynd supports IE, Firefox, Safari, Chrome, and is in private beta. From what I have been able to determine, WebMynd is a very small San Francisco-based startup that is still getting off the ground. Their library is standalone and provides a Javascript API, and they use a monthly billing model. UPDATE: company pivoted, now for mobile, trigger.io
Crossrider supports IE, Firefox, Chrome and Safari. Recently out of beta (as of June 2012), Crossrider is free and offers a jQuery-based development experience. Publishing methods for your extensions include an embeddable website widget, download links, and a customized windows installer. However, CrossRider does not allow you to self-host your plugin files. UPDATE: As of 27.09.2016, CrossRider is terminated and it will be available only until 27.10.2016.
KangoExtensions supports IE, Firefox, Chrome, Safari, Opera. Seems very new and bleeding edge, like Crossrider, also looks promising. UPDATE: No updates in over two years.
IE and Firefox seem to be the hardest to develop for, although Mozilla JetPack aims to greatly simplify Firefox extension development.
There is also very young framework for cross-browser development called BabelExt, from the author of Reddit Enhancement Suite. I like that it builds restartless Jetpacks for Firefox.
See more on github, https://github.com/honestbleeps/BabelExt
Mozilla has recently introduced WebExtensions API. For now it's actually almost a copy of Chrome Extension API (but some APIs aren't implemented yet). It has been introduced just a few days ago so it still has a lot of problems and unsupported APIs. But if you're interested in writing extensions for Chrome, Opera and Firefox you should pay attention to the state of WebExtensions API.
UPD 27.10.16. There is a page Are-we-WebExtensions-Yet which summarises the current state of WebExtensions. By their current estimate 44.99% extensions from Chrome store should work in Firefox.
ExtensionMaker is another one project related to cross browser extensions development. It is not a real framework. It is kinda IDE that allows you to design basic extensions.
Of course, it is not suitable for a serious projects. But I like the idea.
Full featured version is available for free. There is just small limitations on the way of using generated extensions.
Yes, the browser extensions development company has a framework-one code for all browser views