皆さんこんにちは。「Anthrotech Advent Calendar 2025」、 22 日担当の inugaminé です。
またお前かよという声が聞こえてきそうですが、そうです。また僕です。
前々回、人生初のアドベントカレンダーとして、OSS プロジェクトである「azooKey」に初めて本格的なプルリクエストを投げ、そのプルリクエストがマージされるまでのお話「azooKey で Colemak 使いたい → PR マージまでの一日」を書かせていただき、そして前回はその azooKey を快適に使うための設定を紹介する「Caps Lock を Control + Space に置き換えて快適に azooKey を使おう!」を書かせていただきました。
今日は Anthrotech の名にふさわしく(?)、プログラミング周りのお話を書かせていただきたいなと思ってエントリーしました。
対象の読者と今回の記事について📝
今回は僕を含めプログラミング初心者の皆さんや、初めて環境構築を行う皆さん向けに手っ取り早く Swift を学ぶ環境を用意することを目的としています。というのも、本格的な環境構築(Xcode のインストール や Linux への Swift 実行環境の構築など)の方法はたくさんの方がネットに公開していますが、「Swift とはどんなもんじゃい」と気軽に始めてみるには Xcode は敷居が高いです。
そのため、通常とは違うセオリーやツールを用います。あらかじめご了承ください。
慣れてきたら、本格的な実行環境で思い思いのアプリを作成しましょう!
🖥️ 前提条件 💻
珍しく前提の項を設けました。
というのも、プログラミング言語である Swift を扱うにはちょっとした「決まりごと」があります。
OS も Playground も最新バージョンを使用するようにしてください。
2025年12月現在で実行しているバージョンは下記の通りです:
- macOS 26 Tahoe バージョン 26.1
- Swift Playground バージョン 4.6.4
環境構築、というか Swift Playground のダウンロードは以降の章で説明します。
が、まずは Swift というプログラミング言語について説明させてください。これがないと始まりません。
それでは行ってみましょう!
そもそも Swift って?🤔
パワフル。直感的。オープン
Swift は、Apple が開発したモダンなプログラミング言語です。iOS、macOS、watchOS、tvOS 向けのアプリ開発はもちろん、Linux や Windows などのクロスプラットフォームでも動作します。誰もが素晴らしいアプリを作れるように設計されています。
なぜ Swift なのか
読みやすく、書きやすい
クリーンで表現力豊かな構文により、あなたのアイデアがそのままコードになります。
驚くほど高速
Objective-Cを超えるパフォーマンスを実現。あなたのアプリは、スムーズで応答性の高い体験を提供できます。
安全性を最優先に
型安全性、変数の初期化、Optionals、Guardステートメントなど、バグを防ぐ仕組みが言語レベルで組み込まれています。コードを書く段階から、安心できます。
オープンソース
GitHubで公開され、世界中のデベロッパーが貢献しています。Swiftは、コミュニティとともに進化し続けます。
Playground で学ぶ楽しさ
Xcode と連携した Playground で、リアルタイムにコードの結果を確認。学習も実験も、もっと楽しく。
Swift は 2015 年 12 月 3 日にオープンソースとなりました。それまで Apple の製品でしか使用することができなかった言語であった Swift が、たくさんのコミュニティで開発され、今ではサーバーでも動く汎用プログラミング言語となっています☝️
なんと Android アプリも開発できるようになりつつある、今ノリにノッているプログラミング言語なんですよ。
Swift の実行環境を整えましょう
Mac 版と iPad 版が存在しますが、ここでは Mac 版を例として進めていきます。
-
「Swift Playground」をダウンロードしましょう。
「Mac のための Swift Playgrounds をダウンロード」 というボタンをクリックして、App Store からダウンロードします。 -
アプリケーションフォルダの中にある Swift Playground を起動します。
キャラクターが手を振っている画面が表示されると思います。すぐ上に「コードを学ぼう…」というボタンがあるのでクリックします。たくさんのサムネイルと入手ボタンが並んでいる画面が表示されました。ここに並んでいるのは「ブック」と呼ばれ、Playground で利用できるアプリ開発における実践的なチュートリアルです。今回は詳しい説明は割愛しますが、興味があれば後ほど見てみてください。 -
下にスクロールすると、ブック欄があります。
ブック欄を右にスクロールすると、「ブック」という名前のブックがあります。文字で読むとこんがらがってきますが、多分見たらすぐに分かります。 -
入手ボタンを一度だけ押し、ウィンドウを閉じる赤ボタンの右にある「戻る」ボタンをクリックしましょう。
すると、「マイプレイグラウンド」というブックが一覧に並んでいると思います。
今回はこれを使って進めていきます!ダブルクリックで開きましょう。
初めての Swift
プログラミング言語を始めるにあたって、皆さんも通過儀礼として世界に挨拶をしてみましょう。
エディターの「クリックしてコードを入力」となっている部分をクリックし、以下のコードを入力します。
print("Hello, world!")
Swift では、文の最後にセミコロン;などは不要です。
入力できたら、下の方にある「▶️コードを実行」ボタンを押します。
……何も起こりませんね。まぁ落ち着いてください。
実行ボタンの右側に、おそらく赤い丸がついているボタンがあると思いますのでクリックしてみましょう。
新しい枠が出てきて「Hello, world!」の挨拶が表示されています。
おめでとうございます! Swift の言葉で世界に挨拶ができました。これであなたもデベロッパーです。
コードを詳しく見てみましょう。
print()
これは画面(正確にはコンソールと呼ばれる場所)に、指定したメッセージや値を表示するという命令です。
"Hello, world!"
文字の部分、つまりコードに直接書かれた値のことを「リテラル」と呼びます。(文字の場合は文字リテラルと呼んだりもします)
Challenge!: 試しにコードを少し書き換えて自己紹介をしてみましょう。
文字列を表示するには、ダブルクォートで囲っている必要があるので注意してください。
print("Hello, world! I'm inugaminé.")
うまくできましたか?
ここまでで、Swift を実行できる環境が用意できましたね。
Swift を使うとなると Xcode が真っ先に思い浮かびがちなのですが、初学者にとっては機能やボタンが多く、サイズも大きいので気軽に試せないのがネックな部分です。
しかし、Swift Playground を利用することで、お手軽に Swift を実行する環境を準備することができます。
さらに、Playground 上で公開されている「コードを学ぼう 1」や「コードを学ぼう 2」などは、コーディングについての基礎を学べるコンテンツとなっています。
Swift そのものの学習にはならない(!) のですが、コーディングをする上での着眼点や押さえておくべきポイント、for 文や while 文などの基本的な扱い方が学べます。
また、Anthrotech の inugaminé のページではコードを学ぼう 1、2 の攻略も解説しているので、興味がある方はぜひ覗いてみてください!👀
タイトルの回収はここまでです。皆さんもぜひ気軽に Swift を試してみてください!
以上、22 日担当の inugaminé でした!!!
以下はもっと学びたい人向けのコンテンツですよ〜🙌
さて、せっかく Swift のプログラミング環境が整ったので、もっとプログラムっぽいことがしたいですよね!
定数や変数を作ってみよう!
Swift をはじめとした、現在使われているプログラミング言語の殆どは「オブジェクト指向言語」と呼ばれ、早い話がデータと処理を「モノ」として扱う考え方です。
例えば、窓の外を走っている「車」を考えてみましょう。車には「色」とか「速度」、「燃料の残量」みたいなデータ(状態) があって、「走る」「止まる」「曲がる」みたいな動き(処理) があります。
……って言われてもよく分かんないですよね。僕もあんまりピンときません。
で、そういったデータとか処理を保存しておく「入れ物📨」として取り扱われるのが定数と変数です。さっきの Hello, world! の例では、定数や変数などの入れ物は使っていません。
ではどのように定数や変数を作る(宣言する、といいます)のでしょうか?
まずは定数を宣言してみます。定数は英語で constant というのですが、わかりやすいようにローマ字で teisuu とします。
let teisuu
次は変数を宣言します。変数は variable というのですが、分かりやすいように以下略
var hensuu
さて、Playground を見ると let や var の左に赤い丸が付いたと思います。
🔴 let teisuu
🔴 var hensuu
この赤い丸はエラーを表しています。
実は、Swift の世界では定数や変数といった入れ物を漠然と用意することができません。これは Swift が 型推論(かたすいろん) という、どんなデータの形なのかを予想する処理を行うからなのですが、このような書き方では推論が行えません。突然難しい単語が出てきましたが、今は「Swift が中身を見て、自動で適切な箱の種類を選んでくれるんだな〜」くらいの認識で大丈夫です。
で、このままでは teisuu も hensuu も宣言できません。なので、実際に箱に入れる中身を渡しましょう。
let teisuu = "これは定数です"
var hensuu = "これは変数です"
すると赤い丸が消えました。Swift が、teisuu と hensuu に使うべき型が推論できたからです。
今回は文字列のデータを代入したので、Swift が自動で文字列型であると判断しました。
ではこれを表示してみましょう。※ダブルクォーテーションが無いことに注意してください。
print(teisuu)
print(hensuu)
「▶️コードを実行」ボタンを押しましょう
これは定数です
これは変数です
と表示されました。
おめでとうございます! print() を使って、定数や変数に入っている値を表示する方法を習得しました。
さて、定数と変数は何が違うのでしょうか?
答えは、代入されたデータ(値)が変更できるかできないかです。
すでに宣言した定数と変数を使って実験してみましょう!
まずは定数で試してみます
teisuu = "文字列は代入できるかな"
teisuu に別の文字列を代入しようとすると赤い丸が付きました。これはエラーを表していたのでしたね。つまり一度値が代入された定数には別の値が代入できません。
ではteisuu = "文字列は代入できるかな"の行を一旦消して、今度は変数に代入してみましょう。
hensuu = "文字列が変更できました"
赤い丸は付きませんね。では print() で表示してみましょう。
新たに下記を記述します。
print(hensuu)
「▶️コードを実行」ボタンを押すと、上から順に
これは定数です
これは変数です
文字列が変更できました
と並んでいると思います。
おめでとうございます! 変数の値を変更する方法を習得しました。
定数とは、文字通り定まった値を保持します。
定まった数といってもよく分かんないですよね。例えば、円周率など一度も変更されないものを宣言するときに使います。途中でうっかり値を変えてしまうコードを書くと計算が合わなくなってしまいますからね。
let pi = 3.14159
こうすれば pi の内容が固定できるので、うっかり変更してしまうのを防げます。
変数はその名の通り値が変更できる箱です。
Swift の世界では、値は let を使って代入することを推奨しているようです。
これは、不要な変更を発生させるリスクを回避し、必要な部分にだけ明示的に var を使うようにしましょうという思想から来ているものです。
今は「そんなものなんだな〜」と思っておきましょう。
for 文を使ってみよう!
さて、定数や変数を使えるようになったので、次は繰り返し処理をやってみましょう。繰り返し処理というのは、同じ処理を何度も実行することです。
例えば「1から10まで数える」とか「誕生日から今年までの年を全部表示する」とか、そういうことができます。
Swift では for 文というものを使って繰り返し処理を書きます。
早速試してみましょう!
for number in 1...5 {
print(number)
}
上記のコードを記述して「▶️コードを実行」ボタンを押してみてください。
1
2
3
4
5
と表示されましたね!
これは「1 から 5 まで、順番に number という変数に値を入れて、その都度 print() を実行する」という処理です。
1...5 の部分は「1 から 5 まで」という意味で、範囲を表しています。... を使うと、両端の数字を含む範囲になります。
では、コードを詳しく見てみましょう:
for number in 1...5 {
// ここに繰り返したい処理を書く
}
-
for: 繰り返し処理の始まり -
number: 繰り返しのたびに値が入る変数(好きな名前でOK。例えば suuji とか) -
in 1...5: 1 から 5 までの範囲を指定 -
{ }: この中に繰り返したい処理を書く
Challenge!: 試しに範囲を 1...10 に変えて実行してみましょう。10まで表示されるはずです。
アドベントカレンダーっぽく!🎄
せっかくなので、もうちょっとクリスマスっぽいことをしてみましょう。
あなたの誕生年から 2025 年まで年を数えて、2025 年になったらクリスマスメッセージを表示するプログラムを作ってみます。
let birthYear = 2000
for year in birthYear...2025 {
if year == 2025 {
print("🎄Merry Christmas 2025!🎄")
} else {
print("\(year)年")
}
}
おっと、いきなり新しいものが出てきましたね😮
if というのは「もし〜だったら」という条件分岐です。ここでは「もし year が 2025 だったら、クリスマスメッセージを表示する。そうじゃなければ、年を表示する」という処理をしています。
また、\(year) という書き方は文字列補間と呼ばれ、文字列の中に変数の値を埋め込むことができます。
Challenge!: birthYear の値を自分の生まれ年に変えて実行してみましょう。自分が生まれてから今年までの年が表示されて、最後にクリスマスメッセージが出るはずです!
おめでとうございます! for 文を使って繰り返し処理ができるようになりました。
おわりに
さて、ここまで来たあなたは、もう Swift で簡単なプログラムが書けるようになっています。
Swift Playground の環境を用意して、print() でメッセージを表示して、定数と変数を使って、for 文で繰り返して、if 文で条件分岐して、更には文字列補間まで使えるようになりました。
これだけできれば、もっと色んなことができるはずです。
Swift Playground には「コードを学ぼう」シリーズもありますし、Apple の公式ドキュメントもあります。(日本語ドキュメントもありますよ!)
興味が湧いたら、ぜひ次のステップに進んでみてください!
来年はあなたも Swift で何か作ってみませんか?🛠️
以上、22 日担当の inugaminé でした。みなさん良いクリスマスを🎄!!!