Swiftのはなし
いや〜、昨日はまさかの、まーさーかーのー新言語「Swift」の発表でした。
あまりの衝撃に寝込んでしまい今朝は11時から出勤です。ウソです。たまたま遅出なのですが。
でも、昨日寝たのは4時でした。
なぜって?そりゃあもーこれはSwift触ってみないとーでしょう。
で、明日がたまたま遅出で夜更かしできるのをいいことに、家人が寝静まった0時からいざXcode6ベータ版をインストールせん、とAppleの開発者サイトにアクセスしたのですが、なぜか該当箇所が無効になっています。「アレ?なんかヘンだぞ?でも他の人でダウンロードした人もいっぱいいるしなぁ?」としばらくゴソゴソしていて、ふと、「あ!もしかするとOS XがMavericksになってないとダメなのかも!?まだMountain Lionのままだしなあ、これもいい機会だ、ソレッ!」と勢いでアップデートし始めたのが運の尽きでした。
「...ゲッ、残り1時間...だ...と...?」
もう今にもSwiftせん、とはやってた身にこの待ち時間はツラく、またいくら夜更かしできるとはいえ、明日も仕事なのでさすがに1時にアラームセットして仮眠しましたよ。
「...さあ、そろそろだろ...お、ダウンロード終わってるな、再起動っと...」
「ん?HDにインストールを始めます?またバーが出てきた...えらく進行が遅いな...んんん?残り56分!?」
マ...ジ...か...
そしてなんとかアップデート完了したものの、既に夜中2時...。ツラい、ツラ過ぎます。しかし、これでやっとXcode6が...と再びサイトへ飛ぶも、やっぱりダメ。うええええええええええええええ、なんでえええええ!?と途方にくれたのでした。
結局、なんのことはない、その開発者サイトで私のアカウントに対して「いろいろ不具合あるかもしんないよ?」という注意に対して同意のポチりをしていなかった、というだけで、それさえ済めばすんなりiOS8betaのボタンが有効になりXcode6betaもサクっとダウンロードできたのでした...; はぁ。
...そして。
触ってみましたよ、Swift。
まー、確かにObjective-Cよりはスッキリしましたね〜。文字列の扱いがラクというかフツーになって、重い十字架を降ろせた感覚です。また、常にhファイルとmファイルの2つをペアで必要だったのが1つのswiftファイルで済むようになったのもいいですね。
ただですね。
ちょっと諸手をあげて万々歳と言えない部分も「やっぱり」ありました。
それは、私も発表からずっと気になっていたOSとの対話部分、すなわち、フレームワークとの接続がどうなっているのか(タッチパネルが触られたとか、画像を表示するとか、音を出すとか)、という部分です。
これはですね〜、結果から言うと、仕方ないとは言え、なかなか「気持ち悪い」事態になっちゃってます。
なぜなら、それらOSの主な機能を使うためのフレームワークはこれまで大量にObjective-Cで書かれたものを使わなければならないのですから。
結局、Objective-C時代の知識は必要なんですよ。
この事実は技術的に込み入ったはなしなので、今はなかなかオモテには出にくいのですが、この新言語Swiftを機にiOSプログラミングをはじめようとする人にはなかなかツラい現実だと思います。
そしてまた、私のように、やっとこさ慣れてきた者にとっては、いちいちクラスの呼び出しをSwiftの流儀に書き直すのに難儀しています。
ここがキモですね...。
このSwiftとObjective-Cの両者を華麗に行ったり来たりするには、結局相当のマスターレベルの豪の者であることが求められるのですよ。
今後、一気に出てくるでしょうがまだ世に出ているサンプルコードも少なく、今はまだ「何もできない」のが現状です。
私も自分のゲームを移植しようとしていきなりつまづいてます。根本的な理解が必要なレベルで。
こりゃあタイヘンだ...