2013年1月3日木曜日

Ubuntu for Phone

3日坊主を自称する以上、3日間は日記を続けなければと思う隠者です。

Ubuntuのサイトで何かカウントダウンされていたのに気がついていた人は多いでしょう。ついに公開された情報に、twitterは湧いていました。

Ubuntu for Phoneの発表があったのです。

特徴についてよくまとまった記事が既にありましたので、Ubuntu for Phoneの概要はそちらを参照するとよいでしょう。

上記の記事では触れられていませんが、このUbuntu for Phoneに、非常に重要なニュースが含まれていました。himamuraさんのツイートの通りです。

話題のubuntu PnoneはQt5+QMLで開発されているらしいゾ!
   

きたーーっというわけで、Qt+QMLがアプリケーションの作成に利用されているのです。いやぁ、年明け早々、Qt大好き〜な人には楽しそうな話がきましたね。

いつか見たあの夢・・・。Mの悪夢・・・。まぁ、QMLだとコードみえちゃうんじゃとか、Qt5-beta1を使ってるけど、Qt5.0.0までに機能削られてなかったかとか、QMLを賛美し過ぎだとか、色々懸念事項はあるものの、何よりまず、こういうモノが出てきた事が重要です。

Ubuntu for Phoneでは、アプリケーションの開発は、QMLあるいはHTML5という記載が、Go Mobiletというページに記載されています。

QML向けに、Ubuntu for Phoneと親和性の高いToolkitを提供するということで、既にpreview版が公開されています。

Preview晩のToolkit環境は、Ubuntu 12.10であれば、以下の2ステップでインストールできます。
  1. Qt5のインストール
    $ sudo add-apt-repository ppa:canonical-qt5-edgers/qt5-beta1 && sudo apt-get update && sudo apt-get install qt5-meta-full && echo 'export PATH=/opt/qt5/bin:$PATH' >> ~/.bashrc
  2. Ubuntu QML Toolkitのインストール
    $ sudo add-apt-repository ppa:ui-toolkit/ppa && sudo apt-get update && sudo apt-get install qt-components-ubuntu qt-components-ubuntu-demos qt-components-ubuntu-examples qt-components-ubuntu-doc notepad-qml

サイト通りだと、ここでアプリを開発してみましょうとチュートリアルに誘っていますが、とりあえず、どんなパーツがあるのか見てみましょう。ちなみに、あくまでPC版Ubuntu 上でのデモなのでさくさく動きます。
$ /usr/lib/qt-components-ubuntu/demos/launch_componentshowcase

Theming

あるアイテムのカスタム表示のスイッチですかねぇ。


Resolution Independence

スライダーを操作すると拡大縮小されますね。


Ubuntu Shape


Buttons

ボタンは色や中身、大きさも自由ですといったデモですね。Disable状態がわかりにくい気はしますけど、まぁ、背景色が悪いよなぁ。

Tabs(Old)

旧来のタブ機能ですね。タブを押す意外にも、外部のボタンでのタブ移動ができ、タブ表示した内部にFlickableなコンテンツを入れたり、Listを入れたりもできます。スクロールするコンテンツは、iOSやAndroidでよく見る、引っ張るとゴムみたいに弾む感じで戻るようなアニメーションも行われています。


Tabs(new)

フリック操作で切り替わるタブ表示です。表示上、フリックで切り替わるという事がいまいちわかりにくい気はしますが、小さい画面でタブを押すよりは、ずっと楽だと思います。



List Item

List には、タイトル、画像のほか、ListのValue表示をしたり、選択で表示・非表示にして選択できるようにしたり、スイッチやボタン、スライダ等も設置できるようです。




Page Stack

Android端末だと設定画面等によく使われている、スタックページですね。


Switch, Check Box, Activity Indicator, Progress Bar

まぁ、この辺は外観だけ。Activity Indicatorはくるくる回ってます。




Slider

Sliderは通常の離して値が決定した段階で更新通知されるものと、変更中も更新通知されるものの2種類があるようです。

Text Input, Text Area

Text InputとText Areaです。リッチテキストも使う事ができ、ダブルクリックで範囲を選択、Text Areaは任意の行数までの拡大を許したりもでき、Ubuntu上では、日本語も入力できました。



Scrollbar

Scrollbarは、スクロール中にちょこっとオレンジ色で表示されるだけで、いまいち見えにくいです。

Popup

あとは、ポップアップする機能ですかね。位置が自動なもの、位置指定なもの、問い合わせ用にボタンが配置されたものや、modal的に他の部分を一時無効にして表示するものなど、色々と機能があるようです。





GIcon Image Provider

"image://gicon/preferences-color" 等の指定で使えるIcon


ちなみに、以下で起動すると電話画面サイズでのデモが2画面分あるようです。
$ /usr/lib/qt-components-ubuntu/demos/launch_componentshowcase_phone

画面サイズかわっただけやん!って気もしないではないですが。

なお、チュートリアルは、以下のURLになります。
http://developer.ubuntu.com/resources/app-developer-cookbook/mobile/currency-converter-phone-app/

Qt Creatorのインストール手順のためには、上記のURLをUbuntu 12.10上のfirefoxか何かで表示した方がいいでしょうね。apt://qtcreator って指定で、ソフトウェアインストール用のGUIが開くんですねぇ。

$ sudo apt-get install qtcreator qtcreator-doc

と書けば良い気がするのですけど・・・。

ま、実際の所、こういうパーツは使う事は使うのだけど、本格的なアプリを書こうと思うと全然たりないわけで。そんな時どうしたら良いのかが重要なんですが、QMLは残念ながらまだメジャーではないし、exampleも2つしか入ってないし、まだまだこれから感でいっぱいですね。

タイミング的には1年遅いって気がしないでもないんですが。QMLでこういうの作りたいと思って、色々夢の語られたQt5 を待ってたら今頃になったんですかねぇ。
おそらく、正式版のQt5に移行して公開しようと思ったら、Qt5のQMLから色々削られてて辛い状況もあるのかもしれません。

Qt押しで、MeeGoで悲しい思いをした隠者としては、なんとか頑張って欲しいと思っています。

本日は、ほんと画像撮って貼付けるだけでしたけど、結構手間な作業だったので、今夜はここまでということで。

0 件のコメント:

コメントを投稿