Why there are so few browser extensions developed by npapi? - npapi

I want to develop extensions for some main browsers like chrome and firefox. Extensions written using npapi can work in different browsers, however, there are very few browser extensions developed with npapi. Can you tell me the reasons? Thank you.

Your question confuses extensions and plugins; they are very different, and have completely different goals. You cannot develop an extension using NPAPI, only a plugin. You cannot write a single extension that works across browsers.
If you are asking why very few extensions include plugins, it's because plugins are much harder to write than extensions, are platform-specific, are not necessary for the vast majority of problems that extensions are trying to solve, are much more dangerous to users (since they have access to run arbitrary code on the machine), and aren't even allowed in extensions in some browsers (e.g., Safari).
If you didn't mean extensions at all, and are asking why there are few stand-alone NPAPI plugins, most of the list above still applies.

Related

Are Google Chrome and Chromium equivalent for web design/development?

This is probably a silly question, however: from a Web Design/Development point of view (I mean support for web standards and web technologies), could Google Chrome and Chromium be considered equivalent?
I know that they are essentially the same browser, the former being the branded version of the latter, but they also have some functional differences, and Google Chrome features some additions not present in the base Chromium browser (detailed on the Chromium page on Wikipedia).
They use the Blink engine, which is in turn also used by other Chromium-based browsers like MS Edge and Opera; and all these browsers have an uneven support for many different web technologies, as detailed on https://caniuse.com.
I'm working on a Linux machine, and my distro ships Chromium by default, providing it from its standard repo; for the sake of simplicity and keeping things clean, I would prefer to avoid adding another external repo and install Chrome just for this task, if I can rely Chromium to behave exactly the same and not have any compatibility issue.
Like I said, this question is probably silly, but given the differences between other Chromium-based browsers, maybe this doubt of mine could be justified.
EDIT: Please note that I'm not interested in the differences between Google Chrome and Chromium from an user point of view or in details of their history and so on; I only wish to know if from a website development point of view, they are fully compatible or if they support the same set of features. In other words, if I test a site from Chromium, can I be sure that it will work also in Google Chrome? Do they support the same exact set of CSS, JS (and other web-related technologies) features?
Chromium is an open-source browser project that forms the basis for the Chrome web browser. It's maintained by the Chromium Project, while Chrome is maintained by Google. Aside from code-opennes, the main difference (for your concerning question) between the two browsers is that Google adds a number of proprietary features to Chrome like automatic updates and support for additional video formats. Also added is AAC, H.264, and MP3 support. Giving you acess to a wider variety of media content, like sites using HTML5 to stream H.264 videos. Both browsers include Opus, Theora, Vorbis, VP8, VP9, and WAV codecs. Chrome also includes a sandboxed Adobe Pepper API (PPAPI) Flash plug-in that updates along with.
From a programmatic side, both support Google DevTools protocol with all of the flexibility and possibilities this brings, like browser automation using the popular puppeteer Node.js runtime, allowing you to run automated tests either in head or headless environments. Both browsers use the Blink rendering engine and the V8 JavaScript engine, so both will give you same support for CSS, HTML and DOM parsing/rendering, and same JavaScript compatibility, functionality and performance. So the real difference is if you're developing media-content centric web apps, in that case you will benefit more from Chrome since it includes all of the above mentioned extra plugins and supported formats, all of this makes the web more accessible to it and provides a wider range of things you could do.

Whats the difference between the Chromium Embedded Framework (CEF 3) and Chromium Content API in the context of browsers?

In the use case of building a browser, both seem like tools that could be used to mock up a UI for a chromium browser. Besides CEF being vastly better documented, whats the difference between the two for this use case?
Most APIs around Chromium provides the stable API and/or ABI that Google refuses to provide with their layer. By using CEF, QtWebEngine or any of the other wrappers, you don't have your code break all the time, plus the code actually compiles out of the box, which Chromium sources rarely does except for the exact configuration Google compiles.

more insights on how PWA works

might be very basic question but just wanted to clear out my doubt, since I'm seeing PWA is like alternative for native application.
What if browser fail to read/understand manifest file?
what if user is having other/older browser? (most of the time I see e.g of chrome)
after installation what are the browser dependencies for PWA?
Please guide me with the above.
Thanks
One of the more important concepts in a PWA is that it is built following the principle of progressive enhancement, this means that the website would function ordinarily on older browsers (including Safari) and then gain PWA abilities if the user's browser supports them.
Therefore in answer to your three questions:
Website would function as normal without the option to "Add to HomeScreen"
Same.
The PWA runs using the browser, therefore any functionality supported by the browser will be included in your PWA.

Embed chromium with extension support

I'd like to experiment with building a browser based on Chromium, ideally with support for Chrome-extensions.
I've looked into the Chromium Embedded Framework, which does not include support for extensions.
Are the only options available to either:
reimplement the extension-API on top of CEF; or to
base the project on the Chromium source,
or are there other alternatives?
Are the only options available to either:
reimplement the extension-API on top of CEF; or
to base the project on the Chromium source,
Pretty much. But, as wOxxOm mentions in comments, CEF plans to implement the API - eventually.

Custom Firefox / Chromium install with Pre-installed extension (non enterprise)

i wanted to build a custom browser install that would fit the following specs, i found ways to do it using enterprise deployement, but my intent is to distribute it to friends and family without having to go through the enterprise distribution.
Can be sourced from Firefox or Chromium (or even other as webkit)
Should be easy to customize (ideally no C++ coding)
Should be able to embed extension or hard code the extension within the browser. (i've coded a custom adblock that is lighter and faster than the ones on FF or Chrome store and would also like to embed TOR connection extension)
Remove the ability to install other extensions (i want to ensure this browser cannot be victim of bloatware extensions installs)
Customize UI
Protect the browser against Search engine / HP / New tab settings change.
If you could point me to the right direction it would be awesome and i'll make sure to share this browser's link here once done.
I just saw this in the corner of my eye and figured I'd share this question/answer to possibly help you:
Standard way to build a Chrome extension into Chromium