Typescript for grails

28
TypeScript && Grails

description

 

Transcript of Typescript for grails

Page 1: Typescript for grails

TypeScript &&

Grails

Page 2: Typescript for grails
Page 3: Typescript for grails

RailWayJS

ExpressTower.js

Derby

MeteorSocket IO

Geddy.js

Flatiron.js

Locomotive

SocketStream

Page 4: Typescript for grails
Page 5: Typescript for grails
Page 6: Typescript for grails

TypeScript is✤ Language for application-scale JavaScript development

✤ Typed superset of JavaScript that compiles to plain JavaScript

✤ Any browser. Any host. Any OS. Open Source.

✤ Strong Tools for Large Applications

✤ Scalable

✤ ES6 based

Page 7: Typescript for grails

TypeScript has

Page 8: Typescript for grails

Clear JS

function Greeter(greeting) {

this.greeting = greeting;

}

Greeter.prototype.greet = function () {

return "Hello, " + this.greeting;

};

var greeter = new Greeter("world");

Page 9: Typescript for grails

Types

function Greeter(greeting: string) {

this.greeting = greeting;

}

var greeter = new Greeter("world");

Page 10: Typescript for grails

Types

function Greeter(greeting: string) {

this.greeting = greeting;

}

var greeter = new Greeter("world"); // ok

var bad = new Greeter(5); // bad

Page 11: Typescript for grails

More Types✤ Numbers

✤ Boolean

✤ Null

✤ Undefined

✤ Object

✤ Void

✤ Any

Page 12: Typescript for grails

Classesclass Greeter {

greeting: string;

constructor(message: string) {

this.greeting = message;

}

greet() {

return "Hello, " + this.greeting;

}

}

var greeter = new Greeter("world");

Page 13: Typescript for grails

Inheritanceclass Animal { constructor(public name: string) { } move(meters: number) { alert(this.name + " moved " + meters + "m."); }}

class Snake extends Animal { constructor(name: string) { super(name); } move() { alert("Slithering..."); super.move(5); }}

var sam = new Snake("Sammy the Python");

sam.move();

Page 14: Typescript for grails

Modulesmodule Sayings {

export class Greeter {

greeting: string;

constructor(message: string) {

this.greeting = message;

}

greet() {

return "Hello, " + this.greeting;

}

}

}

var greeter = new Sayings.Greeter("world");

Page 15: Typescript for grails

Interface

Page 16: Typescript for grails
Page 17: Typescript for grails

Install Node.js on Ubuntu##Install the dependencies:$ sudo apt-get install g++ curl libssl-dev apache2-utils$ sudo apt-get install git-core

##Run the following commands:$ git clone git://github.com/ry/node.git$ cd node$ ./configure$ make && sudo make install

##Check node:$ node -v

Page 18: Typescript for grails

Install Node.js on Macif (homebrew) { brew upgrade brew install node node -v} else { https://github.com/mxcl/homebrew/wiki/installation}

Page 19: Typescript for grails

Install Node.js on Windows

http://nodejs.org/#download

Page 20: Typescript for grails

Install NPM##Ubuntu:$ curl http://npmjs.org/install.sh | sh

##Mac$ brew upgrade$ brew install npm

##Windows:$ http://npmjs.org/doc/README.html#Installing-on-Windows-Experimental

Page 21: Typescript for grails

Install TypeScript##Ubuntu && ##Mac && ##Win$ npm install -g typescript$ ts -v

Page 22: Typescript for grails

IDE

Page 23: Typescript for grails

Grails integration

✤ Manual with console ($ ts path/to/your/ts/file)

✤ IDE compilation

✤ TypeScript Resource plugin

Page 24: Typescript for grails

Resource plugin

Page 25: Typescript for grails
Page 26: Typescript for grails
Page 27: Typescript for grails

Questions???

Page 28: Typescript for grails

Thanks for your attention!