2008/12/5 金曜日 Posted in iPhone | 2 Comments »
@ITにiPhoneに関する興味深い記事が掲載されていましたのでご紹介します。 → @IT App Store登録もOK! JavaScriptで作るiPhoneアプリ [atmarkit.co.jp] iPhoneのアプリを作るには、通常Objective-Cを利用しなくてはならないのですが、この記事ではJavaScriptを使用したアプリの作成方法がまとめられています。 なんとこの方法であれば、AppStoreへの登録も可能とのことです。 HTML+JavaScriptの技術を使った「ハイブリットアプリケーション」という開発手法で作成を行うようです。 Objective-Cのネイティブアプリケーションを作るのに比べて、JavaScriptであれば技術的障壁も低いですし、開発の容易さという点から見てもメリットが大きいように思えます。 ハイブリットアプリケーションを作成するためのベースとなるようなフレームワークが幾つかあり、それを利用して開発を行うようです。 この記事では「PhoneGap」を利用した場合の例が記載されています。 今までiPhoneアプリを作りたかったけれど難しそうで敬遠していた、というような方は、ぜひこの方法を試してみてはいかがでしょうか。 関連: iPhone開発について解説された連載記事「目指せ!iPhoneアプリ開発エキスパート」 iPhoneでCSSを使って要素を3Dっぽく回転させる方法 90秒で理解するiPhone JavaScript(マルチタッチ編) Read more..2008/10/16 木曜日 Posted in iPhone | 2 Comments »
最近iPhoneをいじっていなかったので、久々にiPhoneネタです。 今回はiPhoneでJavaScriptを使って、要素を3Dっぽく回転させる方法をご紹介いたします。 静止画なのでわかりづらいのですが、右にクルクル回転しながら進んでいきます。 この状態からアニメーションスタート(モアレがひどくてすいません) クルクルと回転していきます。 文字が裏返っているのが面白いですね サンプルコードは次の通りです。 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta name="viewport" content="width=320, user-scalable=no, maximum-scale=1.0" /> <script type="text/javascript"> function animationStart() { var el = document.getElementById("target"); el.style.webkitTransition = '-webkit-transform 3s ease-in-out'; el.style.webkitTransform = 'translate(180px,40px) rotateY(180deg)'; } </script> </head> <body> <input type="button" name="hoge" value="animation" onClick="animationStart();" /> <div id="target" style="width:120px; ... Read more..2008/8/20 水曜日 Posted in iPhone | No Comments »
先日「iPhoneでJavaScriptを使わずCSSだけでアニメーションする方法」という記事を書きましたが、今回はその続きです。 前回は、左から右にすーっとアニメーションするだけでしたが、今回は拡大・縮小・回転といったアニメーションをさせてみたいと思います。 また前回は「-webkit-animation-name」を使う方法でしたが、今回はやり方を変えてみました。 静止画なのでわかりづらいですが、左からクルクルと回転しながら縮小して、右のようになります。 サンプルコードは次の通りです。 <html> <head> <meta name="viewport" content="width=320, user-scalable=no, maximum-scale=1.0" /> <script type="text/javascript"> function animationStart() { var el = document.getElementById("target"); el.style.webkitTransition = '-webkit-transform 3s ease-in-out'; el.style.webkitTransform = 'translate(180px,40px) rotate(180deg) scale(0.1)'; } </script> </head> <body> <input type="button" name="hoge" value="animation" onClick="animationStart();" /> <div id="target" style="width:120px; height:120px; background-color:red; position:absolute; ... Read more..2008/7/30 水曜日 Posted in iPhone | 1 Comment »
先日のマルチタッチ編に続き、今回はジェスチャー編になります。 対象を拡大縮小したり、回転させたりするには、座標を取得して自分でガリガリ計算しないといけないと思っていたのですが、どうやら「gestureXXX」イベントを使えばそんな必要がないということを知りました。 → 参考 [iphone.wikiwiki.jp] というわけで、今回はgestureイベントの使い方をまとめてみます。 ジェスチャーのイベントには次の3つがあるようです。 gesturestart gesturechange gestureend それぞれ、ジェスチャー開始時、ジェスチャー中、ジェスチャー終了時にイベントが発生します。 使い方は、touchXXXのときと同じようにイベントリスナーに登録するか、「onClick」のような感じで「onGestureStart」属性を追加します。 拡大縮小・回転をさせるのに、押さえておくべきポイントは2点だけです。 「event.scale」で、拡大・縮小用の倍率を取得 「event.rotation」で、回転の角度を取得 下記のサンプルでは、赤いdivタグの拡大縮小・回転を行うためのサンプルです。 width(幅), height(高さ), rotation(角度)をグローバル変数に格納し、ジェスチャーイベントから取得した数値に合わせ、styleを変更しています。 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta name="viewport" content="width=480, user-scalable=no, maximum-scale=0.6667" /> <script type="text/javascript" charset="utf-8"> <!-- var width = 120; var height = 120; var rotation = 0; function init() { document.addEventListener("touchmove", touchHandler, false); document.addEventListener("gesturechange", gestureHandler, false); document.addEventListener("gestureend", ... Read more..2008/7/29 火曜日 Posted in iPhone | No Comments »
昨日に続きiPhone+JavaScriptネタです。 ネットを巡回していて、興味深い記事を見つけましたのでご紹介させていただきます。 なんと、iPhone用のSafariにはSQLiteが組み込まれており、JavaScriptからそれを利用できるようです。 JavaScript++かも日記さんのところで、「iPhone用 JavaScriptデータベースプログラミング入門」というエントリーが連載されており、詳しく解説されています。 → JavaScript++かも日記 iPhone用 JavaScriptデータベースプログラミング入門(目次) [jsgt.org] JavaScriptで次の一文を実行することで、データベースが自動で生成されるようです。 db = openDatabase("[DB名]"); 普段は何も表示されていません。 データベースを作成すると「Database」という項目が追加されます。 ドメイン名とDB名の一覧が表示されます。 DB名をタップすると、サイズなどの詳細情報が表示されます。 DBの最大サイズは5Mとのことなので、あまり多くのデータを入れることはできませんが、DBは複数個作成できるようなので、そちらでカバーできるかもしれません。 機能的には「Google Gears」に近い感じでしょうか。 うまく使えば、ローカルにデータをキャッシュして、電波の届かないところではそれを表示するといった、モバイルに適したアプリケーションが作れるはずです。 関連: 90秒で理解するiPhone JavaScript(マルチタッチ編) CSSの変更だけでPCサイトをiPhoneに対応させる方法 ソフトバンクのiPhone3Gを買ってきました Read more..