Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
⚪⚪の⚪⚪をSwiftUIで再現す る
Search
Sugiy
March 04, 2025
Programming
0
250
⚪⚪の⚪⚪をSwiftUIで再現す る
Sugiy
March 04, 2025
Tweet
Share
More Decks by Sugiy
See All by Sugiy
The Flutter Journey of Building a Live Streaming App — With a Side of Performance Tuning
u503
1
320
Swiftで我が家を より便利に、安全に!
u503
0
2.8k
PotatoTips_73.pdf
u503
0
100
Swiftでドローンを飛ばしてみた
u503
0
500
Other Decks in Programming
See All in Programming
登壇は dynamic! な営みである / speech is dynamic
da1chi
0
390
業務でAIを使いたい話
hnw
0
200
Leading Effective Engineering Teams in the AI Era
addyosmani
7
670
Module Proxyのマニアックな話 / Niche Topics in Module Proxy
kuro_kurorrr
0
140
マンガアプリViewerの大画面対応を考える
kk__777
0
420
Swift Concurrency 年表クイズ
omochi
3
170
コードとあなたと私の距離 / The Distance Between Code, You, and I
hiro_y
0
210
他言語経験者が Golangci-lint を最初のコーディングメンターにした話 / How Golangci-lint Became My First Coding Mentor: A Story from a Polyglot Programmer
uma31
0
480
実践Claude Code:20の失敗から学ぶAIペアプログラミング
takedatakashi
18
9.2k
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
610
ALL CODE BASE ARE BELONG TO STUDY
uzulla
28
6.8k
AI 駆動開発におけるコミュニティと AWS CDK の価値
konokenj
5
290
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
272
21k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
34
2.3k
Context Engineering - Making Every Token Count
addyosmani
8
320
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
4 Signs Your Business is Dying
shpigford
186
22k
Balancing Empowerment & Direction
lara
5
710
BBQ
matthewcrist
89
9.9k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.7k
How to train your dragon (web standard)
notwaldorf
97
6.3k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
Done Done
chrislema
185
16k
Transcript
⚪⚪の⚪⚪をSwiftUIで再現す る Swift愛好会 20250304 in DeNA Sugiy/Yugo Sugiyama
README 1. Sugiy/Yugo Sugiyama(Yugo Sugiyama) 2. iOS/Flutterエンジニア 3. Flutter製のスポーツ系ライブ配信サービスの開発をしてます 4.
和食と和菓子と魚が好き 5. 先週注文住宅の長い長い要件定義が終わった!
この形をSwift(UI)で再現しようと思った時に 困ったことはありますか?
実際のUIデザインではなくても、 これをSwift(UI)で作ったらどうなる? って思う時がある
トレーディングカードゲームといえば?
個人的には「遊戯王カード」
「遊戯王カード」の「アニメの召喚エ フェクト」を SwiftUIで再現する Swift愛好会 20250304 in DeNA Sugiy/Yugo Sugiyama
デモ
参考アプリのダウンロード • TestFlightからダウンロードできます ◦ https://testflight.apple.com/join/s5j2zJbS ◦ いつものスライド用アプリ ◦ macOS/iOS/iPadOSをサポート ◦
OTHER > Sample Views > Yugioh Effect • https://github.com/u5-03/YugiohCardEffect
Xcodeでのコード確認
線を表示するためのPathの条件を整理する 1. 線は中央のカードの上と右、左の辺から、それぞれの方向に伸びる a. 気持ち曲がるパターンを多めに、ランダムに生成する 2. 線は直進、左or右に1度曲がり、再び直線に戻る3パターンがある 3. 曲がるパターンの時は、始点方向ではなく、終点方向に伸びる a.
曲がる時の角度は25~35度の範囲にする 4. 最初に曲がるポイントは直線時の進捗率の 10%から60%の間にする 5. 2回目に曲がるポイントは最初に曲がったポイントの進捗率より大きい or 90%までの間のどち らか 6. 各辺上の各始点はある程度ばらけるようにする a. それぞれの点を表示すべき線の数で等間隔に区切り、そのそれぞれの間隔の中でランダ ムに始点を決定する 7. 始点は中央のカードの周囲の辺、終点は外部の枠 (事実上デバイスのエッジ)の枠を指定
結論・学んだこと 1. ただロマン実装 a. パフォーマンスとかまでしっかり考えた実装になっていない b. 他にも改善したいポイントはある 2. 色々なSwiftのAPIの使い方を知ることができた a.
普段なかなか使わないAPIを試すことができた 3. 複雑な仕様の要件を言語化して、整理する能力が鍛えられそう a. 自分で実装する時も、ChatGPTなどで出力する時も、その仕様の実装レベルまでの細分化・整理が必要 4. 「⚪⚪の⚪⚪をSwiftUIで再現する」、なんか他のシリーズもできそう
ちなみに...
さらにちなみに...
おしまい