モバイル開発からサーバーサイドアプリケーションまで、我々はSwift 言語に柔軟性を見出だし始めています。ですがまだSwiftには開拓されていない領域があり、Swiftエンジニアがその可能性を切り開くかもしれません。このトークでは、Kate が Raspberry Pi で…
ジェネリクスはSwift言語における悩みの種となっている面白いトピックです。Generics Manifest では、Swift の型システムが定義よりも実践に重きを置いて作られたかについて素晴らしい説明がされています。ですが、「変性のダイヤモンド」という理論では、型…
Swift が iPhone, iPad, Mac, Apple Watch そして Apple TV のアプリを開発する言語として選ばれていることはみなさんご存知でしょう。この数年、Swift は Linux で動作するサーバーサイドアプリケーションを開発するのにも優れた言語としても浮上してきまし…
ほとんどのソフトウェアエンジニアは、デザイナーがコーディングする世界がより良い世界であることに同意します。 このトークでは、反対の考えを探求したいと思います。 コアデザインの原則を知っていることによって、時間を節約し、よりプロダクトに実用的…
関心の分離は、コードが再利用されないときには時期尚早な最適化とみなされることがよくありますが、我々がコードが何をしているのかを理解することに対しては大きく影響します。Swiftにおけるこの実例を紹介します。 関心の分離と単純化のためのSwiftコード…
レスポンダチェーンパターンの仕組み、Apple のフレームワークの仕組み、そしてその活用方法の例を紹介します。 レスポンダチェーンを知ろう ユーザーがこのメニューバーをタップするとそれはどこに行きどう見極めるのでしょうか それにこたえるのにレスポン…
Swift や Objective-C のフレームワークは Clang モジュールをベースとした同じモジュールシステムを共有しています。ライブラリのインターフェースとやりとりすることでヘッダファイルを置き換えますが、それぞれにエッジケースが存在します。Clang モジュ…
Swiftのコンパイラは複数のフェーズにわけて実行され、そのうちもっとも大きなものが SILの最適化です。SIL Optimizer はSwift特有のすべての最適化を担うので、SwiftのエンジニアがSILを理解しておくことは極めて重要だと考えます。このトークでは、SILの基…
Swift を学び始めるとき、Apple の公式チュートリアル 'A Swift Tour' に取り組んだ方も多いのではないでしょうか。 そして、時を経て、Swift に慣れ親しんだ今だからこそ理解し、得られるものがあります。もう少し深堀りした Swift の世界、'A Swift Tour' …
iOS 6から登場したAuto Layoutは、マルチデバイス・可変レイアウト対応が必要な現在のiOS開発において、無くてはならないものになりました。 しかしその裏側で、一体どんな仕組みでレイアウト計算が行われているのか、ご存知ですか? このプレゼンでは、Appl…