KeySwiftとTitaniumObjective-Cと並んでiOS用アプリの開発に利用できる言語、Swiftが発表されました。私たち歌と踊りが大好きな陽気で愉快なTitaniumユーザーとしても注目すべきニュースです。Titaniumとは、ご存知の通り、アプリの上にJavaScript実行環境を用意して、JavaScriptを通じてアプリを実際に動かすネイティブのAPIを叩いてしまうツールです、というとわかりにくいですが、ようするにネイティブのAPIで動作するアプリがJavaScriptで書けてしまう素敵なツールです。インストールガイドを辿るくらいの手間をかけるだけで簡単にセットアップできる上に、Node.jsなどモダンなJavaScriptの知識を活かして大規模なプログラムを作成することも可能です。ややこしい設定もなくiOSやAndroidなどに対応し、慣れたユーザーなら複数のプラットフォームで動作するアプリを短期間で開発することができます。Titaniumはこれまで、JavaScriptで書かれたプログラムをアプリの上で動作するJavaScript実行環境が評価して、その結果をネイティブな環境とやり取りする仕組みで動作するものでした。現在開発中の次期バージョン、Ti.Nextと呼ばれている新しいシステムでは、JavaScriptに独自拡張を施した言語で記述するとそれらをObjective-CやJavaといった言語にコンパイルして、文字通りネイティブアプリにしてしまう仕組みが導入される予定です。本当はJavaScriptがそのままObjective-Cに変換できればいいのでしょうが、さすがにちょっと記述するのが難しいので独自の変更が入っています。現在JavaScriptとXMLでTitaniumのアプリを作成するAlloyフレームワークがあるので、ユーザーは新しい変な言語を覚えるのではなく、これまで通りAlloyでアプリを作成すれば、その他のツールチェインがよろしく取りはからってくれるよう、いわばAlloyがDSLとして機能するようになると予想されます。Underscore.jsみたいな最近よくあるJavaScriptのMVCフレームワークに似たところもあるので、慣れてしまえば結構便利です。そこへ話題のSwiftの登場となるわけですが、RubyMotionのような開発環境を提供しているサードパーディーのコミュニティは割と早めに反応しているようなので、TitaniumとSwiftのこれからについても、簡単な展望を予想してみたいと思います。このSwift、ざっと眺めたところJavaScriptとかなりよく似ています。少なくともObjective-Cの文法に追随するためのヘンテコな仕組みを必要とせずJavaScriptからのコンパイラも作成しやすいように見受けられます。そのため、特にTi.Nextのような仕組みはiOSに関しては飛躍的にTitaniumに有利になるでしょう。Swiftを覚えなくても馴染みのあるJavaScriptで記述できる上に、単純な仕組みのコンパイル部分を理解すればいろいろな応用が出来るはずです。TitaniumはバックエンドはAndroidやTizenなどプラットフォーム毎に切り離されているので、Titanium自体の開発者にとってはそれぞれに合わせてネイティブの言語でAPI層を構築するのが大変でしたが、その手間がかなり軽減されそうです。それはJavaScriptでクロスプラットフォームのアプリを作成する利用者にとっても大きなメリットになるでしょう。Titaniumの使い方として、まだObjective-CやAndroidのJavaにあまり精通していない人でも、とりあえず動作するものが作れてしまう利点を最大限に利用して、動くものを作りながら、徐々にプラットフォーム毎の仕組みを理解し、やがてはそれぞれのネイティブな言語での開発を始めるに至るブリッジの役割を求めるケースが最近増えてきているように思われます。そんな意味では、Swiftを活用するのはいったんエキスパートに任せて、JavaScriptからSwiftを利用しつつ徐々に学んでいくのも悪くないと思います。なんといっても動く製品がなければビジネスも何も始められませんからね。そうそう、METALが発表されましたが、このあたりはLanicaの人たちに頑張ってほしいですね。StartSSLをEngineYardで使う2014年のオークランド・アスレティックス。