Skip to content

Latest commit

 

History

History
62 lines (42 loc) · 3.57 KB

File metadata and controls

62 lines (42 loc) · 3.57 KB
layout default
load_polymer true

{% include alpha.html %}

{{site.project_title}} is a new type of library for the web, built on top of Web Components, and designed to leverage the evolving web platform on modern browsers. {: .lead }

{% include downloadbutton.html %}

<iframe id="video" src="proxy.php?url=https%3A%2F%2Fgithub.com%2F%3Ca+href%3D"http://www.youtube.com/embed/videoseries?list=PLRAVCSU_HVYu-zlRaqArF8Ytwz1jlMOIM" rel="nofollow">http://www.youtube.com/embed/videoseries?list=PLRAVCSU_HVYu-zlRaqArF8Ytwz1jlMOIM" frameborder="0" allowfullscreen></iframe>

Quick start

  1. Download the .zip of polymer-all from the link above. If you want to use Git, see Getting the code.

  2. Fire up a web server in your app's directory.

  3. Include polymer.min.js (bundled with the release) in your main page:

     <script src="proxy.php?url=https%3A%2F%2Fgithub.com%2Fpolymer.min.js"></script>
    
  4. Read the Getting Started guide.

  5. Learn how to soup-up your web components using the Polymer core.

  6. Play with the polymer-elements, polymer-ui-elements, and toolkit-ui (also must be run from a web server).

  7. Join the mailing list! Ask questions and give feedback.

What is {{site.project_title}}?

{: style="clear:both" }

{{site.project_title}} comprises two efforts:

  • A set of polyfills for emerging web platform features (Shadow DOM, Custom Elements, HTML Imports). Initially, these core features are enabled as polyfills. As browsers implement these new primitives, the polyfill platform layer becomes smaller and better over time.
  • A next-generation web application framework built upon these core technologies called the {{site.project_title}}.

The architectural stack looks like this:

<iframe src="proxy.php?url=https%3A%2F%2Fgithub.com%2Fimages%2Farchitecture-diagram.svg%3F%7B%7B"now' | date: "%Y%m%d"}}"></iframe> Architectural Diagram

Guiding principles

The overall aim of {{site.project_title}} is to manage the complexity of building web applications. Our principles are:

Everything is a component — Encapsulation is the key to creating scalable, maintainable applications. All {{site.project_title}} resources are components, even ones that are non-visual. To construct an app, a developer creates new components, or uses ones {{site.project_title}} provides, and assembles them together. Focusing on individual, composable building blocks allows developers to "think locally" about their application, reducing complexity. With this divide-and-conquer approach, applications can simultaneously be simple and arbitrarily complicated.

Extreme pragmatism — Developers should write the minimum amount of code possible to create their application. Anything repetitive should be re-factored into a component, handled by {{site.project_title}} itself, or added into the browser platform itself. {{site.project_title}} provides simple syntax without reducing features, and avoids boilerplate wherever possible.

Salt to taste — Use as much or as little of the framework as you wish. An application can choose to only load polymer-all/platform/platform.js to take advantage of the polyfills, or add polymer-all/polymer/polymer.js to provide extra batteries for web components. We call these types of elements "{{site.project_title}} elements".