When comparing Kendo UI vs Ractive.js, the Slant community recommends Ractive.js for most people. In the question“What are the best JavaScript libraries for building a UI?” Ractive.js is ranked 7th while Kendo UI is ranked 14th. The most important reason people chose Ractive.js is:
Ractive fully supports a templating language. To be more precise, views are written with a variant of Mustache, which is also extended to support inline JavaScript expressions. Soon it will be able to support other templating languages.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Free Core tools
Kendo UI is separated into a commercial and open source frameworks. The core of Kendo UI is in the open source frameworks, but some usability and benefits of Kendo UI are lost without the commercial version.
Pro Platform-based UI
Kendo knows what device it is being viewed on so it can adjust the UI accordingly. If a user is on a PC the user will see things differently than on a mobile device. Between iOS and Android the user will also notice a different as it pulls from the core UI of those core systems.
Pro Theme Builder
An interactive tool that has been created to customize an apps theme. Users are able to select from many pre-defined themes, edit them, and download the theme to bring into a project.
Pro Supports a true templating language
Ractive fully supports a templating language. To be more precise, views are written with a variant of Mustache, which is also extended to support inline JavaScript expressions. Soon it will be able to support other templating languages.
Pro Makes it possible to handle user interaction in a readable, declarative fashion
Ractive has a concept of proxy events, which translate a user action (e.g. a mouseclick) defined via an event directive into an intention (e.g. 'select this option'). This allows you to handle user interaction in a readable, declarative fashion.on-click='activate'
with arguments:on-click = 'activate: {{a}}, {{b}}'
It's activate
(and not click
, nor your function name) that is the name of the handler event that will be fired for any registered handlers created viaractive.on('activate', your_handler)
ractive.on('activate', your_another_handler)
Of course, Ractive also supports method calls like on-click='toggle(foo
)'
Pro Two-way binding configuration
Two-way binding can be turned off by those that are concerned it may be a source of bugs.
Pro Step by step tutorial
They have a great interactive tutorial which makes the learning process easy peasy. You will get into it within a couple of minutes.
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.
Cons
Con Expensive commercial tools [$699, $1,499]
The other core tools developed with Kendo are the commercial tools. There is the Professional version for $699 that will result in more jQuery UI widgets and client support. The $1499 "DevCraft" Complete edition gets developers the DevCraft .NET toolbox, testing and debugging frameworks and applications, as well as priority support.
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.
However, this is the default behaviour which can be changed to have one-way data binding.