Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Rakusmeetup_20210804_Takuya_Okamoto

txkxyx
August 05, 2021

 Rakusmeetup_20210804_Takuya_Okamoto

2021年8月4日に開催された「Rakusmeetup」で発表したスライドです。

txkxyx

August 05, 2021
Tweet

More Decks by txkxyx

Other Decks in Technology

Transcript

  1. #RAKUSMeetup 岡本 拓也 • Job ◦ 株式会社ラクス技術推進課に所属 ◦ 先行技術検証 ◦ 非エンジニア向けの技術勉強会の開催

    • Career ◦ 2017年〜Webエンジニア ◦ Spring FW、AWS、Nuxt.js ◦ Java研修講師、資格対策本の執筆 ◦ 2020年〜株式会社ラクスに入社 • Hobby ◦ 野球 ◦ 筋トレ ◦ アウトドア ▪ 釣り ▪ キャンプ 2
  2. #RAKUSMeetup 技術推進課 • 新技術を調査・検証する専門の組織として2020年立ち上げ • Mission ◦ 高い技術力を生かし、エンジニア組織の開発速度アップに寄与する • 役割

    ◦ ラクスでは導入できていない新技術の調査・検証 ▪ 新サービス立ち上げ時の開発速度アップ ◦ 各サービス開発チームへの新技術の提案、導入支援 ▪ 既存サービスの新規機能開発速度アップ 10
  3. #RAKUSMeetup 技術推進PJ • 概要 ◦ 技術ロードマップの未習得の技術を習得するための研究開発PJ ◦ ラクス開発部で習得できていない新技術を組織として習得する ◦ 1年で7〜8テーマのPJが動いている

    • メンバー構成 ◦ リーダー1名+メンバー1〜2名 ◦ 技術推進課のメンバー or 各サービス開発チームのエンジニアが参加 • 期間 ◦ 週5時間の稼働で半年間、調査・検証・成果発表を行う 13
  4. #RAKUSMeetup 技術推進PJの事例(モバイルクロスプラットフォーム) • ラクスの課題 ◦ 開発チームはWebエンジニアがメインで構成されている ◦ 既存サービスや新サービスでモバイルアプリの開発要件があった場合、 モバイルアプリ開発にかかる工数を削減できるツールを習得する必要がある •

    調査・検証内容 ◦ 以下の観点でネイティブアプリと比較して開発の省力化を評価 ▪ 開発環境、学習コスト、実装コスト、ネイティブ機能実現 ◦ Ionic Framework、React Native、Flutterとネイティブアプリ (Swift、Kotlin)を比較 14 VS VS
  5. #RAKUSMeetup 技術推進PJの事例(モバイルクロスプラットフォーム) • 結論 ◦ Flutterが最も開発を省力化できる ▪ デバッグツールやプラグインが高機能でネイティブと遜色がない ▪ DartがWebアプリエンジニアにとって学習コストが低い

    ◦ モバイルクロスプラットフォームの技術検証 - RAKUS Developers Blog | ラクス エンジニアブログ • 成果 ◦ あるサービスで新規でスマホアプリ開発の要求が上がっており、外注も視野に入れ ていたが、検証結果を元に提案することでFlutterでの内製に決定 ◦ 開発速度アップに寄与・新技術をいつでも使える状態 15 󰢏
  6. #RAKUSMeetup 技術推進PJの事例(GraphQL) • ラクスの課題 ◦ ビジネスドメイン知識に基づいて構築されるバックエンドと、柔軟に変化・多様化す るフロントエンドの間で柔軟なデータ通信を可能にしたい ◦ GraphQLが解決策となり得るか、運用上の課題についても検証する •

    調査・検証内容 ◦ モノリシックなアプリケーションと、BFFアーキテクチャのアプリケーションに GraphQLを導入してみる ◦ スキーマファーストな開発により柔軟なデータ通信が可能かを検証 16 GraphQL ➕ ➕ ➕ モノリシック BFF
  7. #RAKUSMeetup 技術推進PJの事例(GraphQL) • 結論 ◦ GraphQLを導入することでFEとBEの実装を切り離せて疎結合にできる ◦ FEとBEは定義ファイルの情報を元に必要なデータのみを取得・提供できるので、柔 軟なデータ通信を実現できる ◦

    GraphQLのアプリケーションへの組み込みを考える - RAKUS Developers Blog | ラクス エンジニアブログ • 成果 ◦ 検証→導入という流れではないが、楽楽明細で運用改善でGraphQLを導入 ◦ 研究結果とサービスでの導入実績で新技術をいつでも利用できる状態 17 お互いどう実装してるかは知らない フロントエンド バックエンド
  8. #RAKUSMeetup その他のテーマについて • その他テーマ ◦ 無停止リリース・AutoML・マイクロサービス ・CSSプラットフォーム • RAKUS Developers

    Blogで「かみせん」と検索 かみせん カテゴリーの記事一覧 - RAKUS Developers Blog | ラクス エンジニアブログ 18
  9. #RAKUSMeetup 今後の展望 • 新サービス立ち上げ時の開発速度アップに寄与する ◦ 技術ロードマップの技術を習得しラクスの技術スタックを 新陳代謝させてく ◦ 習得した技術を新サービス立ち上げ時に導入して開発速度をアップ •

    既存サービスの技術的課題への取り組み ◦ サービス固有の技術的課題に対応していく ◦ 新機能開発時の開発速度アップや運用コストの削減に寄与する 20