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 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. RxJS facilitates (asynchronous) communication between the two applications and the related Redux package helps maintain object state.
...
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
Typescript
- The Prototype Wiki explains the rational for using typescript in ore detail
- The Official documentation for the TypeScript language includes links to sample code, as well as a live in-browser editor/samples.
Angular2
- Official Angular2 site - with documentation, quick start, and API references, and a style guide
- 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
- Scotch.io has a bunch of articles on various angular 2 topics
Node.js and Npm
- 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
Typescript
- http://www.typescriptlang.org/ - The official documentation for the TypeScript language. Includes links to sample code, as well as a live in-browser editor/samples.
- See also the TypeScript Guidelines on the Prototype's wiki
RXJS
RxJS is used as part of angular 2 to deal with asynchronous data. A good grasp of RxJS is essential to write robust angular 2 code.
...