Catberry
Catberry was developed to help in creating "isomorphic" Web applications. Isomorphic applications are apps that use the same codebase to run from both server and client-side environments.
This means you write the code only once, and deploy it the way you want. Catberry handles all the differences between these two environments.
You will get Single Page Application using browser's History API. And back-end that renders exactly the same page on the server.
Here you can find full Catberry Documentation.
To get started with an example, please proceed to Get Started Guide.
If you want to try TodoMVC application, proceed to this link.
Advantages
- Flux architecture
- Cat-components (like web-components by Google but isomorphic)
- You do not need to write any code for registration or definition of cat-components or stores, Catberry discovers them automatically on startup
- Fast and efficient server-side progressive rendering engine based on node.js streams
- Dust, Handlebars and Jade template engines
- No Virtual DOM – you can use any other library with Catberry without conflicts
- Efficient DOM event listening using event delegation are officially supported (and you can implement own provider for others)
- You will get Single Page Application automatically
- You will get back-end that renders exactly the same page for search engines and shared links
- You will write code in the server-side style (using node modules system) and npm
- Entire architecture of the framework is built using Service Locator pattern and Dependency Injection
- Framework itself is an express/connect middleware, it means you can use it with any other middlewares
For more details please proceed to Catberry Documentation.
Also, you can see finished example application.
Browser Support
Catberry uses ECMAScript 5 and some HTML5 features like History API therefore it does not support old browsers at all. Catberry can render pages for any browser at the server, but Catberry's browser script does not work as SPA in old browsers.
The main goal of Catberry Framework is to use the full power of new technologies and provide user with the best experience.
Actually a user gets HTML page from the server only once and all the rest of the time the whole page is rendered in a browser receiving only pure data from some API service(s). Thanks to Catberry's very fast page rendering engine, user receives refreshed page as fast as API server could provide data for it.
All supported browsers are listed below:
Browser | Version |
---|---|
IE | 9 (partial non-SPA), 10+ |
IE Mobile | 10+ |
Firefox | 4+ |
Firefox Android | 29+ |
Chrome | 19+ |
Chrome Android | 35+ |
Android Browser | 2.2+, 4.2+ |
Safari | 6+ |
iOS Safari | 5+ |
Opera | 12+ |
Opera Mobile | 11.1+ |
Blackberry Browser | 7+ |
Contributing
There are a lot of ways to contribute into Catberry:
- Give it a star
- Join the Gitter room and leave a feedback or help with answering users' questions
- Submit a bug or a feature request
- Submit a PR
- If you like the logo, you might want to buy a Catberry T-Shirt or a sticker
Denis Rechkunov denis.rechkunov@gmail.com