iPhoneのアプリを開発したくて本を購入してみたり、勉強会に出てみたりしましたが簡単な表示ブログラムぐらいしかできず、「あーこういう感じね!」とつかめるところには至らない私です。
先週八王子で行われたSwift勉強会に出てみて、「あ!これなら出来るんじゃないかな♪」と思えました。
超訳 Swiftって何?
私の理解しているところのSwiftなのですが「今までは主にobjective-cという言語を使って開発しなければならないiPhoneアプリをswiftという言語でも開発できるようになった」ものだと思っています。
まだ正式版のswiftは公開されていませんが、β版が利用できるようになっています。xcodeバージョン6で開発を行えるのですが、そこにplaygroundsというデバッグツールが実装され、これがとても使いやすいものだと思います。
swiftは圧倒的に分かりやすかった♪
コードが見やすい!
まず、今までやろうとしていたobjective-cのコードはとても複雑に感じていました。あくまでも私の見解なので、一般的ではないのですが。
それに較べたとき、swiftは
// 型推論 var num = 2 var float = 2.5 // 型指定 var name:String = "Yamada" var age:Integer = 22
こういう感じで「見ればわかる」的に思えました。
またこのコードはコメントにあるように型を指定しなくても(numとかfloatと書いてあるのは変数名です。分かりやすくするために型みたいな名前になってます)型を推論してうまいことやってくれるようです。これはphpで型を指定せずにコーディングしている私にはありがたいわ~と思える機能です。また、型を指定して変数を定義することもできます。どちらでもいい、ということだそうです。
if文も見れば分かる感じ
// if文 if name.isEmpty { name = "nobody" } else { name = "Mr." + name }
うん、うん、分かる分かる…
playgroundがとてもわかりやすい
xcode6でswiftをコーディングするのですがplayground(という機能)で、リアルタイムの変数の値がその行に表示されます。これはデバッグしながらコーディングしているようでとてもわかりやすいです。
var tuple = (120, "AAiiiu") tuple.0 // 120 tuple.1 // "AAiiu"
上のコードだと // で書いてあるコメント内容が自動的に右側に表示されます。
appleのサイトに画像がありました
コードを左側に書き、右側にある灰色の列に変数の内容などが表示されます。常にウォッチ式が書かれてるというか、そういう感じで分かりやすいです。一番右側の部分はオプションで表示するのですが、「画像」や「変数がloopでどのように変化するかなどの状況がわかるグラフ」が表示されます。
appleのデベロッパー向けサイトにもっとコードも載っています。これを見ると全体的に分かりやすいなぁ、想像つくなぁって感じます♪
コンパイル言語なのにインタープリターのよう
コンパイル言語(らしい)のですがインタープリターのように、エラーがあれば行の頭に赤い丸がついてすぐにわかるようになっています。
例えば、
switch taple { case let(age, name) where age > 100: let message = "\(name) is 100 over" case let(age, name): let message = "under 100" }
のようなswitch文は間違っているということで赤い丸が付きます。というのもswitch文に書いてあるcaseは全ての場合に対応していないといけないということになっているそうなので、最後にdefault(その他の場合)を付ければよいらしいです。
この場合だと、
switch taple { case let(age, name) where age > 100: let message = "\(name) is 100 over" case let(age, name): let message = "under 100" default: let message = "default" }
と書けばエラーは消えることになります。
余談ですが、switch文ですがとてもすばらしいことに break を書かなくてもOKだそうです(^^)/。今まで何度もこれを書き忘れて「あれ~?」とデバッグに時間がかかったことか…。逆にそのケースに該当しても次のcaseでも評価して欲しいときは fallthrough と書けばいいということです。
正式版が発表されるまでに習得したい
2014年秋にリリースが予定されている iOS 8 と同時にswiftの正式版も発表されるらしいです。秋までと言ってもすぐなのですが、それまでに可能な限りswiftを勉強して今度こそ「オリジナルのiPhoneアプリ」を発表したいと思ってます。
勉強会は各所で開かれていますのでどんどん参加して行こうと思っています。
コメント