When comparing Polymer vs Ractive, the Slant community recommends Polymer for most people. In the question“What are the best React.js alternatives?” Polymer is ranked 5th while Ractive is ranked 20th. The most important reason people chose Polymer is:
It provides a base component.
Ranked in these QuestionsQuestion Ranking
Pro Various basic components
It provides a base component.
Pro HTML markup is not string
HTML markup as it can be a non-string.
Pro Flex layout components
It provides Flex layout components.
Pro CSS is easy to apply
CSS can be applied far more comfortably than React.
Pro No need for special debugging tools
The presence od specialized debugging tools are advertised by competitors. The all features of web components are natively supported by browser embedded development tools.
Pro Excellent routing
The router is embedded into CLI for project creation and covers as web as Progressive web app, also fused with Polymer layouts out of the box. The shop template for CLI has a complete solution including the routing.
Pro Complete web app stack support
Full app stack from data tier to routing, progressive web app, responsive layouts makes no need to seek outside of Polymer ecosystem for application features.
In addition to waste set of mature web components in Polymer Elements along with Vaadin Elements there are thousands of web components in the wild comparable to jQuery plugins set.
Pro Excellent documentation
Polymer guides you as with tools (cli, build environment, app templates,..) as with complimentary documentation on all phases of app development from creation of app as progresive web app to production deployment instructions.
As Polymer is standards based, the whole community around those standards also helping in documentation and support.
Pro Based on web components
Web Components are a collection of specifications released by W3C as a way to reduce the complexity of web apps by creating reusable components. Browser support is currently poor for web components, however Polymer is developed to make web components compatible with modern browsers.
Pro API is easy to understand, based on standard
The Polymer APIs are split on application layers and follow standards on all possible ways: Web Components, CSS variables, async API via Promises and so on.
Pro Live, reactive templating
Ractive.js is a template-driven UI library, but unlike other tools that generate inert HTML, it transforms your templates into blueprints for apps that are interactive by default.
Pro Powerful and extensible
Two-way binding, animations, SVG support and more are provided out-of-the-box – but you can add whatever functionality you need by downloading and creating plugins.
Pro Supports a true templating language
Pro Virtual DOM
Instead of relying on the DOM, Ractive implements a virtual DOM from scratch, allowing it to calculate precisely what needs to be patched during the next screen refresh. This is orders of magnitude faster than fiddling with the DOM itself.
Con No server-side rendering
Polymer does not support server-side rendering. This results in higher loading times, more HTTP requests and it's not very SEO friendly, since search engines have no way of indexing a page if it's not rendered in the server.
Con Ractive's two way binding can be a source of bugs
Two-way data-binding means that a HTML element in the view and an Ractive model are binded, and when one of them is changed so is the other. One-way data-binding for example does not change the model when the HTML element is changed.
This is a rather controversial subject and many developers consider two-way data binding an anti-pattern and something that is useless in complex applications because it's very easy to create complex situations by using it and being unable to debug them easily or understand what's happening by just looking at the code.