After playing w/ Angular2 beta-8/9 for a week:
(tl;dr: too big, too buggy, too opinionated; designed by architecture astronauts)
0) if you take all the minimum of minified deps, your hello world will be ~1.2MB. HAHAHA, Jeez.
1) nobody gives a fuck about you if you don't like TypeScript.
2) es6, in Angular2 terms, means es6 + decorators.
3) observables are annoying, although I did like Rx.AsyncSubject.
4) forwardRef doesn't work w/ SystemJS + es6 (but works w/ UMD bundle + es5); this means that it's impossible to create a component that recursively uses itself in its template.
5) a minified UMD bundle is broken (they are using a "mangle" option for a minification, which naturally screws func arg names; I bet this is still an issue because of hte funney work of "oh my god, it's so powerful" new DI)
6) watch this: RouteParams fails to decode percent-encoding strings in Firefox (but works fine in Chrome, who'd have thunk it?). Welcome to 2006!
7) a parent-child relationship scheme in components is the most idiotic I've ever saw: by default it's absent. For example, if you pass a callback name to a custom directive, that callback will be executed in the context of the child, that has no way to reach the parent, unless you pass a ref to it in another attr which is a "no-no, you fool, this is not how you program Angular2!".
8) if you try to use a component A in another component B via "providers" & "directives" simultaneously, you'll fail miserably, for you'll get 2 different instances of A; the only way to get round of this is to use a separate service & pass it to both A & B.
(tl;dr: too big, too buggy, too opinionated; designed by architecture astronauts)
0) if you take all the minimum of minified deps, your hello world will be ~1.2MB. HAHAHA, Jeez.
1) nobody gives a fuck about you if you don't like TypeScript.
2) es6, in Angular2 terms, means es6 + decorators.
3) observables are annoying, although I did like Rx.AsyncSubject.
4) forwardRef doesn't work w/ SystemJS + es6 (but works w/ UMD bundle + es5); this means that it's impossible to create a component that recursively uses itself in its template.
5) a minified UMD bundle is broken (they are using a "mangle" option for a minification, which naturally screws func arg names; I bet this is still an issue because of hte funney work of "oh my god, it's so powerful" new DI)
6) watch this: RouteParams fails to decode percent-encoding strings in Firefox (but works fine in Chrome, who'd have thunk it?). Welcome to 2006!
7) a parent-child relationship scheme in components is the most idiotic I've ever saw: by default it's absent. For example, if you pass a callback name to a custom directive, that callback will be executed in the context of the child, that has no way to reach the parent, unless you pass a ref to it in another attr which is a "no-no, you fool, this is not how you program Angular2!".
8) if you try to use a component A in another component B via "providers" & "directives" simultaneously, you'll fail miserably, for you'll get 2 different instances of A; the only way to get round of this is to use a separate service & pass it to both A & B.
Permalink: https://plus.google.com/115290581164606462017/posts/fKumteBumfR
Subscribe