Swift プログラミング言語に取り組んでいるチームは、次期バージョン 5.3 の目標に「Windows および追加の Linux ディストリビューションのサポートを追加すること」が含まれると述べた。
SwiftはAppleが開発し、2014年9月に初めてリリースされたプログラミング言語です。Objective-Cの代替として、より安全で生産性の高い言語として瞬く間に人気を博しました。Appleは2015年12月にSwiftをオープンソース化し、他のプラットフォームへの移植への関心が高まりました。現在、公式にサポートされているのはAppleプラットフォーム(macOS、iOS、iPadOS、tvOS、watchOS)とLinuxのみですが、Appleは「コミュニティメンバーが積極的により多くのプラットフォームへの移植に取り組んでいる」と述べています。
IBMはサーバーサイドSwift用のKituraフレームワークをスポンサーしていましたが、2019年12月に採用率の低迷によりサポートの大部分を撤回しました。とはいえ、公式のSwift Server Work Groupは現在も存在し、Swift NIO(イベント駆動型ネットワークフレームワーク)などのプロジェクトも進行中です。VaporはmacOSとUbuntuで動作するWeb開発フレームワークです。
IBM、「オープンソースの優先順位の見直し」後、Swiftとの関係を調整
続きを読む
では、Windowsではどうでしょうか?Swift開発をサポートするための取り組みはいくつか行われてきました。RemObjectsは、多数のプラットフォーム(.NET、Android、Java、Windows、Linux、WebAssembly)を対象とした独自のSwiftコンパイラを提供していますが、互換性は完璧ではありません。
Windows向けのオープンソースSwiftは存在しますが、現在は開発が停滞しているようです。Windows Subsystem for Linux(WSL)を使ってSwiftコンパイラを実行することは可能ですが、対話型コマンドラインであるREPL(Read Eval Print Loop)はWSL 1.0では動作しません。Windowsでコーディングしたい開発者にとって、SwiftツールチェーンをDockerコンテナで実行することも解決策の一つです。
Windows Swift開発者を目指す方にとって朗報は、WindowsネイティブSwiftへの公式ルートがかなり進んでいることです。このプロジェクトは、ネイティブWindowsだけでなくLinuxとDockerもカバーしているため、swift-windowsではなくswift-buildと呼ばれています。Windows 10の最小バージョンは10.0.17763.0(2018年10月更新)です。Windows向けの開発とビルドは少し面倒ですが、完全にサポートされたリリースがあれば、間違いなくスムーズになるでしょう。
重要な発表は1月に行われました。Swift 6の目標として「Swiftが利用可能かつサポートされるプラットフォームの数を拡大する」ことが明記され、「SwiftのWindows移植の立役者」と評されるSaleem Abdulrasool氏がコアチームに加わりました。そして今回、Swift 5.3のプロセスに関する発表では、「Windowsおよび追加のLinuxディストリビューションのサポートを追加する」ことが明記されています。
WindowsとLinuxでのSwiftのサポート強化は普及を促進するでしょうが、これは主にサーバーサイドや非ビジュアルコード向けになるでしょう。機械学習モデルの操作に使用されるTensorflow向けのWindows Swiftは、Vaporのようなプロジェクトと並んで優れたユースケースです。
ここではGUI
では、GUIアプリケーションはどうでしょうか?SwiftUIはAppleのオペレーティングシステムに縛られているため、これは問題です。解決策はいくつかありますが、残念ながら、macOSやiOS向けのSwiftアプリケーションをWindows用に再コンパイルするというアイデアは実現不可能です。
もう一つの課題は、オープンソースのSwiftコミュニティが、クロスプラットフォームSwiftが製品品質のリリースを実現するための十分な勢いを生み出せるかどうかです。AppleはSwiftをオープンソース化しましたが、自社プラットフォーム以外のプラットフォームに投資するインセンティブはほとんどありません。Swiftは、Appleプラットフォーム向けの開発者のコーディング生産性を向上させるために開発されました。クロスプラットフォームSwiftの進展は遅れています。
したがって、慎重に進める必要がありますが、Windows版Swiftは、広く受け入れられている言語にとって、依然として画期的な出来事となるでしょう。Swiftは最近、意外な人物から称賛を受けました。長年C#のクロスプラットフォーム化に取り組んできたMicrosoftのミゲル・デ・イカザ氏です。「Swiftの技術的魅力は数多くありますが、その全てを列挙するつもりはありません。それはすでに他の方々がされています。しかし、私自身はSwiftの実践者ではなく、傍観者だったため、見逃していた興味深い点をいくつか指摘したいと思います」と、彼は先週語りました。Swiftのクロスプラットフォーム化は、他の人々にもSwiftに注目するきっかけとなるかもしれません。®