Skip to content →

Xcode Playgrounds はとてもデキる子


Xcode の機能として Swift と同時に提供された Playgrounds は、ただの GUI 付き REPL 環境だと思われていることが多いですが、実はとてもデキる子です。下の絵は Apple の開発者向けサイトの Swift に関する概要ページのスクリーンショット(2016/5/24 現在)ですが、これ実は Playgrounds が動作している様子。

Apple_Swift_ScreenShot

Playgrounds でできることを一通り確認するには開発者向けページのコチラを参照するのが良いと思いますが、ここに特徴的な機能を列挙します。

  • コードの各行の実行結果の表示バリエーションが豊富。
  • XCPlayground モジュールをインポートすることで、タイムラインにビューを表示できる。
  • さらに iOS シミュレーターのようにタップなどによる操作まで行える (Interactive Playgrounds)。
  • コメントを Markdown で記述でき、かつ綺麗にレンダリングして表示できる。
  • 画像やファイルなどのリソースを Playgrounds 内に含めて使用することができる。
  • 謎のリテラル(色、画像、ファイル)表現。
  • 同じ Playgrounds ファイル内に複数のページを作成できる。
  • 外部フレームワークもインポート可能。Cocoapods なども。

これらの特徴を活かすと、下記のような用途で使用するととても楽しいし、とても捗ります!

  • ちょっとした機能のプロトタイピング(カスタムビューも!)
  • ドキュメントと実行結果付きのコードスニペット
  • Cocoapods などでインストールしたライブラリの動作確認

特にビューまわりのプロトタイピングは、プロジェクト作成してコード書いてビルドしてシミュレータ起動して…といった煩わしさが全くなく、コードの変更がすぐにビューに反映されるのでとても気持ち良いです。

ただ、Interface Builder は利用できないので、レイアウトは何かしらコードで書く必要があります。頑張ってビューの位置とサイズを計算するか、Auto Layout の NSLayoutConstraint や Visual Format Language で書くなどをしないといけません。ここでとても相性がいいのが SnapKit というライブラリ。Swift らしい記法で制約を流れるように簡単に書くことができるのでオススメ。

Playgrounds の楽しさを普及すべく、職場内の勉強会で「テーブルビューのカスタムセルをプロトタイピング」という題目で Playgrounds を使用してライブコーディングしました。セルのレイアウトが徐々にできていく過程と、最終的にそのセルがテーブルビューに並んでスクロールするというオチまでの流れがスムーズにできたことでとても評判が良かったですし、何人かは Playgrounds を使おうという気になってくれたようでした。

ということで、Playgrounds でもっともっと遊ぼう!終わり。

Published in Programming

Comments

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA