# Vaadin Components
Vaadin Components is an evolving set of custom HTML elements, built using [Polymer](https://www.polymer-project.org), for building mobile and desktop web applications in modern browsers.
For contributions and issues, see the project‘s [Github repository](https://github.com/vaadin/components).
### Component examples and documentation
View live examples and source code side-by-side for individual custom elements.
| Component | Description | Features |
| --- | --- | --- |
| <**vaadin-grid**>
[API](http://vaadin.github.io/components-apidoc/#vaadin-grid) | Data grid for showing large amounts of tabular data. | Lazy-loading, virtual scrolling, frozen/fixed columns, customizable headers and footers, custom cell renderers, touch support, keyboard navigation, sorting
### Quickstart
Get a quick test-drive of the custom elements by forking one of the following JSFiddles:
- <**vaadin-grid**>
- [Data generated on-the-fly](http://jsfiddle.net/jounik/tvk1235r/)
- [JSON data from a URL](http://jsfiddle.net/jounik/tLour4gv/)
### Installation
We offer three ways to use Vaadin Components in your project: Bower, CDN and ZIP archive. The only difference between the options is the URL you use to import the necessary files into your HTML page.
#### 1. Create a new folder for your project
```shell
$ mkdir my-project
$ cd my-project
```
#### 2. Install Vaadin Components
- ##### Bower
We recommend using [Bower](http://bower.io) for managing your front-end dependencies. Follow the [Bower installation instructions](http://bower.io/#install-bower), then run the following command inside your project folder to install the most recent stable release.
```shell
$ bower install --save vaadin-components
```
This will download Vaadin Components and its dependencies to the `bower_components` folder inside your project's folder.
If you want to experiment with current development code, download the snapshot version running:
```shell
$ bower install --save vaadin-components#master
```
- ##### CDN
You can use Vaadin Components from CDN (see example below). This is especially convenient for services like JSFiddle, Codepen.io, etc.
`https://cdn.vaadin.com/vaadin-components/0.3.0-beta7/vaadin-grid/vaadin-grid.html`
_*Note*: that we have a fragment in the url with the version to use, so you could for instance replace it with the snapshot version_
- ##### Download ZIP
1. Download the latest ZIP archive from [vaadin.com/download](https://vaadin.com/download#components)
2. Extract the archive under your project folder, for example `deps`
#### 3. Create a HTML file
Create a new HTML file inside your project folder and copy the following code into it (choose one of the options how to import Vaadin Components in the `` section):
> **Note on serving the files during development**, when using Bower or the ZIP archive:
> Due to browser security restrictions, serving HTML imports from a `file:///` URL does not work. You need a web server to view pages where you use custom elements. One simple option is to use the [`serve`](https://www.npmjs.com/package/serve) NPM package.
```html