On 31 Jan 2018, at 11:02, Guillaume Delhumeau
<guillaume.delhumeau(a)xwiki.com> wrote:
Hi developers,
We have never really decided what we will do with javascript frameworks in
the future. Angular was a good candidate at some point, and we have even
used it in the File Manager application. But then we have been very
disappointed when we discovered the new versions of Angular were not
retro-compatible. It may have been fixed since then, but I have not really
followed the news about it.
An other disadvantage of AngularJS is that it does too much.
Another issue is that AngularJS doesn’t exist anymore. It’s now based on Type script.
For example,
they have a custom component system with a kind of dependencies injections.
But we already can do that with RequireJS, for which it is the job. I have
already started to split my JavaScript's code in several components thanks
to RequireJS, and it works well. I think it's good to continue with
RequireJS. It is currently our go-to library when we need to use jQuery, or
even... Angular.
I have worked a lot on a new version of the Nested Pages Migrator last
year. The new version has never been released, because of blocking bugs on
the XWiki Platform's core-side. But I now have some experience with the
library I used: KnockoutJS.
It's a very simple library that does only one job and does it well: two-way
data-bindings. It plays well with RequireJS and it does not re-invent its
own component mechanism. The HTML code is not polluted by non-valid tags
(instead it uses "data-" properties and special HTML comments). The
documentation is extremely clear, and tutorials are great.
It's not the most popular library out there, but it's stable and still
alive. The trends are changing so quickly in the JS world (React was the
star not so long ago, but now it is hated because of a license change...),
but Knockout is still there. If the project dies, I think it will be easier
to replace it with an other simple library than a big "framework".
This is not a proposal or a vote, but only a feedback about this library.
Thanks that’s good feedback!
There are other libs out there are getting tractions (there are new ones all the times in
the JS land ;)). For example vue.js looks nice too.
Thanks
-Vincent
You can test it there:
http://knockoutjs.com/
Thanks,
--
Guillaume Delhumeau (guillaume.delhumeau(a)xwiki.com)
Research & Development Engineer at XWiki SAS
Committer on the
XWiki.org project