Slide 1

Slide 1 text

Copyright © 2019 Classi Corp. All Rights Reserved. なぜClassiはReactが盛り上がってる2017年に Angularを選択したのか? 2019/01/31

Slide 2

Slide 2 text

Copyright © 2019 Classi Corp. All Rights Reserved. •八谷 英治(はちや えいじ) @hachi_eiji •Classi株式会社 エンジニア •Rails、Angular、自称 Chief 球拾い Officer •AngularをClassiに持ち込んだ張本人 1 自己紹介

Slide 3

Slide 3 text

Copyright © 2019 Classi Corp. All Rights Reserved. 2 ◯ 高校への営業 ◯ 学習支援アプリ開発 ◯ 活用コンサルテーション ◯プラットフォーム開発 ◯ ネイティブアプリ開発 ◯ 学校へのICT関連サポート 会社概要 ベネッセとソフトバンクのジョイントベンチャー

Slide 4

Slide 4 text

Copyright © 2019 Classi Corp. All Rights Reserved. •全国の高校40%超に導入 •お客様(契約者)は学校 •ユーザは先生・生徒・保護者 •47都道府県制覇 3 サービス紹介

Slide 5

Slide 5 text

Copyright © 2019 Classi Corp. All Rights Reserved. 4

Slide 6

Slide 6 text

Copyright © 2019 Classi Corp. All Rights Reserved. 5 Angularを選ぶ前の2016年

Slide 7

Slide 7 text

Copyright © 2019 Classi Corp. All Rights Reserved. 2016年開発時のフロントエンドフレームワーク 6

Slide 8

Slide 8 text

Copyright © 2019 Classi Corp. All Rights Reserved. 2016年開発時のフロントエンドフレームワーク フレームワーク・ライブラリ ● AngularJS(1.2, 1.3, 1.5) ● Backbone.js ● React + Mobx ● jQuery ● CSSの重い有料ライブラリ ● Classi独自のCSSスタイル 言語 ● JavaScript(Not ES2015) ● CoffeeScript 7

Slide 9

Slide 9 text

Copyright © 2019 Classi Corp. All Rights Reserved. なぜ? • 機能ごとに開発する会社が違っていた • 業務委託・受託開発で開発をお願いしていた • 少なくとも4社に開発を依頼している • フロントエンド フレームワークの混沌期に飲み込まれた 8 社内で技術のコントロールができてない

Slide 10

Slide 10 text

Copyright © 2019 Classi Corp. All Rights Reserved. Angular vs React vs Vue.js 9

Slide 11

Slide 11 text

Copyright © 2019 Classi Corp. All Rights Reserved. 何を大事にしたか? • 開発時に人が入れ替わることは日常茶飯事 • サービス作るというところに注力したかった • みんなが使いやすい 1年で機能がクローズすることはないので長期メンテが基本 10

Slide 12

Slide 12 text

Copyright © 2019 Classi Corp. All Rights Reserved. 11 npmのダウンロード数(2018年1月〜2019年1月) https://www.npmtrends.com/@angular/core-vs-react-vs-vue

Slide 13

Slide 13 text

Copyright © 2019 Classi Corp. All Rights Reserved. Googleトレンドで見る3強 12

Slide 14

Slide 14 text

Copyright © 2019 Classi Corp. All Rights Reserved. 個人的な予想 予想 理由 React ◎ 同時どの会社もReactを採用していた Angular ◯ まだ採用事例が多くなかった。AngularJSのトラウマ Vue.js ? 薄すぎるのでちょっとないかなぁ 13

Slide 15

Slide 15 text

Copyright © 2019 Classi Corp. All Rights Reserved. • 一番の大きな要因はTypeScriptの採用 • Reactを採用しても結局state管理ライブラリ、ルーター、etc... と ライブラリを選ぶ必要があり、そこで疲弊しそうだった • パフォーマンスに関してもReactのほうが早いが実用レベルで そこまで差が出ないだろうと判断した • 開発のスタイルとして毎週リリースというのはないので、ライト に書けるよりも安定性や堅牢性を重視 結論 14

Slide 16

Slide 16 text

Copyright © 2019 Classi Corp. All Rights Reserved. • エンジニア採用 • 猫も杓子もReact • 採用エージェントもエンジニアも下手するとAngularとAngularJSの区 別すら... • ググラビリティが悪い • Angularで検索するとAngularJSとかもヒットする • 検索はAngular2で検索する • 導入事例が少ない いいことばかりではない 15

Slide 17

Slide 17 text

Copyright © 2019 Classi Corp. All Rights Reserved. • 3強は変わらない • すべてのフレームワーク/ライブラリでTypeScriptが使える • Angular CLI、Vue CLI、Nuxt が出てきた • 採用をやってるとVue.jsをやってる人が一気に増えた • 肌感で3人に1人はReact,Vueのどちらかを経験済み • 最近はVueやってる人が多い。特にNuxt。 • Angularやってる人はたまーx10に来る orz React vs Angular vs Vue.js vs others ? in 2019 16

Slide 18

Slide 18 text

Copyright © 2019 Classi Corp. All Rights Reserved. • TypeScriptのバージョンアップに追従している • テストフレームワークも決まってる • Angular Update Guide の存在は大きい • ng update xxx で必要なものをバージョンアップしてくれる • Angular Wayの上にきちんと乗れば強い • Angular日本語ドキュメントができたので大きい • 採用は頑張れ、俺 2019年で選定してもAngular 17

Slide 19

Slide 19 text

Copyright © 2019 Classi Corp. All Rights Reserved. • Polyfillがマジ便利とか • IntelliJ IDEA(WebStorm)で書くとTSLintと相まって最強 18 続きは懇親会で