Contribute to the DSpace Development Fund

The newly established DSpace Development Fund supports the development of new features prioritized by DSpace Governance. For a list of planned features see the fund wiki page.

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 18 Next »

The DSpace UI developer team decided to implement the new user interface with the  widely used Angular2 client side framework. In addition to delivering a more responsive user experience,  client side frameworks allow for a more rapid development cycle. The UI code is built in TypeScript, a typed super set of JavaScript, that was developed specifically for the implementation of sizable web applications. In facts Angular2 itself is developed in TypeScript.

The UI works with the DSpace REST API to access and modify data. It relies on RxJS  to manage control flow which is driven by the (asynchronous) communication between the two applications The @ngrx package helps maintain a predictable state representation.

The new UI uses Angular Universal to render initial page requests on the server side,  which greatly improves the initial page load time. As a nice benefit, search engines requesting pages do not have to deal with client side page rendering. Crawlers working through a list of URLs will always be presented with a page rendered on the server.

Node.js is the server technology used with JavaScript web application and thus with Angular.  As an asynchronous event driven JavaScript runtime, Node is designed to build scalable network applications like web based user interfaces. 

Npm stands for Node Package Manager. In fact installation instruction for the user interface at GitHub essentially consist of the command 'npm install',  followed by 'npm start' to start a local server.

Typescript

Angular2

Other Packages

Node.js and Npm

Angular Universal

 

  • No labels