Posts Tagged ‘モバイル’
Hoodie – noBackend実装のJavaScriptフレームワーク
進化の早いJavaScript界隈に新しいアプローチのフレームワークが登場しました。Jan Lehnardt氏が中心になって開発されているHoodieはフロントエンドとバックエンドを完全に分離する事でそれぞれの開発効率を最大限にするnoBackendの実装の一つです。Hoodieはサーバーサイド用のモジュールとクライアント用のライブラリの2つから成っており、サーバーサイドが起動している状態であればクライアント側からは例えば下記のコードだけでユーザの登録ができます。
hoodie = new Hoodie('http://localhost:6007/_api'); hoodie.account.signUp('joe@example.com', 'secret');
すでに登録されたデータを取得する場合は下記のようになります。
var type = 'task'; hoodie.store.findAll(type) .done(function (tasks) { // Do something with the tasks });
またHoodieはオフラインデフォルトという設計になっており、データはローカルに保存されてからバックグランドで転送されるようになっています。これによりモバイルアプリケーションなどで快適に動作するようになっています。
クライアントライブラリとサーバーサイドモジュールのセットで構成されたこのプロジェクトを「フレームワーク」と呼んでいいのかは少し迷ったところなのですが、どのような実装ができるのかを見たほうがわかりやすいでしょう。
またnoBackendのAPIを再実装すれば別の言語とデータベースを使いつつ、同一のクライアントライブラリを利用するという未来もありえそうです。現時点ではAngularJSとRESTの組み合わせの方が優勢かと思いますが、ユーザ登録やメール送信といったハイレベルな機能を定義した標準的なAPIが定着するとさまざまな問題が少なくなるのではないでしょうか。
関連:
Hood.ie: "noBackend & Off-line first" という考え方 – ワザノバ | wazanova
via:http://hood.ie/
韓国はAndroid天国らしい
Nexus7の発売が話題になっており、引き続き活発なAndroidについて気になる統計がRoyal Pingdomに掲載されていました。記事によるとモバイルのウェブ閲覧の28.21%がAndroidによって行われ、これはiOSの24.48%を上回っています。
国ごとの数字でみるとなんと韓国ではモバイルウェブの87.2%がAndroidからの閲覧という事で圧倒的です。次いでミャンマーでは84.5%、台湾では70.6%ということで高いシェアを持っています。韓国がサムソンのお膝元であるから驚きには値しないとしつつも、驚異的であると記事では締めくくっています。
via:http://royal.pingdom.com/2012/09/06/south-korea-android-heaven/
Appceleratorの開発者が語るTitaniumとPhoneGapの比較
iOSとAndroidのクロスプラットフォームなアプリケーションをする際に使われるTitanium MobileとPhone GapをTitaniumの開発元、Appceleratorの開発者Kevin Whinnery氏が比較した記事が話題になっていました。
Kevin氏は「上空1万フィートから見ればTitaniumとPhone Gapは似ているように見える。どちらもクロスプラットフォームでJavaScriptとWebの技術を要求し、オープンソースライセンスを採用している。しかし似ている所はそれぐらいしかない。どちらも思想や問題を達成する為のアプローチは異なっている」という書き出しで二つのプラットフォームがかなり異なっている事を強調した上でいくつかのポイントを比較しています。
Phone Gapについて
- 実現する事
HTMLベースのWebアプリケーションをネイティブアプリとして配布、インストールできるようにする。 - ワークフロー
HTML,CSS,JavaScriptを静的なサイトのようにローカルで編集する。ネイティブのツールセットは不要。 - 動作原理
各プラットフォームのWebブラウザコンポーネント(Web View)などを立ち上げ、作成されたHTMLを読み込んで表示する。 - 拡張方法
JavaScriptから呼び出されるインタフェースを作成し、そこから呼び出されるネイティブコードを作成して登録する。(How to Create a PhoneGap Plugin for iOS) - 強み
Web Viewをサポートしていればどんな環境でも動作する。プラグインによる拡張がシンプル。 - 弱み
UIのクオリティがWeb Viewのクオリティに依存する。特にAndroidでは制限がある。ネイティブのUIを使った拡張ができない。
Titaniumについて
- 実現する事
クロスプラットフォームなJavaScriptランタイムとモバイル向けのAPIを提供する。 - ワークフロー
各プラットフォームのツールをセットアップした後にTitaniumのツールのみ使う。このツールをIDEから利用する事もできる。 - 動作原理
ネイティブコード上でJavaScriptの実行環境(iOSではJavaScriptCore、AndroidではデフォルトのV8またはRhino)が動作し、JavaScriptのソースコードを実行時に解釈して動作する。 - 拡張方法
UIを含む視覚的なコンポーネントも拡張できる。ネイティブ側、JavaScript側の双方から呼び出し可能なプロキシオブジェクトを実装し、ブリッジとして利用できる。 - 強み
高レベルなAPIが提供されていて、さまざまなネイティブの機能を利用できる。 - 弱み
新たな環境に対応させるのが難しく、iOS、Android、Webにしか対応していない。
元の記事はかなりの長文ですが、Phone Gapが本来はWebブラウザから利用できない機能(カメラやセンサーなど)を使えるようにするという機能はWebブラウザの機能そのものが強化されると意味がないものになる可能性があるなど、若干Titanium寄りに見える部分があります。また双方のプラットフォームの思想的な違いやビジネスモデルについても言及している部分がある点もユニークな内容です。
それぞれのプラットフォームの動作原理の解説は興味深い内容ですので読んでみて頂ければと思います。
さてみなさんはどちらのプラットフォームを使いますか?
訂正
Kevin氏を元開発者と表記しておりましたが、現在もAppceleratorの開発者であるとのご指摘を頂きました。訂正させて頂きます。誤訳により誤解を招いてしまい申し訳ありませんでした。
via:http://kevinwhinnery.com/post/22764624253/comparing-titanium-and-phonegap
アプリはWebサイトを殺すのか?
A-Listers的にはかなりプッシュしているCoding Horrorに”Will Apps Kill Websites?”と題されたスマートフォン・タブレットのアプリとWebサイトの今後について考察した記事が投稿されていました。記事はeBayが多くに人に使われていて、筆者にとっても有用でさまざまな出来事が起きている事を前置きした上で、「eBayのWebサイトが常に使いづらく閲覧しづらいままだった」事は不変であると述べています。その上でアプリ版eBayとWebサイト版のeBayの比較を行なっています。
筆者によると「eBayのアプリには良くない点もたくさんあるが、Webサイトはさらに最悪」と補足した上でeBayの超熟練ユーザでない限りはWebサイト版を避けるべきであると評しています。教訓として「制約を受け入れる事(embrace constraints)」を挙げています。限定されたUIや限られたスクリーンサイズはMacやPCがパワフルになって失われた強みであるとしています。eBayはWebによくある風土病(endemic on the web)として1999年から機能が増大しつづけ、Webブラウザ上でほとんどなんでもできるようになった結果、ユーザにとっては使いづらいものになってしまっています。
筆者はスケールアップできるシンプルなデザインをせよ、スケールダウンが必要な複雑なものは避けろとしてモバイルファーストのアプローチを取り、どのデバイスでも一貫性を保つように考慮することでシンプルであり続ける事にフォーカスできると説いています。
その上で優れたタブレットなどが存在する今、それでもWebサイトがまだ必要なのかどうかという事を考えるべく、アプリとWebサイトそれぞれが優れている点をリストにして列挙しています。
アプリがWebサイトよりも優れている理由
- より高速
HTMLやCSSといったオーバーヘッドが無く、ユーザの操作に応じてネイティブUIを高速に表示できる - シンプルなネイティブUIを使っている
- 画面を有効に使っている
画面のサイズのバリエーションがPCよりも少ない為、デザインはそれに合わせるさせすれば良い。 - 外出先やオフラインでも使える
Webサイトがアプリより優れている理由
- どのようなデバイスでもブラウザがあれば動く
- インストールの必要が無い
アプリを探してインストールしたとしても大量のアプリをポケモンのように管理しなければならない。 - アップデートの必要が無い
Webサイトは常に最新 - 共通のエクスペリエンスを提供できる
さまざまな種類のUIがあればユーザも提供者側にも負担になる。
筆者はどちらが明確な勝者とは言えず、アプリは常にWebサイトに依存している点に触れた上でアプリに殺されてしまうWebサイトはよほどひどいWebサイトに限られるだろうと結んでいます。元の記事ではここで取り上げていないような点にも触れており、外部記事へのリンクなどもあって気になる方は一読をおすすめします。
via:http://www.codinghorror.com/blog/2012/04/will-apps-kill-websites.html