Swift、オープンソース化、本当に出た!

Swiftのコンパイラや標準ライブラリなどのソースがオープンソース化され、Git Hubにて公開されました。本当にオープンソース化されたんだなと少し驚きましたが、これで他のプラットフォームでもSwiftを使える可能性が高まりました。
Welcome to Swift.org
https://swift.org
ソースのライセンスは、Apache License 2.0です。「Runtime Library Exception」という条項があり、Swift及びSwift Runtimeを使って作ったバイナリに対しては、Apache Licenseの影響が出ないようになっているようです。
Swift.org – Community Guidelines – License
https://swift.org/community/#license
同時に公開された新たな動作環境はLinuxです。OS XやiOSのときとの違いは、Objective-Cランタイムが無いため、Objective-Cの機能は使えません。しかし、標準ライブラリは移植されており、さらにコアライブラリとして、以下のフレームワークが提供されます。更に、これらもソースフレームワークのソースもオープンソースになっています。

  • Foundation
  • libdispatch
  • XCTest

Foundationは、NSArrayやNSStringなどObjective-Cの経験者にも馴染み深いクラス群です。更に、CoreFoundationも入っており、CFStringなども入っています。
libdispatchはGCDのことです。現時点ではDarwinのみとなっていますが、Linux版も進行中のようです。Linux版はpthreadベースで構築中のようです。Darwinではカーネルレベルで組み込まれているそうです。
XCTestは、Swiftコードのユニットテストを行うためのツールとフレームワークです。
私が特に重要だと思っているのは、CoreFoundationとFoundationがOSSとして公開され、これらがLinuxなど他のプラットフォームでもサポートされることになった点です。Swiftでコードを書く上で、組み込み型と標準ライブラリだけではどうしても役不足です。これらの上の層である、Foundationがあるか無いかでは大違いです。Foundation及びCore Foundationがあるということは、非常に多くの機能を実装することが出来ます。GUIに絡まないところはLinuxと共通に出来ます。Linux以外のプラットフォームもいずれはサポートされてくると思います。
Swiftでコードを書くことについて、わくわくしてきました。
個人的なコードで、Linuxにも対応するために、CとC++で書いているコードがあるのですが、今からSwiftで書き換えます。仕事のコードじゃないので、自分の興味を最優先です。

投稿者プロフィール

林 晃
林 晃macOS/iOSアプリ/SDK/ミドルウェア開発が専門の開発者
アールケー開発代表。macOS/iOSアプリ/SDK/ミドルウェア開発が専門の開発者。ObjC/Swift/C++使い。豊富な開発実務経験を基に、教育コンテンツ開発、技術書執筆、技術指導、技術セミナー講師、企業内研修講師、行政・自治体職員研修講師も行います。

基礎から学ぶMetal


「基礎から学ぶMetal」を執筆しました。本書はMetalを使ってGPUプログラミングを行うための最初のステップを解説するMetalの解説書です。

私が初めてGPUプログラミングを行ったとき、どこから手をつけて、学んでいけば良いのか分からず呆然としました。もし、あのとき、これを教えてくれればという部分を解説しました。本書で解説している部分はMetalの基礎となる部分で、Metalを使うときに必ず触れることになる部分です。

詳細

基礎から学ぶSwiftUI


「基礎から学ぶ SwiftUI」というタイトルの本を執筆しました。

SwiftUIの入門書です。

SwiftUIのコンセプトは「ユーザーインターフェイスを作るための最短パスを提供する」「一度学べば(Appleのプラットフォームの)どこにでも適用できる」です。

SwiftUIの概要から始まって、一つ一つのテクノロジートピックに注目しながらSwiftUIとは何か?どんなことができるのか?どのようなコードを書けば良いのかなどを丸々一冊使って解説しています。

詳細

関連記事

  1. Swift逆引きハンドブックのサンプルのSwift 3対応方法について…

  2. Swift 3のセミナー資料作成

  3. SwiftでCのポインタのインクリメント・デクリメントのコードを書き換…

  4. Ubuntu上でSwiftを使うためにCLionを試してみる

  5. Try CLion on the Ubuntu Linux to de…

  6. Cのバイナリデータを確保する処理をSwiftで書く

  7. Swiftは開発者を強制的に新しい世界に連れて行く

  8. SwiftでのバッファアクセスはwithUnsafeBytesを使う

最近の著書

  1. 基礎から学ぶ SwiftUI

最近の記事