yapc asia memo
yapcasiaに参加したときのメモを残します。
Effective ES6
denger
function Persion(name) {
this.name = name
}
var p = Person('bob');
# p.name == undefined
# window.name = 'bob'
-
class
- constractor
- newナシで呼ぶとError
-
IE11 ES6は実装しない
-
transpiler
- ES6 to ES5
-
polyfill
- buildinのclassをjs環境で動かすようにする
-
Babel
- core.js # polyfill toolsもあるよ
-
ES6 feature
-
new syntax
- arrow function
var add => (a,b) => { return a + b; }
- class
class Programmer extends Person { constracor(name ,language) { super(name); this.language = language; } }
- module
export var foo = 'foo'; import (foo) from './module/path'
- 'use strict'
- 書かなくていい
- block scope
var a = 'outer' function bar() { console.log(a); a = 'inner'; } bar(); # undefined
- arguments
function foo(...rest) {}
function draw(x,y,{height:1,width:1} = {}) { }
- template literal ` で文字列を囲むと改行付き文字列が定義できる
- Promise
- callback地獄回避
- map/set
- codePoint
- 吉野家isvalid
-
trap
if (a => 1) # if ( a >= 1 ) が正
- balelっていこう
-
今フロントエンドで何が起こっているのか
- htmlだけ返せばよかったような時代
- ajaxの登場
- google map etc
- ECMAscript5
- coffeescript
- jQuery(from 2006)
- backbonejs
- nodejs(2009)
- grunt(2012)
- config
- plugin base
- typescript(2012)
- AST
- abstract syntax template
- SPA
- 問題
- SEO
- Performance
- 問題
- AngularJS(2009)
- 2way data binding
- fullstack
- gulp
- stream base
- Browserify
- ECMAscript 2015
- Stateless
- Composable
- stream
- babel (2014)
- Service Workers
- Intercept Requeest
- offline / cahce
- Background Sync
- Push Notification
- Intercept Requeest
- Extensible Web
- Reactjs
- Stateless Component
- Flux
- FRP
- Rx.js, Bacon.js
- Redux
- Inspired by Flux and Elm
どうしてこうなったNode.jsとio.jsの分裂と統合の行方。これからどう進化していくのか
Node.jsの歴史 (Node.jsとは、Node.jsが生まれた背景)
- 2001
- C10K Problem
- 2007
- Web 2.0
- 2009 ~ 2012
- JSConf EU
- Server-side JavaScript
- Evented Non Blocking I/O
- v8
- EventLoop Model
- libebb => libev/libeio & libuv (Windows向け)
- netv8 => node
- Joyent
- 破壊と創造
- APIがかなり深刻に変わる
- BDFL (優しい終身の独裁者モデル)
- JSConf EU
- 2012 ~ 2014
- Socket.IO
Node/io.jsの機能的な違いと性能的な違い
- 2014 ~
- node forward
- BDFL => community model
- Technical committee
- コアメンバー委員会
- Collaborator
- Working group
- Semantic Versioning
- major.minor.patch
- オープンガバナーンスモデル
- Feature Node.js
- io.jsのこと
- node Foundation
- log term suport
Node/io.jsのロードマップ
- ES6 compat % up
- StrongScript
- SimpleSteam
- improve pref