51
Dart, Darrt, Darrrt Jana Moudrá @Janamou +JanaMoudrá

Dart, Darrt, Darrrt

Embed Size (px)

Citation preview

Page 1: Dart, Darrt, Darrrt

Dart, Darrt, Darrrt

Jana Moudrá @Janamou +JanaMoudrá

Page 2: Dart, Darrt, Darrrt

Website?. This cannot be difficult....

Page 3: Dart, Darrt, Darrrt

How to do it?.

Page 4: Dart, Darrt, Darrrt

Web Developer

LanguageDev Editor

Great Tools

Page 5: Dart, Darrt, Darrrt

JavaScriptjQuery

Node.jsCofeeScript

ReactJS...

Page 6: Dart, Darrt, Darrrt

Sublime TextWebStorm

EclipseNetbeans

Notepad

...

...

Page 7: Dart, Darrt, Darrrt

bowernpm

jamvolo

...

Page 8: Dart, Darrt, Darrrt

Which. should I use?.

Page 9: Dart, Darrt, Darrrt
Page 10: Dart, Darrt, Darrrt

LanguageDev EditorGreat Tools

Page 11: Dart, Darrt, Darrrt

LanguageDev EditorGreat Tools

Page 12: Dart, Darrt, Darrrt

LanguageDev EditorGreat Tools

Page 13: Dart, Darrt, Darrrt

LanguageDev EditorGreat Tools

Page 14: Dart, Darrt, Darrrt

LanguageDev EditorGreat ToolsPerformance

Page 15: Dart, Darrt, Darrrt

LanguageDev EditorGreat ToolsPerformance

And more...

Page 16: Dart, Darrt, Darrrt

Language

Page 17: Dart, Darrt, Darrrt

Languageis easy to learn

Page 18: Dart, Darrt, Darrrt

Open-sourceFor better performance

Object orientedModular

Page 19: Dart, Darrt, Darrrt

Client and Server!.

Page 20: Dart, Darrt, Darrrt

Client and Server!. Command Line Chrome Packaged App.

Page 21: Dart, Darrt, Darrrt

var x = 10;

var y = 20;

Optional Types

num x = 10;

num y = 20;or

Page 22: Dart, Darrt, Darrrt

void main() {

print("Hello World Dart!");

}

main() function

Page 23: Dart, Darrt, Darrrt

void main() {

var myButton = querySelector("#my-button");

myButton.text = "Open Window";

myButton.style.background = "pink";

myButton.style.fontFamily = "Comic Sans MS";

myButton.onClick.listen(openWindow);

}

Cascade operator

Page 24: Dart, Darrt, Darrrt

void main() {

querySelector("#my-button")

..text = "Open Window"

..style.background = "pink"

..style.fontFamily = "Comic Sans MS"

..onClick.listen(openWindow);

}

Cascade operator

Page 25: Dart, Darrt, Darrrt

class Animal {

int numberOfLegs;

int numberOfHeads;

Animal(int numberOfLegs, int numberOfHeads) {

this.numberOfLegs = numberOfLegs;

this.numberOfHeads = numberOfHeads;

}

}

Syntactic sugar

Page 26: Dart, Darrt, Darrrt

class Animal {

int numberOfLegs;

int numberOfHeads;

Animal(this.numberOfLegs, this.numberOfHeads);

}

Syntactic sugar

Page 27: Dart, Darrt, Darrrt

class Animal {

int numberOfLegs;

int numberOfHeads;

Animal(this.numberOfLegs, this.numberOfHeads);

}

void main() {

Animal dragon = new Animal(4, 1);

}

Syntactic sugar

Page 28: Dart, Darrt, Darrrt

class Animal {

int numberOfLegs;

int numberOfHeads;

String name;

Animal(this.numberOfLegs, this.numberOfHeads);

Animal.withName(this.name);

}

void main() {

Animal dragon = new Animal.withName("Pepa");

}

Named constructors

Page 29: Dart, Darrt, Darrrt

class Animal {

int numberOfLegs;

int numberOfHeads;

String _name;

Animal(this.numberOfLegs, this.numberOfHeads);

Animal.withName(this._name);

String get name => "$_name is the best";

set name(String name) => _name = name;

}

Getter and Setter

Page 30: Dart, Darrt, Darrrt

Tools

Page 31: Dart, Darrt, Darrrt

Toolswe have them

Page 32: Dart, Darrt, Darrrt

Dart Editor DartiumDart SDK

Page 33: Dart, Darrt, Darrrt

Dart SDKDart VMLibraries

Command Line Tools

Page 34: Dart, Darrt, Darrrt

DartiumChromium with Dart VM

Page 35: Dart, Darrt, Darrrt

Modern BrowsersCompiled into JavaScript

Page 36: Dart, Darrt, Darrrt

Dart Libraries

dart:async, dart:collection, dart:convert,

dart:core, dart:html,

dart:indexed_db, dart:io, dart:isolate, dart:js, dart:math, dart:mirrors, dart:profiler,

dart:svg, dart:typed_data,

dart:web_audio, dart:web_gl, dart:web_sql

Page 37: Dart, Darrt, Darrrt

dart:js

<script type="text/javascript">

var Person = function(name, surname) {

this.name = name;

this.surname = surname;

this.sayHello = function(){

alert("Hello!");

}

};

</script>

Page 38: Dart, Darrt, Darrrt

dart:js

import 'dart:js';

void main() {

var person = new JsObject(context['Person'],

["Jana", "Moudra"]);

print(person["name"]);

print(person["surname"]);

person.callMethod("sayHello");

}

Page 39: Dart, Darrt, Darrrt

pub.

Page 40: Dart, Darrt, Darrrt

name: todolist

description: "My TODO list!"

dependencies:

browser: any

polymer: any

vector_math: any

pubspec.yaml

Page 41: Dart, Darrt, Darrrt

Libraries on Pub

polymer, angular, route, route_hierarchical, googleapis, chrome,

json_object, vector_math, appengine, ...

and more on pub.dartlang.org!

Page 42: Dart, Darrt, Darrrt

Dart is on the cloud!.

Page 43: Dart, Darrt, Darrrt

Demo

+

Page 44: Dart, Darrt, Darrrt

Client Server

void main() { ...}

void main() { runAppEngine(reqHandler);}

Page 45: Dart, Darrt, Darrrt

Client Server

class Note extends Model { ...}

class Note extends Model { ...}

Page 46: Dart, Darrt, Darrrt

DartIs easy to learn

Page 47: Dart, Darrt, Darrrt

DarrtHas great tools

Page 48: Dart, Darrt, Darrrt

DarrrtYou can write awesome apps

Page 49: Dart, Darrt, Darrrt

12:30Dart Code Lab

Page 50: Dart, Darrt, Darrrt

Thank You!Questions?

Jana Moudrá @Janamou +JanaMoudrá

Page 51: Dart, Darrt, Darrrt

Image credits

● Tim Regan, cc, https://www.flickr.com/photos/27141279@N00/10481690626

● reynermedia, cc, https://www.flickr.com/photos/89228431@N06/11285592553/

● jenny downing, cc, https://www.flickr.com/photos/7941044@N06/3990391143/

● kevin dooley, cc, https://www.flickr.com/photos/12836528@N00/7922047866/

● monkeywing, cc, https://www.flickr.com/photos/9887585@N08/7584708186/

● Gregor Cresnar, https://www.iconfinder.com/icons/304602/apple_browser_computer_laptop_macbook_monitor_notebook_screen_web_icon

● Jerry Low, https://www.iconfinder.com/icons/286686/computers_servers_web_host_icon