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
Swiftは最高だよの話
Search
野瀬田 裕樹
May 29, 2025
Technology
0
200
Swiftは最高だよの話
Swift宣伝資料です
野瀬田 裕樹
May 29, 2025
Tweet
Share
More Decks by 野瀬田 裕樹
See All by 野瀬田 裕樹
iOSDC2024ポスター:Swift 6に備えよう!Upcoming Feature Flagsを全て解説します!
yuukiw00w
0
6
SwiftでよりSwiftyに
yuukiw00w
0
7
より良いLint設定を追い求めて
yuukiw00w
0
82
FlutterにPull Requestを 投げてみよう!
yuukiw00w
0
27
半年で成果を出すチーム作り(Flutterチームの組成の話)
yuukiw00w
0
32
Other Decks in Technology
See All in Technology
KMP導⼊において、マネジャーとして考えた事
sansantech
PRO
1
170
スプリントゴールで価値を駆動しよう
takufujii
3
1.6k
Slackひと声でブログ校正!Claudeレビュー自動化編
yusukeshimizu
3
120
OTel meets Wasm: プラグイン機構としてのWebAssemblyから見る次世代のObservability
lycorptech_jp
PRO
0
200
AIオンボーディングとAIプロセスマイニング
nrryuya
4
930
それでもぼくらは貢献をつづけるのだ(たぶん) @FOSS4GLT会#002
furukawayasuto
1
230
Things you never dared to ask about LLMs — v2
glaforge
1
380
さくらのクラウド 開発の挑戦とその舞台裏
kazeburo
0
690
AIのための オンボーディングドキュメントを整備する - hirotea
hirotea
8
1.8k
Introduction to Bill One Development Engineer
sansan33
PRO
0
230
変化に強いテーブル設計の勘所 / Table design that is resistant to changes
soudai
46
13k
新卒から4年間、20年もののWebサービスと向き合って学んだソフトウェア考古学 - PHPカンファレンス新潟2025 / new graduate 4year software archeology
oguri
2
160
Featured
See All Featured
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.8k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
34
2.3k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
1
53
We Have a Design System, Now What?
morganepeng
52
7.6k
How to Think Like a Performance Engineer
csswizardry
23
1.6k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
32
5.8k
Optimizing for Happiness
mojombo
378
70k
Transcript
4XJGU࠷ߴͩΑͷ ΞϓϦ։ൃࣨɹాɹ༟थ
Ͱ
ͳΔ͘ଟ͘
4XJGUͷ
ྑ͍ͱ͜ΖΛ
͑·͢ʂ
ྫ֎ॲཧ͕࠷ߴ
4XJGUݕࠪྫ֎Λ࠾༻
4XJGUͷྫ֎ͷجຊϧʔϧ
// ϧʔϧ1ɿΤϥʔͷൃੜՄೳੑ͕͋Δؔఆٛඞͣthrows͕ඞཁ func main() throws {
// ϧʔϧ2ɿthrowsͷؔݺͼग़͠ඞͣtry͕ඞཁ try sample()
// ϧʔϧ3ɿthrowsؔthrows͔ؔdo-catchͷΈݺग़Մ func main1() throws { try sample() } func
main2() { do { try sample() } catch {} }
͜Ε͚ͩ
Ͱੌ͘ྑ͍
3FTVMUΑΓྑ͍ͷʁ
ྑ͍Ͱ͢
ΤϥʔͱฦΓͷϖΞΑΓʁ
ྑ͍Ͱ͢
ৄࡉলུ
ܰ͘৮ΕΔͱ
ΤϥʔϋϯυϦϯά͕ڧ੍
ΤϥʔϋϯυϦϯά͕ڧ੍ ݕࠪྫ֎ͳͷͰ
ΤϥʔͷิՕॴ͕໌֬
ΤϥʔͷิՕॴ͕໌֬ USZඞਢͳͷͰ
ෳͷࣜͷ߹͕؆୯
ෳͷࣜͷ߹͕؆୯ USZB USZC USZD CͱDͷUSZলུՄ
Τϥʔͷແࢹ͕؆୯
Τϥʔͷແࢹ͕؆୯ @USZ B
ͳͲ
৭Μͳར͕͋ΔΑ
ˣͷهࣄ͕ৄ͍͠Α 4XJGUͷΤϥʔϋϯυϦϯά ͳͥ࠷ઌͳͷ͔
ܕத৺Ͱ࠷ߴ
$MBTTͬͯਏ͍ΑͶ
Մมঢ়ଶ͕؆୯ʹڞ༗͞ΕΔ
class A { var x: Int = 0 } var
a1 = A() var a2 = a1 a1.x = 1 print(a2.x) // ग़ྗɿ1(a1ͱa2ͰՄมͳঢ়ଶ͕ڞ༗)
4XJGUͳΒ͏҆৺
ޚతίϐʔʁ
ΠϛϡʔλϒϧΫϥεʁ
͍Γ·ͤΜ
struct A { var x: Int = 0 } var
a1 = A() var a2 = a1 a1.x = 1 print(a2.x) // ग़ྗɿ0(a1ͱa2Ͱڞ༗͞Εͳ͍)
ྑ͍ײ͡Ͱ͢Ͷ
ܕ
ΠϛϡʔλϒϧΫϥεͱಉ͡ ҆શੑ
ϛϡʔλϒϧΫϥεͱಉ͡ มߋ༰қੑ
4XJGUͳΒ
ίϨΫγϣϯܕ
ܕΛѻ͏๛ͳݴޠ༷
࠷ߴ
ˣͷهࣄ͕ৄ͍͠Α )FBSUPG4XJGU
ඇಉظॲཧ͕࠷ߴ
BTZODBXBJU
"TZOD4USFBN
શ෦ඪ४Ͱ͋ΔΑ
ඇಉظॲཧͷେ
σʔλڝ߹
҆৺ͯ͠
҆શ͡Όͳ͍ίʔυ
4XJGUͳΒ
ίϯύΠϧΤϥʔʹͳΔΑ
4FOEBCMF͋Δ͠
"DUPSΊͬͪΌศརͩΑ
๛ͳݴޠػೳ
UZQFEUIPSXTʁ
͋Γ·͢
ॴ༗ݖʁआ༻ʁ
͋Γ·͢
/PODPQZBCMFʁ
͋Γ·͢
ͳΜͰେମ͋ΔΑʂ
ϚϧνϓϥοτϑΥʔϜ
J04͔͠Ͱ͖ͳ͍ʁ
ͦΜͳ͜ͱ͋Γ·ͤΜ
αʔόʔ ʢ࣮গͳ͍͚Ͳʣ
8FC ʢ੩తαΠτͳΒͶʜʣ
"OESPJE ʢ4LJQͷࠓޙʹظʣ
ΈࠐΈ ʢ&NCFEEFE4XJGU͋ΔΑʣ
ͪΖΜ
7JTJPO04
.BD04
ͳΜͰͰ͖ΔΑ
·ͱΊ
4XJGUJT࠷ߴ w ྫ֎ॲཧ͕࠷ߴʢΤϥʔϋϯυϦϯάڧ੍ɺ໌֬ͳهड़ɺFUDʣ w ܕத৺͕࠷ߴʢ҆શੑͱมߋ༰қੑͷཱ྆ʣ w ඇಉظॲཧ͕࠷ߴʢσʔλڝ߹ճආɺهड़͕༰қɺFUDʣ w ๛ͳݴޠػೳ͕࠷ߴʢੑೳٻͰ͖Δ҆͠શੑ͕ߴ͍ɺFUDʣ w
ϚϧνϓϥοτϑΥʔϜʢαʔόʔ͔Β7JTJPO04·Ͱશ෦Ͱ͖Δʣ
ଞʹ͖ͳͱ͜Ζ͋Δ
ଞͷ͖ͳͱ͜Ζ w ύοέʔδཧ͕ݴޠʹඪ४Ͱ͍ͯΔʢผͷͭΛೖΕΔඞཁ͕ ͳ͍ʣ w TPNFBOZͱ͔Ωʔϫʔυબఆ͕ྑͯ͘ಡΈ͍͢ʢݸਓతݟղʣ w ຊͷ4XJGUJ04ίϛϡχςΟ͕׆ൃͰྑ͍ਓɾڧ͍ਓଟ͍ w 4XJGUࣗମΦʔϓϯιʔεͳͷͰਐԽͷ༷ࢠ͕ݟΕͯظ͕େ͖͍
͋ͳͨ໌͔Β 4XJGUΛ ͬͯΈΑ͏
͓ΘΓ