---
title: Swift の特色 Lightning Talk #odewc
tags:  #swif #オホーツク #odewc #網走  
author: [熊谷友宏](https://image.docswell.com/user/es_kumagai)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/GJ5MVR12J4.jpg?width=480
description: 8月22日の「オホーツク最高！CYBER TEAM IN ODEWC@網走」で発表したスライドです。iOS アプリ作りをしていないとなかなか触れない気がする Swift 言語の特色を、駆け足でざっくり紹介してみました。
published: August 22, 26
canonical: https://image.docswell.com/s/es_kumagai/Z6NLRE-2026-08-22-150554
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/GJ5MVR12J4.jpg)

Swift の特色
Lightning Talk
熊谷友宏
@es̲kumagai
2026/08/22 オホーツク最高！CYBER TEAM IN ODEWC@網走


# Page. 2

![Page Image](https://bcdn.docswell.com/page/9E293D117R.jpg)

▶︎
▶︎
▶︎
熊谷 友宏
Tomohiro Kumagai
Swift 言語が好み
みんなで楽しむ勉強会が好み
次は何をしようか ̶ 道迷い傾向


# Page. 3

![Page Image](https://bcdn.docswell.com/page/D7Y412Z4EM.jpg)

近況


# Page. 4

![Page Image](https://bcdn.docswell.com/page/VENY2836J8.jpg)

▶︎
▶︎
▶︎
Okhotsk DEW Community 勉強会 @ 北見
2026/05/23 北見 @ 西地区公民館
発表してきた。
『ほんのちょっとだけ Ruby on Rails してみた』
前々回の初網走に続き、前回、はじめての北見
戦利品
きーたん


# Page. 5

![Page Image](https://bcdn.docswell.com/page/Y79P1K9RE3.jpg)

技術同人誌 制作
2016/12/29 〜 @ 同人誌即売会 各種


# Page. 6

![Page Image](https://bcdn.docswell.com/page/G78D4R9G7D.jpg)

▶︎
▶︎
第二種電気工事士 学科試験
2026/05/24 北見 @ 日本赤十字 北海道看護大学
Okhotsk DEW Community 勉強会から
帰るついでに受験してきた
眺めの良い街を歩くのが心地良かった


# Page. 7

![Page Image](https://bcdn.docswell.com/page/L7LM6KWXJR.jpg)

2026/06/28 大阪 @ うめだＭホール
頒布してきた。
新刊
→ 千歳アウトレットモール・レラ特集＋
おもバザ初の大阪開催は大盛況
次回開催は 2027年6月27日
個人的には 7年ぶりの大阪訪問
⋯
▶︎
▶︎
▶︎
▶︎
おもしろ同人誌バザール 大阪
遠い


# Page. 8

![Page Image](https://bcdn.docswell.com/page/4EMY5293EW.jpg)

▶︎
▶︎
▶︎
北海道漁業就業支援フェア 観覧
2026/07/11 札幌 ＠ アスティホール
北海道の漁業に関心が湧いて
どんな世界なんだろう
北海道各地から 24 団体ほどが出展
オホーツクでの漁業の話も、少しばかり
聞けたりしたり


# Page. 9

![Page Image](https://bcdn.docswell.com/page/PER93MGRJ9.jpg)

▶︎
▶︎
▶︎
囲碁×将棋トークイベント
盤上の勝負師たち 観覧
2026/07/19 東京 ＠ 白瀧呉服店
囲碁と将棋の対談イベント
囲碁界 → 芝野虎丸 棋聖、木部夏生 三段
将棋界 → 佐藤天彦 九段、野原未蘭 女流二段
和やかに進むトークが心地良かった
囲碁に興味を持ってもらうにはどうしたら良いか ̶
そんな話も興味深くて


# Page. 10

![Page Image](https://bcdn.docswell.com/page/P7XQ4VXYEX.jpg)

2026/08/01 東京 ＠ 囲碁将棋喫茶 樹林
２度目の囲碁シルオフ会に参加
ゲームの外で囲碁を打つのも楽しい心地
思っていたよりか、
自分も勝てたりするみたい
⋯
▶︎
▶︎
▶︎
囲碁シル交流会 参加
と知る


# Page. 11

![Page Image](https://bcdn.docswell.com/page/37K9ZQW47D.jpg)

▶︎
▶︎
やさしい Swift 勉強会 SEASON 2
2025/12/03 〜 YouTube Live
株式会社ゆめみさんで開催していた勉強会が
楽しかったので、終わったあともそのまま継続
YouTube ライブで 13:00 から、
基本「月・水・金」で配信中


# Page. 12

![Page Image](https://bcdn.docswell.com/page/LJ3WDP1DJ5.jpg)

▶︎
▶︎
▶︎
とりあえず読書会 &amp; 読書実況
2025/07/09 〜 YouTube Live
やさしい Swift 勉強会が「自分の」タメになっている実感なので、
同じような方式で気になる技術文書を眺めてみたり
YouTube ライブで、だいたい毎日
21:00 から配信中
これまでに読み進めたもの
• The Rust Programming Language
• SwiftUI Tutorials
• Ruby ‒ Documentation
• The Python Tutorial
• Codex | OpenAI Achademy


# Page. 13

![Page Image](https://bcdn.docswell.com/page/8JDKPLX2EG.jpg)

▶︎
▶︎
▶︎
囲碁シルしながら雑談配信
2026/04/18 〜 YouTube Live
何をするにも、
自分だけでやっても意味ないような 心地のこの頃
囲碁シルもそんな気持ちで配信してみる
自分初のゲーム配信？


# Page. 14

![Page Image](https://bcdn.docswell.com/page/VEPKN2PL78.jpg)

今後の予定


# Page. 15

![Page Image](https://bcdn.docswell.com/page/27VVKD267Q.jpg)

同人誌即売会
評論情報ザフェスタ
2026/09/21 神奈川 @ 川崎市産業振興会館
旅チケット 13
2026/10/10 東京 @ 大田区産業プラザ PiO
おもしろ同人誌バザール
2026/11/01 東京 @ ベルサール神保町
技術書典 21（未確定）
2026/11/23 東京 @ 池袋サンシャインシティ


# Page. 16

![Page Image](https://bcdn.docswell.com/page/5JGLQYR27L.jpg)

Swift の特色
L i g h t n i n g Ta l k


# Page. 17

![Page Image](https://bcdn.docswell.com/page/47QYKMV9EP.jpg)

Swift の特色
コンセプト
• Fast
プログラムの高速動作
Expressive
• 初心者でもわかりやすい簡潔なコード
• Safe
メモリー安全性とデータ競合安全
Interoperable
• C/C++ コードとの相互運用
• Adaptable
組込用途からサーバー用途まで、幅広い適応性


# Page. 18

![Page Image](https://bcdn.docswell.com/page/KE4WPVWRJ1.jpg)

Swift の特色
マルチプラットフォーム
• iPhone アプリ開発
その他の
Apple
プラットフォーム
•
-
iPad
Mac
Apple Watch
Apple TV
Apple Vision
• Windows
Linux
•


# Page. 19

![Page Image](https://bcdn.docswell.com/page/L71Y93YVJG.jpg)

Swift の特色
実行方式
• コンパイル方式
逐次実行方式
• シェルスクリプトのようにも使用可能
#!/usr/bin/swift
print(&quot;Hello, Shell Script in Swift!&quot;)


# Page. 20

![Page Image](https://bcdn.docswell.com/page/G7WGQPG3E2.jpg)

Swift の特色
公式ガイドライン
• Swift API デザインガイドライン
要領をコンパクトにまとめた指針
•
好きな記述
•
- 関数は、流暢な英語表現になるように定義
- 専門用語は、それを使わなければ意味を正確に
伝えられないときに限って使う（略語も同様）


# Page. 21

![Page Image](https://bcdn.docswell.com/page/4JZLWKLGE3.jpg)

Swift の特色
公式ガイドライン
関数は、流暢な英語表現になるように定義
関数定義
struct Collection {
func insert(_ element: Element, at position: Int)
}
関数の使用
values.insert(value, at: 4)


# Page. 22

![Page Image](https://bcdn.docswell.com/page/YE6WGQWQEV.jpg)

Swift の特色
公式ガイドライン
専門用語
間違い・誤解を招く例
enum Event {
case seismicEvent
case explosion
}
精密に意味を伝えたいとき
func record(_ event: some SeismicEvent)


# Page. 23

![Page Image](https://bcdn.docswell.com/page/GE5MVRM2E4.jpg)

Swiftの言語機能
L i g h t n i n g Ta l k


# Page. 24

![Page Image](https://bcdn.docswell.com/page/97293D91JR.jpg)

Swift の言語機能
安全性チェック
• コードの安全性を Swift 言語自身が検査
-
NULL 安全
構造体における可変性／不変性の制御
列挙型の網羅性
並行安全性


# Page. 25

![Page Image](https://bcdn.docswell.com/page/DJY412447M.jpg)

Swift の言語機能
安全性チェック
NULL 安全
struct Ticket {
var departure, arrival: String
var reservedSeat: Int?
}
if let seat = ticket.reservedSeat {
print(&quot;Reserved: &quot;, seat)
} else {
print(&quot;Unreserved&quot;)
}


# Page. 26

![Page Image](https://bcdn.docswell.com/page/V7NY28Y6E8.jpg)

Swift の言語機能
安全性チェック
構造体における可変性／不変性の制御
struct Counter {
var count: Int = 0
mutating func increment()
func times(_ predicate: (_ n: Int) -&gt; Void)
}
var counter = Counter()
let counter = Counter(count: 6)
counter.count = 5
counter.increment()
counter.times { n in print(n) }
counter.times { n in print(n) }


# Page. 27

![Page Image](https://bcdn.docswell.com/page/YJ9P1KPR73.jpg)

Swift の言語機能
安全性チェック
列挙型の網羅性
enum Weather {
case sunny, cloudy, rainy, snowy
}
switch weather {
case .sunny: print(&quot;晴&quot;)
case .cloudy: print(&quot;曇&quot;)
case .rainy: print(&quot;雨&quot;)
}


# Page. 28

![Page Image](https://bcdn.docswell.com/page/GJ8D4RDGJD.jpg)

Swift の言語機能
安全性チェック
並行安全性
struct Item: Sendable {
var name: String
}
func storeItem(_ item: Item) async
let item = Item()
await storeItem(item)


# Page. 29

![Page Image](https://bcdn.docswell.com/page/LJLM6KMXER.jpg)

Swift の言語機能
メモリー管理
• 参照型は、自動参照カウント管理
共有数を常時把握し、使われなくなったら直ちに解放する
• 値型は、自動複製
共有しないことで、扱いを簡単にする


# Page. 30

![Page Image](https://bcdn.docswell.com/page/47MY52Y37W.jpg)

Swift の言語機能
プロトコル
• 他の言語では「インターフェイス」とも呼ばれる
- 型がどんな特色を持つかを表現する
- 型に縛られないプログラミング
•
プロトコル指向
プロトコルを主軸に組み立てるのが Swift の流儀


# Page. 31

![Page Image](https://bcdn.docswell.com/page/P7R93M9RE9.jpg)

Swift の言語機能
プロトコル
型の特色を表現
struct Array: Collection, Equatable, Hashable, Sendable,
ExpressibleByArrayLiteral, Encodable, Decodable
型に縛られないプログラミング
func count(of values: some Collection)
extension BinaryInteger {
init(fromBase64 value: String)
}


# Page. 32

![Page Image](https://bcdn.docswell.com/page/PJXQ4VQY7X.jpg)

Swift の言語機能
型拡張
• 型に機能を後付けできる
コードの記述に統一感
•
- 型変換
- 機能の呼び出し
• 既存の型にプロトコルを適合可能
→ プロトコル指向を支える重要な機能


# Page. 33

![Page Image](https://bcdn.docswell.com/page/3JK9ZQ94JD.jpg)

Swift の言語機能
型拡張
型への機能後付け
extension String {
func store(to store: some Store) {
}
⋯
}


# Page. 34

![Page Image](https://bcdn.docswell.com/page/LE3WDPWDE5.jpg)

Swift の言語機能
型拡張
型変換の統一感
struct ID
extension String {
init(_ id: ID)
}
let id = ID()
view.text = String(id)


# Page. 35

![Page Image](https://bcdn.docswell.com/page/8EDKPLK27G.jpg)

Swift の言語機能
型拡張
機能使用時の統一感
extension Collection where Element: AdditiveArithmetic {
var sum(): Element
}
let values = [1, 2, 3, 4, 5]
print(&quot;Count:&quot;, values.count)
print(&quot;Total:&quot;, values.sum)


# Page. 36

![Page Image](https://bcdn.docswell.com/page/V7PKN2KLJ8.jpg)

Swift の言語機能
型拡張
既存の型へのプロトコル適合
protocol Storeable {
func store(to store: some Store)
}
extension String: Storeable {
func store(to store: some Store)
}
let value: any Storeable = &quot;ABC&quot;


# Page. 37

![Page Image](https://bcdn.docswell.com/page/2JVVKDV6JQ.jpg)

▶︎
▶︎
Enjoy! Swift
Thank you
Swift の特色
熊谷友宏
@es̲kumagai
• コンセプト
• マルチプラットフォーム
• 実行方式
• 公式ガイドライン
Swiftの言語機能
• 安全性チェック
• メモリー管理
• プロトコル
• 型拡張


