主にiOSやmacOSなどのアプリの開発で使用されるプログラミング言語「Swift」。2014年に公開されてから、もう3年が経とうとしています。バージョンもすでに3となり、今年中にはSwift 4のリリースも控えています。GitHub上のSwiftのリポジトリ数は23万を越え、名実ともに人気プログラミング言語の仲間入りを果たしてきています。
そんな状況なので、Swiftメインなエンジニアもたくさんいることでしょう。今回紹介する「shift-js」は、Swiftメインのエンジニアの方が使えそうな、Swiftで書いたコードを、JavaScriptのコードに変換してくれるツールです。
shift-jsについて
shift-jsは、SwiftのコードをJavaScriptのコードに変換するJavaScriptで書かれたオープンソースのトランスパイラーです。Node.js上で動くnpmのパッケージです。注意して欲しいのはパッケージ名です。「swift-js」ではなく「shift-js」なのでお気をつけください。
Swiftのデータ型(Int, UInt, Double, Float, Bool, String)やコレクション型(Array, Set, Dictionary)、算術演算子や論理演算子、制御フロー(Control Flow)、関数に対応しています。
shift-jsの使い方
shift-jsの使い方はいたってシンプルです。インストールから実際にSwiftのコードをJavaScriptのコードに変換するまでの方法を説明します。なお、shift-jsを使用するには、お使いのパソコンにNode.jsがインストールされている必要があります。
Node.jsのインストールについては、当ブログの以下の記事などを参考にしてください。
shift-jsのインストール
以下のコマンドでshift-jsをシステムにインストールします。[shift.js]コマンドが使えるようになります。
swiftファイルの作成
お好きなディレクトリの中にswiftファイルを作成します。当記事では「example.swift」ファイルとして説明していきます。
Swiftのコードを書く
作成した「example.swift」ファイルをお好きなエディタで開いて、Swiftのコードを書きます。今回は簡単な例としてFizzBuzzのコードを書きます。コードを書き終わったら保存します。
shift-jsでJavaScriptに変換
「example.swift」ファイルにSwiftのコードを書いたら、shift-jsを使ってJavaScriptに変換してみましょう。ターミナル上でJavaScriptに変換したいファイルを指定して以下のコマンドを実行します。
Swiftのコードに問題がなければ、JavaScriptのコードに変換されて、新たに「example.js」ファイルが作られます。「example.js」ファイルを開くと以下のようにJavaScriptに変換されていることがわかります(ほとんど似たようなコードなので違いがわかりにくいでしょうか…)。
なお、shift.jsには「-w」をコマンドにつけることで、ファイルの保存を監視してコマンドを実行するオプションがあります。
JavaScriptファイルの実行
変換したJavaScriptのファイルを実行してみましょう。[node]コマンドを使って実行します。
コードに問題なければ、FizzBuzzの結果が表示されます。
まとめ
いかがでしたでしょうか。JavaScriptは近年、Webの世界からサーバーサイド、Nativeアプリ、IoT、VR、ゲームなどその用途の範囲を拡大しています。SwiftのコードをJavaScriptのコードに変換できるということは、JavaScriptで書いていたプログラムをSwiftでも書けるようになるということです。実用に耐えるかわかりませんが、ぜひSwiftエンジニアの方はどんなものか試してみてもらえればと思います。
コメント