Brick is for reusable UI elements; unlike Polymer, it doesn't use custom elements to solve non-UI problems.
Brick uses vanilla syntax for the creation of custom elements, where "vanilla" means "as defined in the relevant standards." Brick uses the platform.js polyfill from the polymer project.
We have very specific goals for Brick- to make building
webapp interfaces easier. There are other projects that
use the same technologies (like Google's excellent
Polymer) that provide a more complete web application
development solution. The motto on the Brick project is
"strong opinions, tightly scoped"- meaning we don't
intend to solve the problems of code stucture, module
loading, data binding, or really any other problem other
than webapp interfaces.
... the rising popularity of Google's Polymer and its
syntax for describing Custom Elements grew, and when
users came to contribute to Brick and x-tag, they found
themselves facing an unfamiliar syntax and an underlying
library that was frequently not well documented. The
decision was made that if users encounter Custom Element
registration syntax, it should be the standards-based
syntax. Brick components are now written in a 'vanilla'
style, using the standards-based APIs directly.
They're not directly comparable. One is a collection of components, the other is a helper library.
Polymer is a library that helps you write web components with some sugar around data-binding, templating, attribute handling, mutation observers and such.
Brick is a set of concrete components written against the raw web component APIs.
I've shuffled through all of them and, near as I can tell, there really isn't one. They're very early in development, not aesthetically pleasing, and offer limited functionality.
Brick uses vanilla syntax for the creation of custom elements, where "vanilla" means "as defined in the relevant standards." Brick uses the platform.js polyfill from the polymer project.
From http://brick.readme.io/v2.0/blog/welcome-to-mozilla-brick