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
開発スピード向上Tipsその2.pdf
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
SatoshiN
September 23, 2020
55
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
開発スピード向上Tipsその2.pdf
SatoshiN
September 23, 2020
More Decks by SatoshiN
See All by SatoshiN
担当しているiOSアプリを全部作り直す開発中に_いろいろ半自動化した事_簡易版.pdf
satoshin303
0
73
秘伝のタレ.pdf
satoshin303
0
31
GitHub小技集.pdf
satoshin303
0
34
iOS_DC_2018_参加レポート.pdf
satoshin303
0
30
量子コンピュータ_の仕組みとQ_.pdf
satoshin303
0
220
モバイルアプリ_開発スピード向上Tips.pdf
satoshin303
0
29
Featured
See All Featured
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
420
Building Flexible Design Systems
yeseniaperezcruz
330
41k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Mobile First: as difficult as doing things right
swwweet
225
10k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
AI: The stuff that nobody shows you
jnunemaker
PRO
10
1.1k
WCS-LA-2024
lcolladotor
0
830
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
440
[SF Ruby Conf 2025] Rails X
palkan
3
1.4k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
680
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
470
Transcript
モバイルアプリ 開発スピード向上Tips その2
自己紹介 佐藤慎 (さとしん) Twitter @satoshin2071 GitHub https://github.com/SatoshiN303 最近の趣味は TIDAL で楽曲検索です
はじめに 現在所属している会社の部署変更があり、開発チームとし てこれまでよりソフトウェア設計が求められるようになりま した 所属しているチームの中での開発効率化向上の取り組み について現状の課題と合わせてお話します。
目次 - 設計損益ラインの話 - python製 の コマンドラインツール 「Cookiecutter」を利用して 使い捨て可能な設計の雛形を作る
設計損益ライン の話
受諾案件では設計の見極めが難しい 多くのお客様が求めるのは目にみえる わかりやすいアウトプットの部分 所属している会社では重厚長大案件でな い限りはスピード勝負が多く 力を注ぐべきはアウトプットの部分 しかし…
受諾案件では設計の見極めが難しい 単発・短納期で来た案件かと思えば その後に「ヨコテンしたい…」的な 相談が来たりもする 逆に長期・運用を見込んだ案件かと思えば 半年から1年でクローズやお引越し が決まるものもある
開発者や開発チームはどんな対策をすればいいのか?
賢人のお言葉 初期バージョンのシステムでやっておくと良いのは、あるべき最適なモジュー ル構造についてよく考えること。交換に備えて知見を蓄える。初期のシステ ムなら丸ごと捨てるのも悪くないかもしれないが、システムが大きくなるにつ れて個々のモジュールを捨てる方が良くなる。それができるのは、うまい具 合のモジュール境界がある時だけだ。 Martin Fowler 犠牲的アーキテクチャーより
設計や実装を使い捨て可能なものにする 出来上がったものを(なるべく) 再利用できるようにする
None
Cookiecutter とは GitHubリンク 主にPythonパッケージやDjangoなどのプロジェクトの雛形 を作成することができるツール Python関連の雛形が多いがAndroidやiOSやUnityも 雛形は cookiecutter-template で公開されてたりもするの でまずは
Forkして カスタマイズするのも有
Cookiecutter で iOSの雛形を自作してみた iOS-Blueprints-CleanArchitecture QuickStart $ brew install cookiecutter $
cookiecutter https://github.com/SatoshiN303/iOS-Bluep rints-CleanArchitecture.git
こんな感じで設定してプロジェクト作成
入力値をCookiecutterがリプレイスする
生成されたプロジェクトの確認
Cookiecutterの美味しいところ - 既存の動いてるプロジェクトをテンプレート化するの が容易 - 色々なプラットフォームに利用可能 - プロジェクトなのでCI等での運用で定期ビルドなど 運用が容易 -
GitHub等でホストしなくてローカルでも可
設計を使い捨てにするだけなら Xcodeのプロジェクトテンプレート でも同じことができるのでは?
Xcodeのプロジェクトテンプレートも自作可能
Xcodeプロジェクトテンプレート自作のツラミ - CartfileやPodfile等の設定は非常に面倒 - 作成時の Info.plistの独特なルールの把握 - 雛形自体はプロジェクトではないのでCIでの運用が面 倒になるため形骸化しやすくなる Cookiecutter
であれば (ほぼ)いつもどおりに 実装したものをテンプレートとして転用化
Cookiecutter でのテンプレ化をさらに加速させるには (iOSの場合) Embedded Frameworkとの合わせ技で 出来てる実装をテンプレ化してマイクロサービスに (iOS, Android, Flutter) AWS
Amplify との合わせ技で バックエンドとの連携を シームレスに生成して開発を爆速化する
まとめ - Cookicutter で テンプレート量産 - 既存プロジェクトも Forkして不要なものを削除してテン プレ化 -
設計フェーズは時間を掛けつつ 可能な限りは楽をしよう