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.
The DSpace UI developer team decided to implement the new user interface with the Angular2 client side framework. In addition to delivering a more responsive user experience, client side frameworks allows for a more rapid development cycle. 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
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
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.
- A general introduction to Reactive Programming
- There are a bunch of resources on RxJS’ github
- Decision trees to find which operator to use when creating new sequences or using existing sequences → these are very useful during development
Universal
Universal is the angular sub-project that allows for angular apps to be rendered server-side
- Here‘s a high level document explaining it
- There are some videos on their github page
- William Welling has a test project to experiment with Angular Universal.
Redux
Redux is a set of design-patterns to manage state in a javascript application.
- The concepts are explained clearly, though independently from angular in the main redux docs
- There is also a great free video course on egghead
- @ngrx is an implementation of Redux for Angular 2 using RxJS
- Ducks is a way to structure redux applications to keep them as modular as possible that works well in practice.