Google Chrome extensions

Extensions are small software programs that can modify and enhance the functionality of the Chrome browser. You write them using web technologies such as HTML, JavaScript, and CSS.

Extensions allow you to add functionality to Chrome without diving deeply into native code. You can create new extensions for Chrome with those core technologies that you’re already familiar with from web development: HTML, CSS, and JavaScript. If you’ve ever built a web page, you should feel right at home with extensions pretty quickly.

 

Getting Started

The very first thing we’ll need to create is a manifest file named manifest.json. The manifest is nothing more than a JSON-formatted table of contents, containing properties like your extension’s name and description, its version number, and so on. At a high level, we’ll use it to declare to Chrome what the extension is going to do, and what permissions it requires in order to do those things.

Manifest

 

{
  "manifest_version": 1,

  "name": "Name of Your Extension",
  "description": "About your Extension",
  "version": "1.0",

  "permissions": [
    "https://google.com/"
  ],
  "browser_action": {
    "default_icon": "icon.png",
    "default_popup": "popup.html"
  }
}

 

Resources

You probably noticed that manifest.json pointed at two resource files when defining the browser action: icon.png and popup.html. Both resources must exist inside the extension package.

  • icon.png will be displayed next to the Omnibox, waiting for user interaction.
  • popup.html will be rendered inside the popup window that’s created in response to a user’s click on the browser action. It’s a standard HTML file, just like you’re used to from web development, giving you more or less free reign over what the popup displays.
  • popup.js – popup.html requires an additional JavaScript file in order to do the work.

You should now have four files in your working directory: icon.png, manifest.json, popup.html, popup.js. The next step is to load those files into Chrome.

 

Load the extension

Extensions that you download from the Chrome Web Store are packaged up as .crx files, which is great for distribution, but not so great for development. Recognizing this, Chrome gives you a quick way of loading up your working directory for testing. Let’s do that now.

  1. Visit chrome://extensions in your browser (or open up the Chrome menu by clicking the icon to the far right of the Omnibox: The menu’s icon is three horizontal bars.. and select Extensions under the Tools menu to get to the same place).
  2. Ensure that the Developer mode checkbox in the top right-hand corner is checked.
  3. Click Load unpacked extension… to pop up a file-selection dialog.
  4. Navigate to the directory in which your extension files live, and select it.

If the extension is valid, it’ll be loaded up and active right away! If it’s invalid, an error message will be displayed at the top of the page. Correct the error, and try again.

 

Samples

 

Some Useful Flash API

Google Map

This API allows you to add interactive Google Map in your flash content. This API is not only alternative to JavaScript map API, but it also provides ability to mix flash content with Google Maps (like using MovieClips as marker).

Documentation and download: http://code.google.com/apis/maps/documentation/flash/

YouTube API

This API is useful to integrate YouTube content in flash unit. There are separate APIs for data, Player, Custom player, Widgets.

Documentation and download: http://code.google.com/apis/youtube/overview.html

Papervision 3D

Papervision is most popular open source realtime 3D engine for Flash.

Download: http://code.google.com/p/papervision3d/

Sandy3D

Sandy3D is another open source 3D API for flash AS2, AS3.

This 3D engine main features are :

  • Viewing volume clipping for perfect interior scenes rendering
  • Advanced shading effects such as (Phong, Gouraud, CelShading, flat shading).
  • Material system to easily change your objects appearance. Several material are available allowing to create transparent faces, bitmap texture and video texture as webcam video stream.
  • Flash player 7 to 10 compatibility.
  • Complete set of parsers to handle various set of 3D formats (Collada, 3DS, ASE, MD2)
  • Several 3D primitives, allowing fast and parameterized object creation without any 3D modelisation knowledge.

Download: http://flashsandy.org/download

Away3D

Away3D is next generation realtime 3D engine for Flash. Away3D is very advanced and uses GPU rendering, Create stunning 3D environments with highly detailed texture, Animate and transform all types of 3D objects, including 3D Text, Get the best performance from the Flash Player with proven Away3D optimization techniques, without compromising on visual appeal.

Download: http://away3d.com/downloads

Facebook API

Facebook API for Flash, Flex and AIR. This is class library created by gskinner.com that communicates with Facebook using the OpenGraph API.

Download: http://code.google.com/p/facebook-actionscript-api/

More Resource: http://www.adobe.com/devnet/facebook.html

Tweener API

Tweener class is useful for creating code based dynamic animations and transitions.

Download: http://code.google.com/p/tweener/

Documentation: http://hosted.zeh.com.br/tweener/docs/en-us/

Greensock Tweening Platform

Amazing code based tweening platform for all. This is having various options like TweenNano, TweenLite, TweenMax which gives you ability to add amazing code based animation, filter effects in your project.

Most exciting part is interactive demos where you can set parameters and it will instantly gives you code.

This API is available in AS2 and AS3.

Document, Downloads and Resources at http://www.greensock.com/v11/

Box2D API

Box2D is very popular physics engine for flash game developers. It’s useful to create Ragdolls, Compound Shapes, Joints, Continuous collision detection and many more features. This can actually add life to your flash project.

Download: http://sourceforge.net/projects/box2dflash/

Documentation: http://www.box2dflash.org/docs/

Stardust Particle Engine

Stardust is wonderful particle engine for flash. It is useful for creating 2D and 3D particle effects. Some of my personal favorites are waypoints, exploding image and star fireworks.

Download and Documentation: http://code.google.com/p/stardust-particle-engine/

amMAP

AmMap is a tool that lets you have good-looking and functional maps on your website. The tool use Adobe Flash technology for a compelling online experience. You can display maps in any HTML page (web page), or inside another Flash movie. You can also use the maps in PowerPoint presentations.

Download: http://www.ammap.com/download

Documentation: http://www.ammap.com/docs/

Giggya API

Giggya is a perfect tool for sharing your flash content on social network like Facebook, Twitter, LinkedIn, Yahoo!, Google Buzz, Windows Live, opened etc.

Gigya’s “wildfire in widget” lets you add sharing in flash AS2/AS3/Flex project. Here you can select theme, choose network sites, customized height and width, show/hide bookmarks, show/hide email and customize many more features and after that all you have to do is copy code and paste is in your flash project. (you need to sign in to http://www.gigya.com/ to do this)

Documentation: http://developers.gigya.com/

WiiFlash API

Ever think of playing flash games with Wiimote? If yes, than this is the API for that. This consist of two parts WiiFlash Server (for getting input from Wiimote and send it to Flash and vice versa) and WiiFlash ActionScript API (for using Wiimote events in Flash)

Download: http://code.google.com/p/wiiflash/

FLARToolKit

FLARToolKit is a AS3 version of ARToolKit, which is a software library for building Augmented Reality (AR) applications. FLARToolKit recognize the marker from input image and calculate its orientation and position in 3D world.

Download, Resource, Examples: http://www.libspark.org/wiki/saqoosha/FLARToolKit/en

Player.IO

Player.IO is a support tool service for multiplayer game, database service, connectivity for Facebook, solution for in-game payment. It supports AS3, .NET and Unity3D.

It’s one stop solution for those who are looking for affordable multiplayer game serving.

Download: http://playerio.com/download/

Documentation: http://playerio.com/documentation/

Come2Play

Come2Play platform is for single player as well as multiplayer. It’s having features like leader board, viral messaging, in-game money, banner ads, and lobby for multiplayer games.

Download and Resources: http://www.come2play.com/developer.asp