News
Meetup
YouTube
Blog
書き起こし
2020/10/23 に公開
3150 views
このエピソードについて
@g4rds が、 @daisuke.yamamoto と @uhyo_ に、Vue 3 や React / TypeScript の技術選定とその理由について聞いてみました。
ゲスト紹介
@daisuke.yamamoto
Data Visualization チーム フロントエンドエンジニア
チームでは、Vue.js を主に利用しており、 RC から Vue 3 を開発に投入している
@uhyo_
LINE 証券フロントエンドエンジニア
TypeScript コントリビューター
LINE 証券では React/TypeScript を利用しており、 React 17 や Recoil を Production 導入している
React/Vue と TypeScript 対応
React の TypeScript 対応
React はご存知 TypeScript-First で記述できる
React 自体が
facebook/flow
で記述されていることに由来
はじめから Type Friendly な設計がなされている
Router の型などについては後述
Vue の TypeScript 対応
Vue 3 でコンポーネントの型が改善、Vuexの改善、TSXサポート、テンプレートの一部サポートなどが追加
ただテンプレートの型については完全ではない
まだまだ React に追いついているとは言えない状況
フレームワークを取り巻くエコシステム
React
Router、状態管理、テストスイートなどどれも自分で選択
Router
LINE 証券では React Router を利用
型定義が弱いので uhyo としては
uhyo/rocon
を使いたい
状態管理
LINE 証券では統一的なオピニオンがあるわけではない
最近は
Recoil
の導入を始めた
直接的に Recoil を使うのではなく、ラップした Custom Hooks を利用
テストスイート
React Testing Library を利用
Enzyme は利用していない
Vue
Vuex, Vue Router, Vue Test Utils など必要なものが一通り揃っている
すべてがオフィシャルで提供されている
Vuex は 4.0 で型が改善などアップデートも
Vue Router の path などは string or string[]
Vue Test Utils は enzyme 寄りの BFF コンポーネント改善ツール
このあたりは 2.x から変わらず、 3.0 にあたっての追加などはなし
React v18 と Vue v3 のこれから
React について
10/20 に React v17 がリリース
https://reactjs.org/blog/2020/10/20/react-v17.html
React v18 では Concurrent Mode が導入される
非同期に対するコンポーネントの取り扱いが大きく変わる
使っている技術の弱み
React
React の良さでもあるが、オフィシャルなエコシステムが存在しない
結果として CSS in JS など、好みが分かれる部分がプロジェクトによってバラバラになる
Vue
TypeScript 対応はやはり React と比較して弱い部分がまだある
Refs
LINE 新卒採用 2022
https://linecorp.com/ja/career/newgrads/engineering/
キャリア採用はこちらから
https://linecorp.com/ja/career/position/475
BGM&SE
魔王魂/騒音のない世界/OtoLogic
1.0x
1.3x
1.5x