Tizen SDK 2.2のリリース
7月末、TizenSDKの2.2のリリースが行われました。主な変更点としては、ハードウェアキー(BackキーとMenuキー)のサポート、Webアプリのセキュリティ設定の強化、Tizen UI Frameworkのデザインの刷新、IDEの機能充実、他APIの機能追加などが挙げられます。
今回のアップデートの位置づけとしては、総額400万ドルのTizenアプリコンテストについての応募用の正式な開発環境として準備されました。このアプリコンテストはTizenストアに登録することが前提となるので、つまり今バージョンがTizenストアオープン時の最初のプラットフォームバージョンということになります。
Tizenが端末として最初に発売される国は日本、フランス、アメリカ、中国、ロシアの五か国に限られています。そのため、このコンテストで日本発のアプリの活躍が期待されています。応募締め切りは11月1日となっているので、これから始めてみようと思っている方もぜひ参加を検討してみてください。
さて、Tizen SDK 2.2の内容について、この章ではインストール、もしくはアップグレードについての注意点とWebアプリのセキュリティ強化について解説します。
インストールの注意点
2.2から新しくSDKをインストールされる方に向けて、インストールでつまずきやすい箇所について述べておきます。また、さらに詳しい動作環境については、「Tizen SDKの前提条件」のページで確認できます。
まず必要な環境として、各OS向けのJava JREもしくはJDKの1.6以上(Oracle純正のJava推奨)が挙げられます。さらにMac OSの場合、ネイティブアプリ開発をするためのコンパイル環境として、CommandLineToolsのインストールも必要になります。下記のURLからCommandLineToolsをインストールしてください。
また、Mac OSでインストールマネージャーが起動できないという人は、システム環境設定の[セキュリティとプライバシー]の[一般]タブの下部[ダウンロードしたアプリケーションの実行許可]の項目を[すべてのアプリケーションを許可]にしてみてください。
Windows 8(特にインストールに失敗する64bit)については残念ながら依然サポートは表明されてはいませんが、ここで非公式にインストールする方法を紹介します。通常通りダウンロードした実行ファイルを起動するとプログラムが強制終了しますが、その後、一時ファイルが作成されているフォルダ[(ユーザフォルダ)\AppData\Local\Temp\tizensdk_(日時)]をコマンドプロンプトで開き、[javaw -jar InstallManager.jar]を実行すると本来のインストーラが立ち上がります。あとは画面のガイド通りにインストールを進めていくことができます。
Windows環境でプロセッサーがIntelベースのものではない場合、Tizenエミュレータを仮想化支援技術(Intel Vt-x)により高速動作させるためのツール「HAXM」のインストールができなくなりますが、エミュレータのHWアクセラレーションがオフになる以外については正常にSDKを使うことが可能です。
すでに2.1や2.2 Betaをインストール済みの人は、インストール済みのプログラムからinstallManagerを起動し、一度古いバージョンのSDKをアンインストールしてください。
アップグレード後のIDEの起動画面はそれ以前のものと変わらないですが、アップグレードした場合にはConnectionManagerなどの一部の画面項目が隠れてしまっていることがあります。その際には[Preferences]-[ResetPerspective]を選択して画面構成を一度リセットすることで、本来の画面レイアウトが復帰します。
Webアプリケーションのセキュリティ設定の強化
Webアプリのセキュリティ設定の強化として、FirefoxやChromeで利用され、W3Cでの策定もされているContent Security Policy 1.0が採用されました。これによって端末で表示、実行可能なリソースを種類に分けてドメイン指定できるようになりました。具体的にはJavaScriptソースが実行できるドメイン、CSSだけをインポートするドメイン、画像だけをダウンロードするドメインなど指定できるようになります。
具体的には何も入力をしていない状態だと、下記のような状態になっています。
default-src '*'; script-src 'self'; style-src 'self'; object-src 'none';
これはそれぞれ、下記の表のような具合に動作します。
default-src '*'; | 基本的にはすべてのドメインのリソースの実行を許可する |
---|---|
script-src 'self'; | ただしScriptに関してはアプリ内のリソースのみとする |
style-src 'self'; | Style(CSS)についてもアプリ内のリソースのみとする |
object-src 'none'; | objectタグについては実行を許可しない |
ここでJavaScriptをインターネット上からインポートして実行したい場合は、
script-src 'self' http://cdnjs.cloudflare.com/;
といった風に指定していきます。CSPについては、提唱元であるMozillaのサイトで詳しい解説を読むことができます。
また、アプリケーション自体のURL遷移をドメインで制限するallow-navigation設定も追加されました。ここでドメインを制限することで、アプリ内で任意のAタグのリンクなどを開いた場合に、許可されたドメイン以外のアドレスであった場合はアプリ内でなく外部ブラウザで表示されるようになります。
CSPとallow-navigationは、config.xmlのPolicyタブで設定することができます。前バージョンまでのAccess設定とCSP設定を同時に設定すると、ビルドが失敗することに注意してください。