angular/modules/angular2/src
Jason Teplitz 1710272b3c refactor(WebWorker): Use the new generic bootstrap.
BREAKING CHANGE:

You can no longer bootstrap a WebWorker or Isolate using `bootstrap` or `bootstrapWebWorker`. Instead you have to do the following:

In TypeScript:
```TypeScript
// index.js
import {WORKER_RENDER_PLATFORM, WORKER_RENDER_APPLICATION, WORKER_SCRIPT} from "angular2/platforms/worker_render";
import {platform} from "angular2/platform";

platform([WORKER_RENDER_PLATFORM])
.application([WORKER_RENDER_APPLICATION, new Provider(WORKER_SCRIPT, {useValue: "loader.js"});
```
```JavaScript
// loader.js
importScripts("https://cdnjs.cloudflare.com/ajax/libs/es6-shim/0.33.3/es6-shim.js", "https://jspm.io/system@0.16.js", "angular2/web_worker/worker.js");
System.import("app");
```
```TypeScript
// app.ts
import {Component, View} from "angular2/core";
import {WORKER_APP_PLATFORM, setupWebWorker} from "angular2/platforms/worker_app";
import {platform} from "angular2/platform";

@Component({
  selector: "hello-world"
})
@View({
  template: "<h1>Hello {{name}}</h1>
})
export class HelloWorld {
  name: string = "Jane";
}

platform([WORKER_APP_PLATFORM])
.asyncApplication(setupWebWorker, optionalProviders?)
.then((ref) => ref.bootstrap(RootComponent));
```

In Dart:
```Dart
// index.dart
import "angular2/platform.dart";
import "angular2/platforms/worker_render.dart";

main() {
  platform([WORKER_RENDER_PLATFORM])
  .asyncApplication(initIsolate("my_worker.dart"));
}
```
```Dart
// background_index.dart
import "angular2/platform.dart";
import "angular2/platforms/worker_app.dart";
import "package:angular2/src/core/reflection/reflection.dart";
import "package:angular2/src/core/reflection/reflection_capabilities.dart";

@Component(
  selector: "hello-world"
)
@View(
  template: "<h1>Hello {{name}}</h1>"
)
class HelloWorld {
  String name = "Jane";
}

main(List<String> args, SendPort replyTo) {
  reflector.reflectionCapabilities = new ReflectionCapabilities();
  platform([WORKER_APP_PLATFORM])
    .asyncApplication(setupIsolate(replyTo))
      .then((ref) => ref.bootstrap(RootComponent));
}

```

You should no longer import from the `angular2/web_worker/worker` and `angular2/web_worker/ui` paths. Instead you can now import directly from core, directives, etc..

The WebWorkerApplication class has been removed. If you want to use ServiceMessageBroker or ClientMessageBroker on the render thread, you must inject their factories via DI.
If you need to use the MessageBus on the render thread you must also obtain it through DI.

closes #3277
closes #5473

Closes #5519
2015-12-03 19:51:43 +00:00
..
animate cleanup: move DomAdapter from angular2/core into angular2/platform/common_dom 2015-11-20 00:14:24 +00:00
common refactor(pipes): use angular lifecycle hooks instead of PipeOnDestroy 2015-11-30 16:40:50 -08:00
compiler feat(HtmlParser): add most common named character references 2015-12-03 19:28:50 +00:00
core refactor(WebWorker): Use the new generic bootstrap. 2015-12-03 19:51:43 +00:00
facade chore(async): clean up unused promise imports 2015-12-02 16:02:34 -08:00
http refactor(http): remove mockbackend export from angular2/http barrel 2015-12-02 16:02:34 -08:00
mock feat(test): add angular2_testing dart library 2015-12-03 11:33:46 -08:00
platform refactor(WebWorker): Use the new generic bootstrap. 2015-12-03 19:51:43 +00:00
router docs(api): remove extra the 2015-12-02 11:38:24 -08:00
testing feat(mocks): Mark mock objects @Injectable() 2015-12-03 10:49:56 -08:00
transform/template_compiler chore(core): move compiler out of core 2015-11-05 14:44:52 -08:00
upgrade docs(api): remove extra the 2015-12-02 11:38:24 -08:00
web_workers refactor(WebWorker): Use the new generic bootstrap. 2015-12-03 19:51:43 +00:00