[
https://issues.apache.org/jira/browse/JENA-1911?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Bruno P. Kinoshita updated JENA-1911:
-------------------------------------
Attachment: image-2020-06-05-12-13-40-428.png
> Update Fuseki 2 UI JS code
> --------------------------
>
> Key: JENA-1911
> URL: https://issues.apache.org/jira/browse/JENA-1911
> Project: Apache Jena
> Issue Type: Improvement
> Components: Fuseki
> Affects Versions: Jena 3.15.0
> Reporter: Bruno P. Kinoshita
> Assignee: Bruno P. Kinoshita
> Priority: Minor
> Attachments: image-2020-06-05-12-09-57-685.png,
> image-2020-06-05-12-11-01-945.png, image-2020-06-05-12-13-40-428.png
>
>
> The existing Jena Fuseki user interface uses Backbone.js, with extra
> libraries such as JQuery, Marionette.js. The JavaScript code pre-dates ES6,
> which is largely supported now.
> This issue is a placeholder for discussion & work around updating the UI.
> Using ES6 in the code would be a great improvement.
> But I also suggesting adopting a different framework. The most famous
> framework for JS UI is probably React, followed by Angular & Vue. I am using
> Vue.js at $work, so I am biased.
> The reason we chose Vue.js at work is that the development team is using
> mainly Python, with background in Perl, C, and Shell. So out of the three,
> Vue.js was the simplest, as it didn't require TypeScript, special syntax, and
> the tools required to build an app with Vue are also quite simple.
> One downside of this approach is the build of Apache Jena, which would
> require Node.js and a build tool like Yarn or NPM. But it also brings
> benefits such as:
> * We can write unit tests for the UI
> * We can write integration (e2e, end to end) tests with Cypress or
> Nightwatch (similar to Selenium, but simpler to run and maintain)
> * It will be easier to keep the code up to date, as tools like GitHub
> security bot are able to inspect package.json and look for outdated or
> libraries with CVE's
> * It will be easier to incorporate other libraries in the code, so that we
> can easily switch the JS code for the editor (for example), or add a new
> library to handle SPARQL, etc
> * It is now easier to find developers that know Vue, React, Angular, than
> Backbone (though that was the first framework I learned, and I really like
> it), so maybe we would get more contributors to help with Fuseki UI
--
This message was sent by Atlassian Jira
(v8.3.4#803005)