Soumettre la recherche
Mettre en ligne
React Redux Storybook Swagger でフロント爆速開発
•
6 j'aime
•
2,524 vues
S
ShotaOd
Suivre
React Redux Storybook Swaggerを導入したプロジェクトのお話
Lire moins
Lire la suite
Technologie
Signaler
Partager
Signaler
Partager
1 sur 53
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
Openstack kolla 20171025 josug v3
Openstack kolla 20171025 josug v3
Takehiro Kudou
知っておきたいSpring Batch Tips
知っておきたいSpring Batch Tips
ikeyat
Ansibleで始めるインフラ構築自動化
Ansibleで始めるインフラ構築自動化
dcubeio
私はこうやってSlackを社内で流行らせました
私はこうやってSlackを社内で流行らせました
NHN テコラス株式会社
[B24] Oracle から SQL Server システム移行の勘所 by Norio Nakamura
[B24] Oracle から SQL Server システム移行の勘所 by Norio Nakamura
Insight Technology, Inc.
PostgreSQLバックアップの基本
PostgreSQLバックアップの基本
Uptime Technologies LLC (JP)
Where狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキー
yoku0825
Azure vm の可用性を見直そう
Azure vm の可用性を見直そう
ShuheiUda
Recommandé
Openstack kolla 20171025 josug v3
Openstack kolla 20171025 josug v3
Takehiro Kudou
知っておきたいSpring Batch Tips
知っておきたいSpring Batch Tips
ikeyat
Ansibleで始めるインフラ構築自動化
Ansibleで始めるインフラ構築自動化
dcubeio
私はこうやってSlackを社内で流行らせました
私はこうやってSlackを社内で流行らせました
NHN テコラス株式会社
[B24] Oracle から SQL Server システム移行の勘所 by Norio Nakamura
[B24] Oracle から SQL Server システム移行の勘所 by Norio Nakamura
Insight Technology, Inc.
PostgreSQLバックアップの基本
PostgreSQLバックアップの基本
Uptime Technologies LLC (JP)
Where狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキー
yoku0825
Azure vm の可用性を見直そう
Azure vm の可用性を見直そう
ShuheiUda
Firestoreでマスタ取得を 効率化するいくつかの方法
Firestoreでマスタ取得を 効率化するいくつかの方法
Hirotaka Nishimiya
SharePoint Online へのアクセスを制限しよう
SharePoint Online へのアクセスを制限しよう
Hirofumi Ota
世の中のPostgreSQLエンジニアのpsql設定(第34回PostgreSQLアンカンファレンス@オンライン 発表資料)
世の中のPostgreSQLエンジニアのpsql設定(第34回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
MySQL・PostgreSQLだけで作る高速あいまい全文検索システム
MySQL・PostgreSQLだけで作る高速あいまい全文検索システム
Kouhei Sutou
大規模・長期保守を見据えたエンタープライズシステム開発へのSpring Frameworkの適用
大規模・長期保守を見据えたエンタープライズシステム開発へのSpring Frameworkの適用
apkiban
FIDO認証によるパスワードレスログイン実装入門
FIDO認証によるパスワードレスログイン実装入門
Yahoo!デベロッパーネットワーク
AWS上で使えるストレージ十番勝負
AWS上で使えるストレージ十番勝負
Akio Katayama
入社1年目のプログラミング初心者がSpringを学ぶための手引き
入社1年目のプログラミング初心者がSpringを学ぶための手引き
土岐 孝平
Tableauのつまづきポイント
Tableauのつまづきポイント
Shinji Tamura
ヤフー社内でやってるMySQLチューニングセミナー大公開
ヤフー社内でやってるMySQLチューニングセミナー大公開
Yahoo!デベロッパーネットワーク
AWS社員による怒涛のLTチャレンジ! AWS IoT EduKitで遊ぼうぜ!
AWS社員による怒涛のLTチャレンジ! AWS IoT EduKitで遊ぼうぜ!
Amazon Web Services Japan
基本に戻ってInnoDBの話をします
基本に戻ってInnoDBの話をします
yoku0825
OSS-DB Silver ポイント解説セミナー ~SQL編~ (PostgreSQL9.0)
OSS-DB Silver ポイント解説セミナー ~SQL編~ (PostgreSQL9.0)
Ryota Watabe
関数型プログラミングのデザインパターンひとめぐり
関数型プログラミングのデザインパターンひとめぐり
Kazuyuki TAKASE
01 slack導入の提案
01 slack導入の提案
ssuser68dea4
概念モデリング再入門 + DDD
概念モデリング再入門 + DDD
Hiroshima JUG
MySQLとPostgreSQLの基本的な実行プラン比較
MySQLとPostgreSQLの基本的な実行プラン比較
Shinya Sugiyama
PostgreSQLアーキテクチャ入門
PostgreSQLアーキテクチャ入門
Uptime Technologies LLC (JP)
Apache Spark の紹介(前半:Sparkのキホン)
Apache Spark の紹介(前半:Sparkのキホン)
NTT DATA OSS Professional Services
2016/12/15 SQLチューニングと対戦格闘ゲームの類似性について語る。 JPOUG Advent Calendar 2016 Day 15
2016/12/15 SQLチューニングと対戦格闘ゲームの類似性について語る。 JPOUG Advent Calendar 2016 Day 15
歩 柴田
Web開発初心者がReactをチームに導入して半年経った
Web開発初心者がReactをチームに導入して半年経った
kazuki matsumura
Reactを使ったVR環境
Reactを使ったVR環境
KatsuyaENDOH
Contenu connexe
Tendances
Firestoreでマスタ取得を 効率化するいくつかの方法
Firestoreでマスタ取得を 効率化するいくつかの方法
Hirotaka Nishimiya
SharePoint Online へのアクセスを制限しよう
SharePoint Online へのアクセスを制限しよう
Hirofumi Ota
世の中のPostgreSQLエンジニアのpsql設定(第34回PostgreSQLアンカンファレンス@オンライン 発表資料)
世の中のPostgreSQLエンジニアのpsql設定(第34回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
MySQL・PostgreSQLだけで作る高速あいまい全文検索システム
MySQL・PostgreSQLだけで作る高速あいまい全文検索システム
Kouhei Sutou
大規模・長期保守を見据えたエンタープライズシステム開発へのSpring Frameworkの適用
大規模・長期保守を見据えたエンタープライズシステム開発へのSpring Frameworkの適用
apkiban
FIDO認証によるパスワードレスログイン実装入門
FIDO認証によるパスワードレスログイン実装入門
Yahoo!デベロッパーネットワーク
AWS上で使えるストレージ十番勝負
AWS上で使えるストレージ十番勝負
Akio Katayama
入社1年目のプログラミング初心者がSpringを学ぶための手引き
入社1年目のプログラミング初心者がSpringを学ぶための手引き
土岐 孝平
Tableauのつまづきポイント
Tableauのつまづきポイント
Shinji Tamura
ヤフー社内でやってるMySQLチューニングセミナー大公開
ヤフー社内でやってるMySQLチューニングセミナー大公開
Yahoo!デベロッパーネットワーク
AWS社員による怒涛のLTチャレンジ! AWS IoT EduKitで遊ぼうぜ!
AWS社員による怒涛のLTチャレンジ! AWS IoT EduKitで遊ぼうぜ!
Amazon Web Services Japan
基本に戻ってInnoDBの話をします
基本に戻ってInnoDBの話をします
yoku0825
OSS-DB Silver ポイント解説セミナー ~SQL編~ (PostgreSQL9.0)
OSS-DB Silver ポイント解説セミナー ~SQL編~ (PostgreSQL9.0)
Ryota Watabe
関数型プログラミングのデザインパターンひとめぐり
関数型プログラミングのデザインパターンひとめぐり
Kazuyuki TAKASE
01 slack導入の提案
01 slack導入の提案
ssuser68dea4
概念モデリング再入門 + DDD
概念モデリング再入門 + DDD
Hiroshima JUG
MySQLとPostgreSQLの基本的な実行プラン比較
MySQLとPostgreSQLの基本的な実行プラン比較
Shinya Sugiyama
PostgreSQLアーキテクチャ入門
PostgreSQLアーキテクチャ入門
Uptime Technologies LLC (JP)
Apache Spark の紹介(前半:Sparkのキホン)
Apache Spark の紹介(前半:Sparkのキホン)
NTT DATA OSS Professional Services
2016/12/15 SQLチューニングと対戦格闘ゲームの類似性について語る。 JPOUG Advent Calendar 2016 Day 15
2016/12/15 SQLチューニングと対戦格闘ゲームの類似性について語る。 JPOUG Advent Calendar 2016 Day 15
歩 柴田
Tendances
(20)
Firestoreでマスタ取得を 効率化するいくつかの方法
Firestoreでマスタ取得を 効率化するいくつかの方法
SharePoint Online へのアクセスを制限しよう
SharePoint Online へのアクセスを制限しよう
世の中のPostgreSQLエンジニアのpsql設定(第34回PostgreSQLアンカンファレンス@オンライン 発表資料)
世の中のPostgreSQLエンジニアのpsql設定(第34回PostgreSQLアンカンファレンス@オンライン 発表資料)
MySQL・PostgreSQLだけで作る高速あいまい全文検索システム
MySQL・PostgreSQLだけで作る高速あいまい全文検索システム
大規模・長期保守を見据えたエンタープライズシステム開発へのSpring Frameworkの適用
大規模・長期保守を見据えたエンタープライズシステム開発へのSpring Frameworkの適用
FIDO認証によるパスワードレスログイン実装入門
FIDO認証によるパスワードレスログイン実装入門
AWS上で使えるストレージ十番勝負
AWS上で使えるストレージ十番勝負
入社1年目のプログラミング初心者がSpringを学ぶための手引き
入社1年目のプログラミング初心者がSpringを学ぶための手引き
Tableauのつまづきポイント
Tableauのつまづきポイント
ヤフー社内でやってるMySQLチューニングセミナー大公開
ヤフー社内でやってるMySQLチューニングセミナー大公開
AWS社員による怒涛のLTチャレンジ! AWS IoT EduKitで遊ぼうぜ!
AWS社員による怒涛のLTチャレンジ! AWS IoT EduKitで遊ぼうぜ!
基本に戻ってInnoDBの話をします
基本に戻ってInnoDBの話をします
OSS-DB Silver ポイント解説セミナー ~SQL編~ (PostgreSQL9.0)
OSS-DB Silver ポイント解説セミナー ~SQL編~ (PostgreSQL9.0)
関数型プログラミングのデザインパターンひとめぐり
関数型プログラミングのデザインパターンひとめぐり
01 slack導入の提案
01 slack導入の提案
概念モデリング再入門 + DDD
概念モデリング再入門 + DDD
MySQLとPostgreSQLの基本的な実行プラン比較
MySQLとPostgreSQLの基本的な実行プラン比較
PostgreSQLアーキテクチャ入門
PostgreSQLアーキテクチャ入門
Apache Spark の紹介(前半:Sparkのキホン)
Apache Spark の紹介(前半:Sparkのキホン)
2016/12/15 SQLチューニングと対戦格闘ゲームの類似性について語る。 JPOUG Advent Calendar 2016 Day 15
2016/12/15 SQLチューニングと対戦格闘ゲームの類似性について語る。 JPOUG Advent Calendar 2016 Day 15
Similaire à React Redux Storybook Swagger でフロント爆速開発
Web開発初心者がReactをチームに導入して半年経った
Web開発初心者がReactをチームに導入して半年経った
kazuki matsumura
Reactを使ったVR環境
Reactを使ったVR環境
KatsuyaENDOH
The History of Reactive Extensions
The History of Reactive Extensions
Yoshifumi Kawai
フロントエンド技術の変遷
フロントエンド技術の変遷
Ryo Higashigawa
React.js・ReactNative・Redux入門
React.js・ReactNative・Redux入門
Kazuhiro Yoshimoto
GTC Japan 2016 Rescaleセッション資料「クラウドHPC ではじめるDeep Learning」- Oct/5/2016 at GTC ...
GTC Japan 2016 Rescaleセッション資料「クラウドHPC ではじめるDeep Learning」- Oct/5/2016 at GTC ...
Rescale Japan株式会社
Swaggerを利用した新規サービス開発
Swaggerを利用した新規サービス開発
recotech
JavaScript(AngularJS・React.js)で作る iOS・Androidアプリハンズオン
JavaScript(AngularJS・React.js)で作る iOS・Androidアプリハンズオン
Kazuhiro Yoshimoto
2014年を振り返る 今年の技術トレンドとDockerについて
2014年を振り返る 今年の技術トレンドとDockerについて
Masahito Zembutsu
なぜ初心者は webpackが解らないのか?- Why can’t you understand the webpack? -
なぜ初心者は webpackが解らないのか?- Why can’t you understand the webpack? -
健人 井関
Introducing microsoft learn
Introducing microsoft learn
ru pic
The Fastest Possible Way to Develop an Interactive App
The Fastest Possible Way to Develop an Interactive App
LINE Corporation
JJUG CCC 2017 Spring Seasar2からSpringへ移行した俺たちのアプリケーションがマイクロサービスアーキテクチャへ歩み始めた
JJUG CCC 2017 Spring Seasar2からSpringへ移行した俺たちのアプリケーションがマイクロサービスアーキテクチャへ歩み始めた
Koichi Sakata
CloudSQL v2は デキる子なのか?
CloudSQL v2は デキる子なのか?
Kumano Ryo
Rails×React×TS で作るwebアプリ入門【weseek tech conf #10】
Rails×React×TS で作るwebアプリ入門【weseek tech conf #10】
WESEEKWESEEK
React.jsでサービスを作ってみた話
React.jsでサービスを作ってみた話
GIG inc.
Reactive programming
Reactive programming
Yasuki Okumura
いま考えられる限り最も速く対話型アプリを開発する方法
いま考えられる限り最も速く対話型アプリを開発する方法
Kenichiro Nakamura
Sidekiq Proを1年ほど使ってみて良かったところ、困ったところ | 新宿.rb 29th #shinjukurb
Sidekiq Proを1年ほど使ってみて良かったところ、困ったところ | 新宿.rb 29th #shinjukurb
Koichiro Sumi
WEBサービス開発もくもく会@北千住
WEBサービス開発もくもく会@北千住
尚 平岡
Similaire à React Redux Storybook Swagger でフロント爆速開発
(20)
Web開発初心者がReactをチームに導入して半年経った
Web開発初心者がReactをチームに導入して半年経った
Reactを使ったVR環境
Reactを使ったVR環境
The History of Reactive Extensions
The History of Reactive Extensions
フロントエンド技術の変遷
フロントエンド技術の変遷
React.js・ReactNative・Redux入門
React.js・ReactNative・Redux入門
GTC Japan 2016 Rescaleセッション資料「クラウドHPC ではじめるDeep Learning」- Oct/5/2016 at GTC ...
GTC Japan 2016 Rescaleセッション資料「クラウドHPC ではじめるDeep Learning」- Oct/5/2016 at GTC ...
Swaggerを利用した新規サービス開発
Swaggerを利用した新規サービス開発
JavaScript(AngularJS・React.js)で作る iOS・Androidアプリハンズオン
JavaScript(AngularJS・React.js)で作る iOS・Androidアプリハンズオン
2014年を振り返る 今年の技術トレンドとDockerについて
2014年を振り返る 今年の技術トレンドとDockerについて
なぜ初心者は webpackが解らないのか?- Why can’t you understand the webpack? -
なぜ初心者は webpackが解らないのか?- Why can’t you understand the webpack? -
Introducing microsoft learn
Introducing microsoft learn
The Fastest Possible Way to Develop an Interactive App
The Fastest Possible Way to Develop an Interactive App
JJUG CCC 2017 Spring Seasar2からSpringへ移行した俺たちのアプリケーションがマイクロサービスアーキテクチャへ歩み始めた
JJUG CCC 2017 Spring Seasar2からSpringへ移行した俺たちのアプリケーションがマイクロサービスアーキテクチャへ歩み始めた
CloudSQL v2は デキる子なのか?
CloudSQL v2は デキる子なのか?
Rails×React×TS で作るwebアプリ入門【weseek tech conf #10】
Rails×React×TS で作るwebアプリ入門【weseek tech conf #10】
React.jsでサービスを作ってみた話
React.jsでサービスを作ってみた話
Reactive programming
Reactive programming
いま考えられる限り最も速く対話型アプリを開発する方法
いま考えられる限り最も速く対話型アプリを開発する方法
Sidekiq Proを1年ほど使ってみて良かったところ、困ったところ | 新宿.rb 29th #shinjukurb
Sidekiq Proを1年ほど使ってみて良かったところ、困ったところ | 新宿.rb 29th #shinjukurb
WEBサービス開発もくもく会@北千住
WEBサービス開発もくもく会@北千住
Dernier
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Hiroshi Tomioka
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
Dernier
(11)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
React Redux Storybook Swagger でフロント爆速開発
1.
React Redux Storybook Swagger でフロント爆速開発
2.
自己紹介 - 名前:小田翔太 - 経歴: -
上智大学卒業 - 旅行パッケージを扱うベンチャー企業でアルバイト - ビズリーチ新卒入社 (4月で2年目) - 〜10月、新卒事業部 - 〜現在、キャリアトレック事業部 - 職業:サーバーサイドエンジニア - C#(.Net), VB, SqlServer(1年) - Java, MySql(1年) - 自作WebAppFW作成中 - Carbon(https://github.com/ShotaOd/carbon) - 趣味 - サッカー - スノボ
3.
今日話すこと - 導入結果 - 実績 -
全体像 - 技術スタック - 開発フロー - 開発フロー - プレゼンテーション開発(React x Storybook) - Flux開発(Redux x Swagger) - 今後の課題
4.
導入結果
5.
実績(途中経過) - プロジェクト - CareerTrekサービスの求職者側トップページのSPA化 -
開発期間 - 約1ヶ月(2月末開始 〜 3月23日リリース) - エンジニア - 新卒×5名 - ベテラン1名
6.
全体像
7.
開発フロー(before) 要件 画面仕様 機能仕様 マークアップ実装 サーバーサイド実装 htmlテンプレート(thymeleaf ...) 非同期リクエスト(js) バリデーション(java,
js) javascript実装 (アニメーションetc) グレーゾーン
8.
開発フロー(before) 要件 画面仕様 機能仕様 マークアップ実装 サーバーサイド実装 htmlテンプレート(thymeleaf ...) 非同期リクエスト(js) バリデーション(java,
js) javascript実装 (アニメーションetc) グレーゾーン Htmlが不十分で サーバーサイド エンジニアが書き直す
9.
開発フロー(before) 要件 画面仕様 機能仕様 マークアップ実装 サーバーサイド実装 htmlテンプレート(thymeleaf ...) 非同期リクエスト(js) バリデーション(java,
js) javascript実装 (アニメーションetc) グレーゾーン Htmlが不十分で サーバーサイド エンジニアが書き直す そもそも javascript誰が書くんだっ け。。。
10.
開発フロー(before) 要件 画面仕様 機能仕様 マークアップ実装 サーバーサイド実装 htmlテンプレート(thymeleaf ...) 非同期リクエスト(js) バリデーション(java,
js) javascript実装 (アニメーションetc) グレーゾーン Htmlが不十分で サーバーサイド エンジニアが書き直す そもそも javascript誰が書くんだっ け。。。 APIの仕様が変わったから Javascriptでundefined...
11.
開発フロー(before) 要件 画面仕様 機能仕様 マークアップ実装 サーバーサイド実装 htmlテンプレート(thymeleaf ...) 非同期リクエスト(js) バリデーション(java,
js) javascript実装 (アニメーションetc) グレーゾーン Htmlが不十分で サーバーサイド エンジニアが書き直す そもそも javascript誰が書くんだっ け。。。 APIの仕様が変わったから Javascriptでundefined... フロントとバックエンドで 納品物のキャッチボール 終わらない。。。
12.
開発フロー(after) 要件 画面仕様 機能仕様 UIパーツ実装 APIドキュメント作成 Redux実装 サーバーサイド実装 フロント実装 ReactとReduxで実装すると。。。
13.
開発フロー(after) 要件 画面仕様 機能仕様 APIドキュメント作成 Redux実装 表示確認 With Storybook サーバーサイド実装 動作確認 With Swagger フロント実装 UIパーツ実装 StorybookとSwaggerを足してあげると。。。
14.
フロントの構成
15.
React Storybook フロントエンド主要技術スタック WebPack Redux react-css-module Swagger redux-thunk redux-actions プレゼンテーション Flux
16.
Redux構成 Presentation Action Redux connect Prev State Reducer Next State Redux thunk Props Store Middleware
17.
プレゼンテーション構成
18.
プレゼンテーション開発 React with Storybook
19.
プレゼンテーション開発トピック - jsが自由すぎて辛い - プレゼンテーションがどこでデータを受け取るか -
状態管理の意思統一 - ReactとStorybook で高速デバッグ
20.
jsの品質保証、苦労してわかったおすすめLint設定 - ベースはairbnb - CIに入れてエンジニアのソースコードへの意識向上 -
MAX厳しく but カスタマイズは必要(後述) - 例えば - comma-dangle - jsx-a11y/img-has-alt - ES6、Reactの勉強にもなる - react/jsx-boolean-value - object-shorthand ※ 人柱が必要
21.
やりすぎLintルール - consistent-return - react/prefer-stateless-function -
class-methods-use-this - arrow-body-style
22.
consistent-return - メソッドのreturnが統一されていない場合にエラー - ある条件のときだけは返り値があって、 -
ない場合に、undefinedとしたときに、冗長になる
23.
react/prefer-stateless-function - Component拡張クラスで、this・propsを一度も使用しない場 合に、Classで定義すると警告 class-methods-use-this - Class定義内で、this参照がない場合に警告
24.
arrow-body-style NG OK
25.
プレゼンテーションがどこでデータを受け取るか 参考:http://andrewhfarmer.com/react-ajax-best-practices/ 1. Root Component 2.
Container Componets 3. Redux Async Actions 4. Relay
26.
プレゼンテーションがどこでデータを受け取るか 参考:http://andrewhfarmer.com/react-ajax-best-practices/ 1. Root Component 2.
Container Componets 3. Redux Async Actions 4. Relay
27.
React 登場人物 Container Component ●
データソースを知っている(stateからデータを取得する) ● 子(Component)をたばねる ● 何をしたいかを知っている Presentational Component ● viewのパーツに相当 ● ‘具体的に何を’表示するかとかには関心がない
28.
概念図(再掲) プレゼンテーションがどこでデータを受け取るか
29.
状態管理の意思統一 - 状態は原則持たない - Reactはあくまでピュアな関数 -
例外:表示関連の状態 - サイドバーの表示状態とかまでRedux管理してられない
30.
Redux Three Principles ●
Single source of truth ● State is read-only ● Mutations are written as pure functions
31.
Storybookって - UI開発環境 兼
UIカタログ - iframeでReactのコンポーネントをうごかす - 静的なアウトプット(カタログ)の生成ができる
32.
準備① - npm install
-g @kadira/storybook - package.json
33.
準備② ./.storybook/config.js
34.
準備③ ./.storybook/webpack.config.js
35.
Storybook 実演
36.
React × Storybook
まとめ - アプリケーションに組み込まずに開発 - Lintをあえて入れない - レスポンシブ対応チェック - データパターン分パーツを用意 - 静的ファイル生成でPM・デザイナーに確認
37.
Flux開発 Redux with Swagger
38.
Flux開発トピック - Redux構成 - state管理が自由すぎてundefined…
← redux-actions - 一方通行は良いけど、非同期処理もしたい... ← redux-thunk - Swaggerで高速開発
39.
Fluxフロー(再掲) Presentation Action Redux connect Prev State Reducer Next State Redux thunk Props Store Middleware
40.
ロジック実装 - Redux
ActionCreator① 使用ライブラリ:redux-actions ● Flux-Standard-Actionsというactionオブジェクトの規約通りに action creatorを定義してくれるライブラリ
41.
ロジック実装 - Redux
ActionCreator② コードサンプル
42.
ロジック実装 - Redux
Async Action① 使用したライブラリ:redux-thunk ● 非同期Actionを発火できるようにするためのライブラリ APIリクエスト レスポンス取得 thunk がないと... ブロック
43.
ロジック実装 - Redux
Async Action② redux-thunkがあると... request Action API Request API Response finish Action presentation middleware network show loader show data
44.
Flux開発フロー - apiドキュメント作成 - 静的apiドキュメント生成 -
api通信部分実装(モックサーバー) - サーバーサイド完成後、結合確認
45.
Swagger - API周りをサポートするとっても大きいツール群 - OpenAPI
Specification(Swagger Specification)という規約 - JSON or YAMLで記述 今回使用するツール - ドキュメント作成 - swagger-editor - ドキュメント生成(静的) - bootprint-openapi - モックサーバー - swagger-tools
46.
APIドキュメント作成 Swagger Editor - OpenSpecificationを解釈してくれる公式のエディタ -
リアルタイムでプレビューを反映してくれる - Docker Container、node、webページとかいろいろな環境で 動くのがある - 今回は、Docker Containerを使用 (https://hub.docker.com/r/swaggerapi/swagger-editor/)
47.
静的apiドキュメント生成① bootprint-openapi - npm - npm
install --save-dev bootprint bootprint-openapi - package.json
48.
静的apiドキュメント生成②
49.
API通信部分実装 モックサーバー:swagger-tools 準備 - 認証処理は自前で実装する - CORS(Preflightリクエスト)対応する
50.
モックサーバーサンプルソース
51.
認証処理を追加
52.
CORS対応
53.
今後の課題 - Storybookのテスト機能を導入できていない - Redux
Dev Toolsを使い切れていない - ボイラープレートコードが量産されてる - 学習コスト - 関数型のデータフローへのマインドチェンジ - API仕様起点のテスト(サーバーサイド)
Télécharger maintenant