「はてな教科書」のSwiftの教科書をSwift 2.2に対応しました

アプリケーションエンジニアの id:Sixeight です。

先日、iOS 9.3の公開に合わせてXcode 7.3がリリースされ、Swiftのバージョンが2.2になりました。 2015年12月にオープンソース化されてから、最初の公式リリースとなります。

swift.org

これに合わせてはてな教科書でもSwift 2.2の変更点を反映させたものを公開しました。

github.com

タイポの多さに定評のある筆者にとっては、Objective-Cのselectorを#selector()式で書けるようになったのは嬉しい変更でした。

// こうだったのが
let tapGesture = UITapGestureRecognizer(target: self, action: "tap:")
// こうなった
let tapGesture = UITapGestureRecognizer(target: self, action: #selector(tap(_:))

また、いくつかSwift 3.0に向けての布石が見られ、今後のSwiftの展望に心踊る一方、アプリケーションのSwift 3.0対応に思いを馳せるのでありました。

Swiftがオープンソース化されてから初めてのバージョンアップとなる今回のリリースでは、 swift-evolution という誰もが見える場所で議論された変更が中心になっています。 なぜこのような変更を行ったのか、どのように変更されたのかが見える形になっているのは、Swift を学ぶ立場からしてもとても嬉しいことです。

筆者の場合、新しい言語を学ぶときには3つの段階を踏むことが多いように思います。最初はドキュメントや書籍、Webの資料を眺めておおまかな概要を把握します。 次に、実際にその言語を使ってみて使い方を学びます。この辺りは体で覚える派なのかもしれません。 そして、ある程度使えるようになってきた段階で、改めて振り返って文法や考え方を学び直すということをします。 最初に読んでいたドキュメントや資料の内容も、使い方を覚えてから読み直すとことにより、この機能はなぜこうなっているのか、どういった考え方で作られているのかにまで目がいき、さらに理解が深まります。

はてな教科書は、最初の段階の教材の1つとしても有用であり、また理解を深める段階の教材としても使えるように構成されています。 筆者もSwiftを学び始めたときにはてな教科書を読んでいたのですが、今回Swift 2.2対応を行うにあたって全体を読みなおしたことによってさらに理解が進みました。

はてな教科書がみなさんの学習の一助となることを願ってやみません。

【はてなサマーインターンシップについて】

はてなでは2008年より毎年、学生向けの夏期インターンシップを開催しています。Webサービスやスマートフォンアプリの開発者としての技術を身につけ、実際にはてなのサービス開発を行う実践的な内容となっています。はてな教科書は、はてなサマーインターンシップの中で生まれました。

昨年のインターンの様子はこちらのはてなサマーインターン2015レポートサイトでご覧いただけます。

hatenacorp.jp

はてな教科書の変更履歴

github.com