docs(ivy): update status of ivy (#22834)

PR Close #22834
This commit is contained in:
Miško Hevery 2018-03-16 16:16:24 -07:00
parent 5d82d8da6d
commit f258ec67bf
1 changed files with 36 additions and 26 deletions

View File

@ -1,3 +1,13 @@
# Overview
Ivy is a new backwards-compatible Angular renderer focused on further speed improvements, size reduction, and increased flexibility.
Ivy is currently not feature complete, but can be tested via [`enableIvy: true`](https://next.angular.io/guide/aot-compiler#enableivy) [`angularCompilerOptions` flag](https://next.angular.io/guide/aot-compiler#angular-compiler-options).
We currently expect Ivy to remain behind the flag until it's feature complete and battle tested at Google. In the meantime you can check out this [Hello World demo](https://ng-ivy-demo.firebaseapp.com/).
# Implementation Status
## Annotations
| Annotation | `defineXXX()` | Run time | Spec | Compiler | Back Patch |
| -------------------- | ------------------------------ | ------- | -------- | -------- | -------- |
@ -5,8 +15,8 @@
| `@Directive` | ✅ `defineDirective()` | ✅ | ✅ | ✅ | ❌ |
| `@Directive` | ❌ `defineAbstractDirective()` | ❌ | ❌ | ❌ | ❌ |
| `@Pipe` | ✅ `definePipe()` | ✅ | ✅ | ✅ | ❌ |
| `@Injectable` | `defineInjectable()` | ❌ | ❌ | ❌ | ❌ |
| `@NgModule` | `defineInjector()` | ❌ | ❌ | ❌ | ❌ |
| `@Injectable` | `defineInjectable()` | ✅ | ❌ | ❌ | ❌ |
| `@NgModule` | `defineInjector()` | ✅ | ❌ | ❌ | ❌ |
| `@ConfigureInjector` | ❌ `defineInjector()` | ❌ | ❌ | ❌ | ❌ |
@ -55,24 +65,24 @@
| `<div style="literal">` | ✅ | ✅ | ✅ |
| `<div [style]="exp">` | ❌ | ❌ | ❌ |
| `<div [style.foo]="exp">` | ✅ | ✅ | ❌ |
| `{{ ['literal', exp ] }}` | ✅ | ✅ | |
| `{{ { a: 'literal', b: exp } }}` | ✅ | ✅ | |
| `{{ exp \| pipe: arg }}` | ✅ | ✅ | ❌ |
| `{{ ['literal', exp ] }}` | ✅ | ✅ | |
| `{{ { a: 'literal', b: exp } }}` | ✅ | ✅ | |
| `{{ exp \| pipe: arg }}` | ✅ | ✅ | ✅ |
## `@Query`
| Feature | Runtime | Spec | Compiler |
| ------------------------------- | ------- | -------- | -------- |
| `@Query(descendants)` | ✅ | ✅ | |
| `@Query(one)` | ✅ | ✅ | |
| `@Query(read)` | ✅ | ✅ | |
| `@Query(selector)` | ✅ | ✅ | |
| `@Query(Type)` | ✅ | ✅ | |
| `@Query(descendants)` | ✅ | ✅ | n/a |
| `@Query(one)` | ✅ | ✅ | n/a |
| `@Query(read)` | ✅ | ✅ | n/a |
| `@Query(selector)` | ✅ | ✅ | n/a |
| `@Query(Type)` | ✅ | ✅ | n/a |
| `@ContentChildred` | ✅ | ✅ | ❌ |
| `@ContentChild` | ✅ | ✅ | |
| `@ContentChild` | ✅ | ✅ | |
| `@ViewChildren` | ✅ | ✅ | ❌ |
| `@ViewChild` | ✅ | ✅ | |
| `@ViewChild` | ✅ | ✅ | |
@ -121,7 +131,7 @@
| ----------------------------------- | ------- |
| `renderComponent()` | ✅ |
| `getHostElement()` | ✅ |
| `Injector.create()` | ❌ |
| `createInjector()` | ❌ |