diff --git a/public/docs/dart/latest/_data.json b/public/docs/dart/latest/_data.json
index 155fe09c17..710417c4f1 100644
--- a/public/docs/dart/latest/_data.json
+++ b/public/docs/dart/latest/_data.json
@@ -3,7 +3,7 @@
"icon": "home",
"title": "Angular Docs",
"menuTitle": "Docs Home",
- "banner": "Angular 2 is currently in Alpha Preview. We reccomend using Angular 1.X for production applications."
+ "banner": "Angular 2 is currently in Alpha Preview. We recommend using AngularDart 1.X for production applications."
},
"quickstart": {
@@ -14,7 +14,7 @@
"resources": {
"icon": "play-circle-fill",
"title": "Angular Resources",
- "banner": "Angular 2 is currently in Alpha Preview. For Angular 1.X Resources please visit Angularjs.org."
+ "banner": "Angular 2 is currently in Alpha Preview. For AngularDart 1.X please visit angulardart.org."
},
"api": {
@@ -26,4 +26,4 @@
"icon": "chat",
"title": "Help & Support"
}
-}
\ No newline at end of file
+}
diff --git a/public/docs/dart/latest/api.jade b/public/docs/dart/latest/api.jade
index e652be232b..f39b9e7df7 100644
--- a/public/docs/dart/latest/api.jade
+++ b/public/docs/dart/latest/api.jade
@@ -10,5 +10,4 @@
h3 Angular 1.X for Production
p.
If you're building a production app today, please
- use Angular 1.X.
- These versions of Angular are production ready and available today.
+ use AngularDart 1.X.
diff --git a/public/docs/dart/latest/help.jade b/public/docs/dart/latest/help.jade
index 2ad2430887..20a37e8028 100644
--- a/public/docs/dart/latest/help.jade
+++ b/public/docs/dart/latest/help.jade
@@ -3,7 +3,7 @@
p.
We have an incredible community of developers who are passionate about solving problems.
- We reccomend some of the following methods to get help with Angular.
+ We recommend some of the following methods to get help with Angular.
.l-sub-section
diff --git a/public/docs/dart/latest/quickstart.jade b/public/docs/dart/latest/quickstart.jade
index 6deedf14fe..36edf1c728 100644
--- a/public/docs/dart/latest/quickstart.jade
+++ b/public/docs/dart/latest/quickstart.jade
@@ -1,144 +1,143 @@
+p.
+ These instructions assume that you already have the Dart SDK
+ and any tools you like to use with Dart.
+ If not, go
+ download Dart.
+ Then return here.
+
// STEP 1 - Install Angular ##########################
.l-main-section
h2#section-install-angular 1. Install Angular
p.
- Angular is still unpackaged and in alpha. This quickstart does not
- reflect the final build process for Angular. The following setup is for those who
- want to try out Angular while it is in alpha.
-
- p.
- For the sake of this quickstart we recommend using the
- es6-shim GitHub repository.
- This repository will provide a faster start. es6-shim includes Angular and dependencies to compile ES6 in incompatible browsers.
-
- p Clone the repository inside of aleady existing project.
+ In a new directory, create a pubspec.yaml file.
+ Add angular2 and browser as dependencies,
+ and add the angular2 transformer:
+ [PENDING: if the transformer isn't working in time,
+ remove it and use reflection in Dartium instead.
+ Perhaps require Dart 1.9.]
pre.prettyprint.linenums
- code git clone https://github.com/davideast/concious.git es6-shim
-
- .l-sub-section
- h3 A word on ES6
- p.
- Angular builds on top of ES6, the new specification of the JavaScript language.
- Not all ES6 features are available in all browsers. The following es6-shim
- repository allows you to use ES6 in the browser today.
-
- p.
- Angular is available on npm. Configuring Angular to run ES6 in the browser
- requires a build process, detailed here.
-
- p.
- The es6-shim package includes Angular and dependencies needed to compile
- ES6 in the browser. Think of the es6-shim repository as package rather than a new project.
+ code.
+ name: hello_world
+ version: 0.0.1
+ dependencies:
+ angular2: ">=2.0.0-alpha.6 <3.0.0"
+ browser: any
+ transformers:
+ - angular2
+ p.
+ In the same directory, run pub get
+ to install the angular2 and browser packages
+ (along with the packages they depend on):
+ pre.prettyprint.linenums
+ code.
+ > pub get
+ Resolving dependencies... (7.3s)
+ + angular2 2.0.0-alpha.6
+ + browser 0.10.0+2
+ + path 1.3.3
+ + stack_trace 1.2.3
+ Changed 4 dependencies!
+ p.
+ PENDING: Create template? Link to pub/pubspec docs?
+ Is browser really needed?
+ TODO: make this an invisible note.
// STEP 2 - Import Angular ##########################
.l-main-section
h2#section-transpile 2. Import Angular
p.
- Create a file named app.es6 at the root of the project.
- The .es6 extension signifies that the file uses ES6 syntax.
- Using the ES6 module syntax you can import the required modules from Angular2.
+ Under the same directory, create a web directory.
+ Create a file under web named main.dart.
+ Edit web/main.dart to import the angular2 library:
pre.prettyprint.linenums
- code import {Component, Template, bootstrap} from 'angular2/angular2';
-
- p The above import statement will import the three modules from Angular. These modules load at runtime.
+ code import 'package:angular2/angular2.dart';
-
-// STEP 3 - Create a component ##########################
+// STEP 3 - Define a component ##########################
.l-main-section
- h2#section-angular-create-account 3. Create a component
+ h2#section-angular-create-account 3. Define a component
p.
- Components are custom HTML elements. Angular uses components to empower HTML.
- Components structure and repre.prettyprint.linenumssent the UI. This quickstart
- demonstrates the process of creating a component. This component will have the tag of app.
+ A component is a custom HTML element.
+ In this step, you create a component that has the tag <app>.
+ The Dart code for a component consists of a class
+ with annotations that describe the component.
- pre.prettyprint.linenums
- code <app></app>
-
- p A component consists of two parts; the annotation section and the component controller.
+ p.
+ Update web/main.dart to contain the following code,
+ which defines the app component:
pre.prettyprint.linenums
code.
- import {Component, Template, bootstrap} from 'angular2/angular2';
+ import 'package:angular2/angular2.dart';
- // Annotation Section
- @Component({
- selector: 'app'
- })
+ @Component(
+ selector: 'app'
+ )
@Template({
- inline: `
- <h1>Hello {{ name }}</h1>
- `
+ inline: '<h1>Hello {{ name }}</h1>'
})
- // Component Controller
class AppComponent {
- constructor() {
- this.name = "Alice";
- }
+ String name = 'Alice';
}
.l-sub-section
- h3 Component Annotations
+ h3 Annotations
p.
- A component annotation provides meta-data about the component.
- An annotation can always identified by its at-sign — @.
- p.
- The @Component annotation defines the HTML tag for the component.
- The selector property specifies the tag. The selector property is a CSS selector.
+ The @Component annotation defines the HTML tag for the component. [PENDING: component controller?]
+ The selector property specifies the tag. The selector property is a CSS selector. [PENDING: huh?]
p.
The @Template annotation defines the template to apply to the
component. This component uses an inline template, but external templates are
- available as well. To use an external template specify a url property
- and give it the path to the html file.
+ available as well. To use an external template, specify a url property
+ and give it the path to the HTML file.
pre.prettyprint.linenums
code.
- @Component({
- selector: 'app'
- })
+ @Component(
+ selector: 'app'
+ )
@Template({
- inline: `
- <h1>Hello {{ name }}</h1>
- `
+ inline: '<h1>Hello {{ name }}</h1>'
})
p.
- The component created above has a HTML tag of <app></app>
- and a template of <h1>Hello {{ name }}</h1>.
+ The annotations above specify an HTML tag of <app></app>
+ and a template of <h1>Hello {{ name }}</h1>.
+
+ p TODO: make double-mustaches work in text (they do work in listings)
.l-sub-section
- h3 Component Controller
+ h3 The template and the component controller
p.
- The component controller is the backing of the component's template. A component
- controller uses ES6 class syntax.
+ A template has access to all the public properties and methods
+ of its component controller.
+ [PENDING: Do we really want to use the term "component controller"?
+ If so, set it up beforehand.
+ In the original text, what does "the backing" mean, and is it
+ important that we keep it?]
pre.prettyprint.linenums
- code
+ code.
class AppComponent {
- constructor() {
- this.name = "Alice";
- }
+ String name = 'Alice';
}
- p.
- Templates read from their component controllers. Templates have access to any properties
- or functions placed on the component controller.
-
p.
The template above binds to a name property through the {{ }}
syntax.The body of the constructor assigns "Alice" to the name property. When the
- template renders, Alice will appear instead of {{ name }}.
+ template renders, Alice appears instead of {{ name }}.
+ [TODO: fix double mustaches]
@@ -146,20 +145,20 @@
.l-main-section
h2#section-transpile 4. Bootstrap
- p The last step to load the component on the page.
-
- .l-sub-section
- h3 The bootstrap function
- p.
- Angular provides a bootstrap function that renders a
- component to the page. The bootstrap function takes a
- component as a parameter. Any child components inside of the parent
- component will render as well.
-
- pre.prettyprint.linenums
- code bootstrap(AppComponent);
-
+ p.
+ At the bottom of web/main.dart,
+ add a main() function
+ that calls Angular's bootstrap() function.
+ The argument to bootstrap() is the name of the app class
+ you defined above:
+ pre.prettyprint.linenums
+ code.
+ main() {
+ bootstrap(AppComponent);
+ }
+ p.
+ [PENDING: change/remove line numbers. They should start at 12.]
// STEP 5 - Declare the HTML ##########################
.l-main-section
@@ -167,77 +166,51 @@
h2#section-angular-create-account 5. Declare the HTML
p.
- Create an index.html file at the root of the project.
- Include the es6-shim.js file in the head tag.
- Now, declare the app component the body. The es6-shim must
- load before any application code.
+ Create a file named web/index.html that contains
+ the following code,
+ which loads main.dart and instantiates the app component:
pre.prettyprint.linenums
code.
- <html>
- <head>
- <title>Angular 2 Quickstart</title>
- <script src="/es6-shim/dist/es6-shim.js"></script>
- </head>
- <body>
-
- <!-- The app component created in app.es6 -->
- <app></app>
-
- </body>
- </html>
-
- .l-sub-section
- h3 Load the component module
- p.
- The last step is to load the module for the app component.
- The es6-shim file comes packaged with the System library.
- Most browsers today do not support ES6 module loading. System
- provides module loading functionality to these browsers.
-
- p.
- To load the needed modules, System needs to know where to
- load the files from. The paths property in System specifies
- the location of the files.
-
- p Tell System about three paths:
- ol
- li Angular - The Angular framework.
- li Runtime assertions - Optional assertions for runtime type checking.
- li The app component created above - The component to display on the page.
-
- pre.prettyprint.linenums
- code.
- <html>
+ <!doctype html>
+ <html>
<head>
<title>Angular 2 Quickstart</title>
- <script src="/es6-shim/dist/es6-shim.js"></script>
</head>
- <body>
+ <body>
+ <app></app>
+ <script type="application/dart" src="main.dart"></script>
+ <script src="packages/browser/dart.js"></script>
+ </body>
+ </html>
+ p.
+ [PENDING: When I select a bunch of code, it looks like I select the line #s too, making me fear that they'll get copied. But pasting doesn't include them. Fix!]
- <!-- The app component created in app.es6 -->
- <app></app>
+// STEP 5 - Build and run ##########################
+.l-main-section
- <script>
- // Rewrite the paths to load the files
- System.paths = {
- 'angular2/*':'/es6-shim/angular2/*.js',
- 'rtts_assert/*': '/es6-shim/rtts_assert/*.js',
- 'app': 'app.es6'
- };
+ h2#section-angular-run-app 5. Build and run your app
- // Kick off the application
- System.import('app');
- </script>
- </body>
- </html>
-
- p Run the root of your project on a local server.
+ p.
+ You have many options.
+ One is to run the pub serve
+ command in the directory
+ that contains your app's pubspec.yaml file:
+ pre.prettyprint.linenums
+ code.
+ > pub serve
+ Serving helloworld on http://localhost:8080
+ p.
+ In the browser, go to the index file—for example,
+ localhost:8080/web/index.html.
+ [PENDING: This isn't working right now. Fix!]
// WHAT'S NEXT... ##########################
.l-main-section
h2#section-transpile Great Job! Next Step...
- p Learn some template syntax for extra-credit.
+ p.
+ Learn some template syntax for extra credit.
+ [PENDING: really?]