Featherₜₛ
With friendly support of:
A feather-light and fast framework written in typescript with the following features:
- Each component is holding logic, view and model in a single file
- Components are instantiated via CSS selectors, so it's easy to have component-mixins
- Components build a traversable hierarchical tree
- Message hub between components and singletons
- Easy REST consumption
- Routing via hash or history API
- Pure HTML templates without logic and a very simple binding syntax
- Event delegation out of the box
- Written in TypeScript
- No module loaders needed, embed directly via NPM
- With asynchronous decorators no need for promises
- Integrated media query based component views for responsive application design
- Support for modern browsers including IE9 (with polyfills)
- Component trees are initialized in off-screen document fragments for maximum performance.
- Access to up-tree properties without repetitive property clutter
- Generates clean HTML markup without any trace of the framework
- No wrappers required for your data holders
Installation
npm install feather-ts
Requirements
- NodeJS
- TypeScript
- experimentalDecorators=true in your tsconfig.json
- older browsers (IE11-) require polyfills for classlist, treewalker, weakmap and potentially others
Optional
Intellij IDEA plugin for syntax highlighting in templates. This will help you catch spelling errors or wrongly referenced properties inside string literals.
Usage & documentation
Check out the official website
Tests
Feather-ts has a large set of automated tests to make sure each release comes without regressive bugs.
Code examples
An example implementation of the famous todo application can be be found here. Source maps are embedded.
A library of reusable UI components can be found here. This is work in progress so use it only as in inspiration for your own implementations.
Performance
A todo mvc benchmark can be run here with 150 items.