Tips / Resources for building a Google Chrome plugin [closed] - browser

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
After test driving Google Chrome for 30 minutes or so, I like it, even if it seems bare-bones at the moment. The obvious way to add a few things I can't live without would be through plugins. Does anyone have any links to resources on how to get started building a plugin/addon for Chrome? Thanks.

Matt Cutts (the Google
SEO guru) has a Q&A about chrome, and
writes about it:
Q: But I can’t install extension X! Google Chrome is dead to me if I can’t use extension X!
A: Then you’ll have to use another browser for a while. Google Chrome currently doesn’t support browser extensions (it does support plug-ins, such as Flash). I’m sure that extensions/add-ons are something that the Chrome team would like to do down the road, but the Chrome team will be a bit busy for a while, what with the feedback from the launch plus working on Mac and Linux support. I’d suggest that you give Google Chrome a try for a few days to see if enjoy browsing even without extension X. A lot of really cool extension-like behaviors such as resize-able textareas and drag-and-drop file upload are already built into Google Chrome.

Q: But I can’t install extension X! Google Chrome is dead to me if I can’t use extension X!
A: No worries! Now google chrome has extensions too. Look here.
If anyone's interested in chrome extension development here is a link to the latest extension developers documentation page for Google chrome.
NOTE: Plugins (NPAPI) and extensions(JS Based) are not the same
From the doc...
Extensions are small software programs
that can modify and enhance the
functionality of Google Chrome.
You write them using web technologies
like HTML, JavaScript, and CSS. So if
you know how to write web pages, you
already know most of what you need to
know to write extensions.

Chromium supports NPAPI plugins which is harder to program compared to Firefox extensions. However NPAPI has better performance and is more versatile.
Checkout this minimalistic example of an NPAPI plugin.

Chrome does support the netscape plugin api, but that is for displaying certain kinds of content.
You seem to be after a extention api, really firefox is the only major browser to encourage and support third party extentions to browsing capability (that aren't simply new toolbars)
Nothing in the developer documentation points to a browser enhancing api - google seem to want to keep a tight reign on the look and feel of the application.
You might find a more conclusive answer on the development site:
dev.chromium.org, and some of the developers might be on irc on #chromium on freenode.

Chrome now supports extensions and themes. Here is the documentation for developing extensions, and this is a page which describes theme creation.

The accepted answer is out of date. A couple of useful URLs:
For developers: http://developer.chrome.com/extensions/index.html
For end users: https://chrome.google.com/webstore/category/home?hl=en-US
There's a difference between a 'plugin' and an 'extension'. Chrome supports NPAPI plugins:
http://developer.chrome.com/extensions/npapi.html
Chrome may also support a new Pepper Plugin API (ppapi):
http://code.google.com/p/ppapi/

Related

Framework for cross-browser toolbar development

I am looking for a framework with which I can create browser extensions (namely a toolbar), for all browsers (IE, Firefox, Chrome).
I have searched for a relevant solution, but none which I found were what I need:
CrossRider - no good since it can't be self-hosted. The same would apply to companies like Conduit, and nearly all other solutions I've encountered.
Kango - this does look exactly like what I need, but the license is too expensive IMHO.
Does anyone know a framework which will allow development - using js & html - of a cross-browser toolbar?
I've never tried it myself but I remember a colleague of mine talking about firebreath a while ago.

Development environments for google-chrome-extension

Currently I am coding my google-chrome-extensions using a combination of notepad and the chrome console. I am 100% sure that there is a better way of programming these extensions. What environments are people using?
I'm using Notepad++ which works beautifully.
You might consider trying the crossrider beta to build cross-browser extensions. I've found the experience on Chrome superb so far.
Your preferred IDE (eg. NetBeans) and Google Chrome (you have to test on something, right?).
You might want to check:
NetBean 7.0 (They have a great version for web development that let you write HTML,CSS and JS with all the great code sniff/highlight/complete stuff)
Eclipse got some good version for web dev (PDT and others).
Notepad++ , UltraEdit, TextPad or any other good editor you like.
As for the debug, profile and test mode - you have the developers tool in Chrome that are excellent. You might want to check out this short video that give lots of useful tips:
http://www.youtube.com/watch?v=nOEw9iiopwI
Good luck!

Google Chrome extensions

Is there way to run native C/C++/Obj-C within a google chrome extension, The official page says extension are like other web pages, as i see it there is no way except Native Client(NaCl). Is this technically possible.
I believe that you are looking for NPAPI plugins. Do not take lightly the warning, however:
NPAPI is a really big hammer that should only be used when no other approach will work.
Why does your extension need C/C++/Objective-C, exactly?
Re: OP comment
Check out this question!

Getting started with Gmail Plugin development

I would like to get into Plugin development using the Gmail API and as such I would like to ask those who already have experience in it a few questions.
What language / languages should I be familiar with? I'm not familiar with Python, PHP, or JavaScript. Will I need to pick up on these?
What level of control do I have on what my plugin can do? Can I for example change the interface or add shortcuts or RSS feeds as a sidebar?
I know a lot of the examples mentioned already exist but I would like to try my own hand at it.
Peter posted a solid list of the official Gmail APIs.
On the other hand, most of the major plugins that you may have heard about are browser plugins that just modify the page source directly, even though there's no official API for it. There used to be a GreaseMonkey API that was a good starting point, but that wasn't supported and no longer works. Best place to start is with a copy of Chrome, creating a content-injection plugin that works on the Gmail page.
Happy to provide some further details if you can clarify what you're going for since I went through this myself a few months back.

Development for unstable versions of Chrome?

I would like to know what the members of this great community think of developing and adjusting their web apps and sites in general to recent Google Chrome beta browsers on Linux and Mac OS X and of course Google ChromeOS.
Do you think it's too early and I shouldn't waste my time adjusting myself to something that might change due to bugs resolutions?
Thank you.
Since Google Chrome uses Webkit you could also (as an alternative) test against Safari or Konqueror instead. Chances are your test results will be very portable across these browsers.
I think you answered your own question. While it is good to test against multiple browsers, there is very little point in testing against a beta browser - especially one with as little marketshare as Chrome.
With that said, the only reason I could see testing against a beta browser, is that you want your website to look good in it as soon as it is released and becomes mainstream. But, I really only see this need arising for the browsers that, again, are more popular.
Code against the standard, if you code it right the browsers will move toward you - rather than you constantly playing catchup.

Resources