週刊Swift #2: Swift 2.2への自動変換

週刊Swiftは毎週さまざまな国内/海外のSwiftニュースを集めて共有するニュースレターです。急速に成長しつつ、成熟に向かっているSwiftについてまとめていきます。


オープンソースSwiftに貢献する

FacebookでInstagramアプリを開発しているiOS開発者Jesse Squiresの発表です。オープンソースSwiftに貢献するために、コンパイラの専門家である必要はありません。しかし、Swiftコンパイラがどのように動作しているかについて、おおまかなイメージを理解していれば、Swiftに貢献できるポイントを知るために役立ちます。Swiftはさまざまなプロジェクトから成り立っているので、開発スキルの高低にかかわらず、なにかしらの貢献をすることができます。

記事の更新情報を受け取る

  1. まず特定の言語のコードを扱います。フロントエンドと呼びます。
  2. フロントエンドはソースコードを構文解析して、LLVM IR(“Intermediate Representation” - 中間表現)に変換します。IRは特定のアーキテクチャに依存しない高レベルに抽象化されたアセンブリ言語です。
  3. LLVM IRはさまざまな分析と最適化を通じてコードを向上させるオプティマイザを経ることになります。
  4. 最適化されたIRはバックエンドに渡され、バックエンドはアーキテクチャにごとのネイティブ機械コードを生成します。

このようなコンパイラに関わるところ以外にも、標準ライブラリ、パッケージマネージャー、ドキュメントなど、貢献できるところはたくさんあります。誰も最初から完璧なものを期待してはいません。ぜひ躍動的に発展しているSwiftの進化に参加してみてください。

Swift 2.2のコードに簡単に変換する

Swift 3.0では++や古いスタイルのforループなどがなくなるので、そのようなコードはSwift 2.2では警告が出ます。このような変換をXcodeの”Find and Replace in Project”機能を使用して自動で変換することができる正規表現を作った開発者がいます。Swift-2.2-to-3.0-RegExというGitHubに公開されている正規表現を使って簡単に変換することができます。

Xcode 7.3リリースノート

今回新しく出たXcode 7.3にみなさんアップデートされましたか?自動補完機能が便利になりました。他にもさまざまな改善が含まれています。例えばシミュレーターで感圧トラックパッドを使用して3Dタッチ再現できるようになりました。 これ以外にもPlaygroundのコメントにビデオの表示、スタティックアナライザの改善、Swiftのツールチェインの切り替え(オープンソース版を含む)などがあります。さらに詳細は上記のリンクから確認してみてください。

オープンソースライブラリ

  • 画像処理Playground さまざまな画像処理を実際に試して学ぶことができるPlaygroundファイルです。グレースケール変換、ブラー、コントラスト・明るさの調整など、一般的な画像処理で必要な作業を動かしてみることができます。

  • In-App Purchasesライブラリ アプリ内課金を簡単に使えるようにするフレームワークです。iOS 8.0、OS X10.9.以上に対応していまます。CocoaPodとCarthageで提供されています。

  • さまざまなPermission取得の記述を簡単に iOSでカメラや位置情報など、パーミッションの要求について統一的なAPIを提供するオープンソースライブラリです。現時点でスターが1,200個を超えている人気ライブラリです。

無料の韓国語Swiftビデオ講座

ユンソングヮン(リンゴスター)氏のSwift講座がtryhelloworldで始まりました。開始とともにたくさんの講座が公開されています。無料なのでこれからSwiftを始める方には大きな助けになりそうです!

About the content

This content has been published here with the express permission of the author.


Realm Korea

Realm Korea Team

4 design patterns for a RESTless mobile integration »

close