#reject_sushi でReactとチーム開発について話してきた
React.js meetup #3に参加できなかったので#reject_sushiに参加してきました。
- Draft.js | Rich Text Editor Framework for React
- ©年号を見る感じ結構前から実装してそう
How to work as a Team @ azu
#reject_sushi で発表したReact+Flux的な何かの意思決定と情報設計の話。 "How to work as a Team" https://t.co/qM4iyipRFS
— azu (@azu_re) February 23, 2016
自分はチーム開発でReact + 何かを採用するときにどういうフローで話を進めていってるかについてを話しました。 まだ結論はないですが、Flux的な何かを採用したからといって設計がすごく簡単になるという話ではないです。
またStoreはただの入れ物的な使い方をした場合に、ドメイン層はActionCreator的な部分が持つのか、それはどうやって扱うのかという部分がふわふわしているという話になりました。
StoreはただのViewのためのStateという感じ。
— azu (@azu_re) February 23, 2016
その場合にドメイン層をどこに書くかが皆迷うところ。 #reject_sushi
なんとなくのレイヤー分けは見えてきていますが、それを説明するのにはまだ何か(サンプル?実例?体系化?)が足りてないのかなーという印象です。
以下のスライドも見てみると面白いかもしれません。
また最近今日からはじめる情報設計やエンジニアのための図解思考的な本を読んでいたので、そういった情報の扱い方や表現という話も兼ねています。
Rails と Node.js @ mizchi
browserify-railsとtsify問題 #reject_sushi
— サスケ (@kyo_ago) February 23, 2016
- Node.jsのエコシステムにビルドを寄せる話
- browserify-railsに寄せると楽
- だけどtsifyが標準出力ではStreamを使うため browserify-railsと相性が悪い。
- browserify-railsを使いたい理由は、Nodeを普段使わない人が多い環境でNodeの流儀をやってもらうとよくわからないことが多くてコストがある
HTTP2 を前提とした HTML+CSS コンポーネントのレンダリングパス最適化 @ jxck
#reject_sushi "HTTP2 を前提とした HTML+CSS コンポーネントのレンダリングパス最適化について | https://t.co/Bb4j0utYux" https://t.co/wQlZpQZBMj
— azu (@azu_re) February 23, 2016
- HTTP2 を前提とした HTML+CSS コンポーネントのレンダリングパス最適化について | blog.jxck.io
- コンポーネント+CSSで送れると、サーバ側が全部のリソースが揃う前にレスポンスを返すことが出来る様になる
- lengthは決まってないと行けないけど、例外としてTransfer-Encoding: chunkedを使う
- = プログレッシブレスポンス?
プログレッシブレスポンスができるようになるそれようの仕組みがサーバで流行るのでは。
— azu (@azu_re) February 23, 2016
それってJSPで見た話だ!!! #reject_sushi
この時の問題点
HTTPはステータスコードを最初に返す必要があり、それを途中で変更できない。
— azu (@azu_re) February 23, 2016
ステータスコードは1行目問題はPushでも起きる
なのでプログレッシブレスポンスの場合は、CSSはpushしておいてchunkedで送ると #reject_sushi
- ステータスコードコードが最初に決まってないと行けない
- プログレッシブレスポンスだとこれがやっかいなりそう
- 動画を全部読まないとシークできなかった話と似ている
- このステータスコードの位置/変更/指定の問題は今後の課題になりそう(プログレッシブレスポンスするなら)
TypeScript 1.8のJavaScriptをbundleしてくれる機能 - kyo_ago
kyo_ago 「TypeScript 1.8のJavaScriptをbundleしてくれる機能」 #reject_sushi
— azu (@azu_re) February 23, 2016
- Concatenate AMD and System modules with –outFile
- Announcing TypeScript 1.8 | TypeScript
- 循環参照を避けるためbundleするのはimport/exportのみ?
require
は動的ロードとして扱われてる- ちょこっとsystemjs用のものを加えると動かせる
JavaScriptの非同期処理/例外処理
- async/await
- try/catchでハンドリングしないと行けないのは複雑になる可能性
- GoLangのように多値を返すアプローチで解決できなかったのか
- Option/Maybeとかで解決していることを、さながらgolangのようにES6のdestructuring assignmentで解決する - snyk_s log
- WebComponents
- 名前がでかすぎて何から手を出せばいいのかよくわからなくなる問題
- Polymerは何か別のものになってしまった
- 明らかに大事だけど流行るには何かが足りない
- コンポーネント間の関係をどう管理するのか問題
「Web Componentをどこから始めればいいのか分からない」
— azu (@azu_re) February 23, 2016
「Web Componentという名前が良くなかった。それぞれの仕様にフォーカスするべきだったのでは」 #reject_sushi
- ECMAScriptにEventEmitter的なのが欲しい
- DOM Eventを通るのはなんか
その他
#reject_sushi で発表しなかった「3分でわかるtextlint」のスライドです。自然言語Lintツールの現状 "3分でわかるtextlint" https://t.co/wtHBxxIOok
— azu (@azu_re) February 23, 2016
発表しなかった3分でわかるtextlintのスライド。
textlint - pluggable linting tool for text and markdownのサイトがDeku v2 + Reduxで動いていて、Reduxを最初に試す場合はDekuと組み合わせたほうがわかりやすよという話をした。
お知らせ欄
JavaScript Primerの書籍版がAmazonで購入できます。
JavaScriptに関する最新情報は週一でJSer.infoを更新しています。
GitHub Sponsorsでの支援を募集しています。