Polymer
The Polymer library provides a set of features for creating custom elements. These features are designed to make it easier and faster to make custom elements that work like standard DOM elements. Similar to standard DOM elements, Polymer elements can be instantiated using a constructor or document creation element, configured using attributes or properties, populated with internal DOM inside each instance, responsive to property and attribute changes, styled with internal defaults or externally, and responsive to methods that manipulate its internal state. Registering an element associates a class with a custom element name. The element provides callbacks to manage its lifecycle. Polymer also lets you declare properties, to integrate your element's property API with the Polymer data system. Shadow DOM provides a local, encapsulated DOM tree for your element. Polymer can automatically create and populate a shadow tree for your element from a DOM template.
Learn more
Choreographer-js
A simple library to take care of complicated animations. You can also add custom functions that do non-CSS animations! Install and save to your package.json, and include it in your Javascript. Brew up some instant scroll animations. Animate based on scroll location, animate based on mouse X location and create multiple animations based on mouse X location. Now you can create an instance of Choreographer, and run the animations based on whatever measurement floats your boat (ex. scroll position, mouse position, timestamp, whatever). The easiest way to understand how this all works is to check out the examples. Bugs will occur if you overlap animation ranges that affect the same style properties! There are two built-in animation functions available, called 'scale' and 'change'. Progress is what allows for progressive scaling of values (ex. smooth fading of opacity, 2d translation, etc.) If the value is between 0 and 1, that means you are within a range.
Learn more
Animate On Scroll (AOS)
Animate on scroll library. In order to make it work, you'll have to make sure your build process has configured styles loader and bundles it all correctly. If you're using Parcel, however, it will work out of the box as provided. AOS object is exposed as a global variable, for now, there are three methods available. Initialize AOS, recalculate all offsets and positions of elements (called on window resize), reinitiate the array with AOS elements, and trigger refresh (called on DOM changes that are related to AOS elements). By default, AOS is watching for DOM changes and if there are any new elements loaded asynchronously or when something is removed from DOM it calls refreshHard automatically. In browsers that don't support MutationObserver like IE, you might need to call it by yourself. You can also tell AOS to trigger a custom event on a specific element. You can also add custom animations.
Learn more
Sencha Ext JS
Sencha Ext JS is a comprehensive JavaScript application framework for building feature-rich, cross-browser-compatible web and mobile applications. It includes a library with 140+ high-performance customizable components, a set of tools and a powerful UI Framework.
Key Features
Rich UI Components – Includes a variety of pre-built UI elements such as grids and trees, menus and toolbars, forms and buttons, etc.
Cross-platform compatibility - Supports major desktop and mobile web browsers including IE Firefox Chrome Safari and Opera.
Data Packages – Includes data components to interact with various data sources including JSON, XML and database connections.
Theming and Skinning - Allow easy skinning and theming of the UI with CSS.
Development Tools - Includes an extensive set of development tools including a visual designer and debugger.
Large Community - Has an active and large community of developers who provide support, extensions, etc.
Learn more