yapcasia
August 21, 2015
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
- 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 (優しい終身の独裁者モデル)
-
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
Written by Keisuke Kan who lives and works in Japan building useful things. You should follow him on Twitter