Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
いちエンジニアVueからReactへの乗り換えを提案し成し遂げた話
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Takahiro Matsuda
October 18, 2023
Programming
1.2k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
いちエンジニアVueからReactへの乗り換えを提案し成し遂げた話
Takahiro Matsuda
October 18, 2023
Other Decks in Programming
See All in Programming
Unity6 URPによる海底をテーマにしたVJシステムの解説 | Unity Shader 完全に理解した 勉強会
gam0022
0
160
技術的負債を組織課題として解く-増えすぎたマイクロサービスとの戦い-
reimaru
1
2.6k
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
370
JPUG勉強会 OSSデータベースの内部構造を理解しよう(第2回)
oga5
0
280
スマートフォンでモールス信号を送受信する 〜スマートフォンのLEDとカメラで作る光通信の設計と実装〜
atsuki_seo
0
210
AI Agent時代のリアーキテクチャ戦略と実践
hokaccha
9
5.2k
FreeBSDでZabbixを動かす
kenkino
0
340
TiDB Cloudのカスタムコントローラーによるオートスケール対応
takaidohigasi
0
140
SONY CISC-NEWS NWS-1750 + NWB-225 フレームバッファの NetBSD/news68k ドライバ実装 / OSC2026Hiroshima
tsutsui
0
160
MVNOの申込からeSIM開通までをiOSアプリでつなぐ- 本人確認・MNP・通信事業者基盤をまたぐ実装
satotakeshi
0
510
Turning Architecture into Unit Tests in the AI Era (NSSpain XIV)
steliosf
PRO
1
120
Java 27新機能 / Java 27 new features
kishida
2
190
Featured
See All Featured
Git: the NoSQL Database
bkeepers
PRO
432
67k
We Are The Robots
honzajavorek
0
380
Bootstrapping a Software Product
garrettdimon
PRO
306
120k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
590
The SEO identity crisis: Don't let AI make you average
varn
0
570
Tell your own story through comics
letsgokoyo
1
1.1k
A designer walks into a library…
pauljervisheath
211
25k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.6k
Exploring anti-patterns in Rails
aemeredith
4
520
Are puppies a ranking factor?
jonoalderson
2
4k
Odyssey Design
rkendrick25
PRO
2
850
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
320
Transcript
© 2023 Techtouch. いちエンジニアがVueからReactへの 乗り換えを提案し成し遂げた話 2023/10/18
2 © 2023 Techtouch. 自己紹介 Taka @takakobejp • 前職:Sonyグループ ◦
React Nativeを使ったアプリケーション開発 ◦ スクラムマスター • 現職:テックタッチ ◦ フロントエンドエンジニア ◦ 今年度からフロントエンドチームのテックリード ◦ 4年前にVueからReactへの乗り換えをリード • ReactとTypescriptが大好き
3 © 2023 Techtouch. 今回お話すること • 当時いちエンジニアだった自分がどうやってVueからReactへの置き換えを成し遂げたか • 成し遂げることができた要因は何だったのか ※技術的な話ではなくプロセスの話がメインです
テックタッチ(プロダクト)のご紹介
5 © 2023 Techtouch. テックタッチとは 操作 ガイド 作成 システム画面上でかんたんにできる 操
作 ガ イ ド の 作 成 も 表 示 も 問い合わせが多く 分かりにくいシステム 誰もが使える システムへ! 利用者の体感を最重視したリアルタイムの操作ガイドで、 システムの使い方が分からないを払拭。 操作ガイドはプログラミング不要で、システムの画面上 でかんたんに作成可能。 入力チェックや条件分岐にも対応。 システム利用者 システム管理者 システム改修不要
どうVueからReactへの乗り換えを実現したか
7 © 2023 Techtouch. どう実現したか 課題感をもとに改善案をイメージ 7 => いろいろ考えた末、今後のことを考えるとReactでゼロベースから作り直すのが良さそう デグレ頻度が高いな
テストコードが 不十分だな 利用しているライブラ リの拡張性が低いな コードが型安全に なってないな 課 題 感 など など など • デグレを減らすためにはテストが必要だ • デグレの原因は設計にありそうだ • テストを充実させるためにテスタビリティが高い設計にしなければ • 設計を変えるとなるとほぼ書き直さないといけないな • Reactだとより型安全に作れそうだし、拡張性が高いライブラリがあるのでそれが使えそう • Reactだと細かいカスタマイズができるそうだな、などなど 改 善 案
8 © 2023 Techtouch. どう実現したか 最低限動くものを作ってみた 8 みんなの反応 • ←実際にReactで作ったもの
• ソリューションにより確信が持てるよ うになった • 考慮不足な箇所も明確に • 一部の人にも見せた
9 © 2023 Techtouch. どう実現したか いけそうな感じがしたので積極的に布教活動をした 9 みんなの反応 • 資料を作成しプレゼン
• Slackや対面で継続的に情報共有 • VueとReactの違い • React版で改善される点、など
10 © 2023 Techtouch. どう実現したか React化検討のSlackチャンネルも作り、気合を入れた提案資料も作った 10 みんなの反応 • ユーザーにとって何が嬉しいか
• 開発者にとって何が嬉しいか • より詳細な設計 • 開発方針、など
11 © 2023 Techtouch. どう実現したか CTOと合意し移行を実施 11 • 既存プロダクトと並行して開発 •
みんなの協力を得ながら約1年かけて完成 2018 2019 2020 2021 2022 Vue版開発チーム React版開発チーム 正規リリース 追加機能や機能変更を適宜反映
12 © 2023 Techtouch. どう実現したか 時系列まとめ 12 2019年5月 6月 7月
8月 9月 10月 11月 12月 1月 2月 2021年3月 React版を作る React化の資料 第1弾を作成する 布教活動する CTOと合意 React化の資料 第2弾を作成する 本格始動 React版 リリース
成功要因の分析
14 © 2023 Techtouch. 成功要因の分析 1. 効果や工数を見積もる前に行動した • 最初にそこまで考えきれない(というより見積もるための知識も時間もない) •
直感を信じて行動することも大事 2. 誰に言われたわけでもなく自ら行動した • コンセンサスも取らずに行動した • ただやってみたい、試してみたいという思いで始めた • 自ら行動することで最後まで高いモチベーションで取り組むことができた 3. 実際に動くものを作った • 実際に動くものを作ることで自分の中にあったソリューションのイメージがより鮮明になった • 動くものがある方が説得力も増す • ある程度形にするまでであればそこまで工数はかからない ◦ 実際作るのにかかったのは30時間ほど(数人で1年かけるのに比べたら誤差) ◦ 細かい部分の作り込みや自動テストの作成、レビュー、QAなどのが方が時間がかかる事が多い
15 © 2023 Techtouch. 成功要因の分析 4. 布教活動を継続的に行なった • プレゼンしたり、Slackや対面での会話で話題に出したり •
バグが起きたり開発時に課題を感じたりする度にみんなの脳裏によぎるようになる • みんなのモチベーション向上に繋がる ◦ チーム開発なのでみんなのモチベーションを上げることが大事 ◦ 一人だけやる気になってもダメ ◦ みんなが良いと思って作ることが大切 • 建設的な意見をもらうことができる • 大きな決断はなかなかすぐにはできない ◦ 実際に開発を本格的に始めたのは活動を開始してから半年後
16 © 2023 Techtouch. 成功要因の分析 5. いちエンジニアが行動に移した • いちエンジニアとCTOでは視点も視野も違う •
アーキテクチャの部分はどちらも見ているが手薄になりがちだった ◦ テックリードがいれば話は違っていたかもしれないが当時はいなかった • 実際に形にできるのはエンジニアなのでエンジニアが 率先して行動するのが望ましい
さいごに
• いちエンジニアでも大きな技術的負債の解消は実現できる • 負債が解消できるかどうかはエンジニアの行動次第!
すべてのユーザーが システムを使いこなせる世界に システム導入だけで終わらせない、利活用のためのDXプラットフォーム