Page History
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 allows 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.
The UI works with the DSpace REST Api to access and modify data. RxJS facilitates (asynchronous) communication between the two applications.
The new UI uses Angular is widely used and SEO
Angular is widely used, has To ensure that the resulting user interface will still be able to be indexed by search engines
Universal to render initial page requests on the server side. Thus 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. It serves the same purpose as Tomcat does for Java servlets.
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.
Learning Resources
General
- https://angular.io/styleguide - The official Angular2 for TypeScript Style Guide
- https://angular.io/docs/ts/latest/ - The official documentation for Angular 2 (with TypeScript). Includes a "5-min quick start", "step-by-step guide" and official API docs
- https://github.com/angular/angular - The official codebase for Angular 2. Where to submit issues, follow the code progression, etc.
- http://angularjs.blogspot.com/ - The Angular blog, which contains updates and blog posts from the Angular team.
- https://groups.google.com/forum/#!forum/angular - Google Group for Angular 1 or 2 discussions.
- https://angularair.com/ - A live video podcast all about Angular
- https://www.npmjs.com/package/npm-check-updates - A npm package for dependency management
- Scotch.io has a bunch of articles on various angular 2 topics
...