Swiftが登場してから1年くらい経って、僕もSwiftを書き始めて1年くらいになります。

Swift ism01

たぶん世界で見てもSwiftでアプリをリリースした最初の500本くらいには入っているはずなので、最初に飛びついてアプリをリリースしたという点までは満足してたのですが、Swiftを使いこなしているという感じは全くありませんでした。

Swiftを書き始めて1年くらい経ったので、その間に起こった変化と、Swift2.0が出てから”Swiftらしく”コードを書くことの大事さについて気がついたのでちょっとまとめてみました。

Swiftを使い始めてから起こった変化

たぶんSwiftを書き始めて最初に起こることは”nil”についての意識の変化だと思います。

Objective-C書いていると”nil”が入ってきても「そっか〜。しょうがねぇなぁ」くらいに考えてしまうのですが、Swiftを書いていると、この「しょうがないなぁ」の感覚がなくなってきます。

最近、副作用なのかObjective-Cの(良い意味での)いい加減さがちょっと許せなくなっています。

前はCGFloatをfloatで書いていても、そこまで気にしなかったのですが、今はすご〜く気になってしまう。。。

Swiftは発表された時に”Type Safty”であることを前面に押し出していました。これはSwiftを書いているとどんどん書く側の思考にも影響を与えてくるみたいです。

アンラップしたら負けだ、アンラップしたら負けだ、アンラップしたら負けだ、みたいな感覚になると思います。

“Swiftらしく”コードを書くこと

最初はぶっちゃけアンラップ使いまくりだったし、いわゆるSwiftの型安全は「プログラマが保証できていればアンラップしてもいいんじゃない?」くらいの気持ちで使っていました(とりあえず動かした時は今でもひとまずアンラップしてしまう)。

でも最近になって、というかぶっちゃけSwiftの文法について細かくキャッチアップをしていなかったのですが、Swift2.0が出たり、勉強会に行って関数型言語についての議論を聞いたりしているうちに言語的な部分の興味が復活して最近はSwift的な思想を意識してコードを書くようにしています。

まぁSwiftある程度書いている人はだいたいそうだと思うんですけど。

あと、びっくりするというか当然といえば当然なんですけど、Swiftっぽくコードを書くことを意識するとObjective-Cを単純に書き換えたものよりもコード数が格段に短くなります。と思います。

個人的な意見としては、このコードが短くなるという現象は「Swiftっぽくコードを書こう」という意識がないと、全然起きないのではないかと思います。

SwiftでArrayではなくNSArrayを使おうと思えば使うことができます。ちょっと書き方が変わっただけで既存のコードを単純に書き換えただけなので、ある意味で安心といえば安心だと思います。

ただ、それだったら別に無理してSwiftに書き換える必要もないのではないかな〜と思います。その程度の書き換えであれば、わざわざ自分の手でやらなくてもいい感じの変換ツールをどこかの誰かが作ってくれるだろうと思いますし。

なので、せっかくSwiftを書くのであればただ単に書くのではなく、しっかりとSwiftっぽく書くことを意識して書いた方がいいと思います。

まとめ

WWDCが終わってから2ヶ月近くが経ち、そろそろiOS9対応やSwift2.0への以降なども本格的に動き始めているのではないでしょうか。

より効率良く、より美しくコードを書こうと強く意識づけしながら書くことは、これから先もずっと役立っていくことだと思うので、しっかりとSwiftらしくコードを書いていこうと思います。特に年末にオープンソース化された後、どういう動きが巻き起こるのかとても楽しみ(サーバサイドSwiftフレームワークとかできたらいいなぁ…)です。僕らアプリエンジニアは、このモダンな言語に一足早く慣れ親しむことができているわけです。

僕はまだProtocol Oriented Programmingとか夢のまた夢なくらい身についていないので、もうちょっと気合入れて勉強しようと思います。

詳解 Swift
詳解 Swift

posted with amazlet at 15.08.04
SBクリエイティブ (2015-03-02)
売り上げランキング: 4,670