How can I develop a Google Chrome extension without constantly repacking it? - google-chrome

I remember reading about a way to develop a Google Chrome extension without constantly repacking it. In Firefox this is done by creating a soft link between the extensions directory and where your development directory is. I've forgotten the method to do this with Google Chrome and can't seem to find it when searching.
Also, if you know the answer to this question you've probably done some Chrome extension development, so I'll ask (as a bonus), what are the most valuable tools for developing a chrome extension - the ones that just make your life so much easier?
ps: The developer tools look nice. How can I log things inside a script (console.log?) and where do I see that output? Doesn't seem to be showing up here:

Enable developer mode on chrome://settings/extensions and hit load unpacked extension.
The most valuable tool for me is the build in developer tools.

Related

Creating a chrome extension with web application features

I just started learning how to build a basic chrome extension. I see many chrome extensions which have extensive functionality like a full fledged web app. For example, when I click on a particular chrome extension, it opens a new tab with a URL chrome-extension://gibberish/filename.html. This page functions like a complete web app. Here is an example chrome extension which does image compression:
From my research, it looks like a combination of chrome extension development bundled with NodeJs. But, I am unable to find enough information about this to find a course to learn myself. If I had to develop a similar application, where do I start? Can any web application be transformed into a chrome extension or is there a specific way to go about it?
Any guidance will be much appreciated. Thanks in advance.

Why does developing a firefox extension involve installing an sdk?

I'm currently trying to port a Chrome extension into a Firefox add-on, but the development process is incredibly different, and the part in particular that I find confusing is why I should have to install an SDK.
How are these two so different? Do Firefox add-ons run faster because they're precompiled? Why aren't firefox add-ons just HTML and javascript like (some) Chrome ones?
What's going on behind the scenes here that involves using so much command line just to get a firefox addon started?
The SDK exists to help developers build their extentions, but if you don't want to use it there is also a way.
You can use web extensions which as the wiki says have their benefits:
Porting add-ons to and from other browsers should be easier.
Reviewing add-ons for addons.mozilla.org should be easier.
WebExtensions must be compatible with multiprocess Firefox (Electrolysis).
Changes to Firefox's internal code should be less likely to break add-ons.
WebExtensions should be easier to use than the existing Firefox XPCOM/XUL APIs.
I don't have personal experience with web extension but it seems to be promising for someone who does not want to use SDK and the benefits ofthe web extensions are that they support an enrich manifest document and you only need to zip your extension and run it.
There are some examples on github to get started.

Screencast Recording extension for chrome using chrome native client

I am new to chrome extension development.
I am trying to make an extension for recording screens and audio.
I searched a lot, and looked into some existing extensions like "MediaCore Capture" and "ScreenCastify". It seems they are using some NaCl (Native Client libraries).
I tried debugging but I am not sure what exactly flow they are using..
Then I came across a github repository "https://github.com/aaerox/inspire/" There I found some same sort of code..
I found some nexe and pnexe files also...
On more debugging "MediaCore Capture" code, I found it is also using some nexe.. which I now understand is some compiled native code...
Can anyone help how these can used ?
Or is there anything else that I can use for my extension..
I tried using ffmpeg_asm but it was very slow in merging audio and video streams.. so I am looking into some faster solution.

Execute Shell Command, and read it's output in Chrome Packaged Apps

I need to develop a Chrome Packaged App that will work as a UI for a console application.
For this I need to find a way to be able to execute that console application inside my Packaged App and read it's outputs.
This is a simple task to do in another platforms such as .NET (which I use nowadays).
I've googled everywhere and searched here on Stackoverflow, but I can't seem to find anything related.
The only interoperability I found is NPAPI, (which is about to be discontinuead). So...
Does anyone have a knowledge about this and could give an example or documentarion on how to achieve it?
Thanks!
There's a feature as part of Chrome extensions that might suit you needs called native messaging.
http://developer.chrome.com/extensions/messaging.html#native-messaging-client

Silently install voices for a ttsEngine extension

I'm creating a speech extension for my webpage in order to make it accessible for blind people. This works good so far, now I wanted to have the two voice engines I picked installed automatically. And this has proven to be really difficult:
I've been through tons of info on how to approach this. The easiest way would be to just open the voice (ttsEngine)'s web page in the Chrome store - but then the blind people would have to go through all this hassle as well.
Most other approaches require computer permissions I do not have, e.g. messing with the user's file system or registry.
My question: Is there really no easy way to require, include or preinstall another extension for your extension, so it installs in the background (silently)?
Thanks for hearing me out and providing some help!
Kind regards,
Roman
Do you have permission to modify / extend / redistribute the other extensions? they could probably be merged into a single extension with your code, if for example they are open source.
I have also posted this issue in google groups's Chromium-extensions, there the result was that such a thing is not (yet?) possible with extensions only.
It is true that if they were open source I could maybe include them into my project, yet these are not.
For now it seems I have to either do it with "management" like suggested in the link or create an installable that messes with the Chrome extensions.