Amazon

2011年10月23日日曜日

スマートフォン向けWebアプリ開発に有用なリンク

iOSやAndroidなどのスマートフォン用のネイティブアプリを開発するにはObjective-CやJavaによる開発を行わなければならないが、
せめて見た目だけでもそれっぽく見せたいなら
jQuery Mobileが使えそう。

jQuery Mobileのドキュメント
iOSやAndroidのネイティブっぽいUIを作るためのjQueryのプラグイン

ナビゲーションバーに使えるアイコン(無償、有償)
http://glyphish.com/


jQuery Mobileを使用するには
http://jquerymobile.com/download/
から落としてくるか

<link rel="stylesheet" href="http://code.jquery.com/mobile/1.0rc2/jquery.mobile-1.0rc2.min.css" />
<script src="http://code.jquery.com/jquery-1.6.4.min.js"></script>
<script src="http://code.jquery.com/mobile/1.0rc2/jquery.mobile-1.0rc2.min.js"></script>
 
で直接呼び出す。 
 
Page-Themeを変更したければ
http://blog.livedoor.jp/aki_mana/archives/3458912.html 
 
【参考】 
jQuery mobile でスマートフォン用のフッターを作成 
jQueryのテンプレート 

JavaScriptでiOSアプリもAndroidアプリも開発
初心者でも2週間でiPhoneアプリが作れちゃうTitanium Mobileがすごい件 
Titanium MobileでiPhoneアプリを開発、リリースしました
PhoneGap

Titanium Mobileで作る! iPhone/Androidアプリ
 

2011年10月10日月曜日

開発mixiアプリ3本 (9月分)

先月公開したmixiアプリ3本ご紹介

4つの質問に答えるだけで、あなたの今日の出逢える度を診断!!
その日の恋愛アドバイス&ラッキーアイテム付きで婚活のお供にも最高なアプリです。
毎日のお出掛け前にチェックしてね。

このアプリで遊ぶ


2. 彼氏・彼女の肉食度診断 (PC版、スマフォ板、ケータイ版)
気になるあの人の肉食度・隠れ肉食度を30秒チェック!
約5000人のアンケートデータを基にした診断で、今彼・今カノ、元カレ・元カノ、気になるあの人の肉食度をさりげなくチェックしちゃいましょう!
肉食度のレベルに応じた恋愛アドバイスつき☆

このアプリで遊ぶ



3.  彼氏・彼女の草食度診断 (PC版、スマフォ板、ケータイ版)
気になるあの人の草食度を30秒チェック!
今彼・今カノ元カレ・元カノ、気になるあの人の草食度を5000人のデータを基にした診断でさりげなくチェックしちゃいましょう!
草食度のレベルに応じた恋愛アドバイスつき☆

このアプリで遊ぶ

Djangoテンプレートの埋め込みタグ

Django埋め込みタグリファレンスより

よく使いそうなものをピックアップ

now

指定したフォーマット文字列にしたがって現在の日時を表示します。
フォーマット文字列中で普通の文字列を使いたければ、バックスラッシュでエスケー プできます。下の例では、"f" が時刻を表すフォーマット指定子として解釈されな いようにエスケープしています。 "o" はフォーマット指定子ではないのでエスケー プしていません:
It is {% now "jS F Y H:i" %}
It is the {% now "jS o\f F" %}
フォーマット文字 説明 出力例
a 'a.m.' または 'p.m.' (Associated Press に合わせるため、'.' が入っている点 が PHP と違います)。 'a.m.'
A 'AM' または 'PM' です。 'AM'
b 3 文字の小文字で表した月名です。 'jan'
B 実装されていません。  
d 月の中の日。 2 桁のゼロ詰めです。 '01' から '31'
D 週の中の日。 3 文字のテキスト形式です。 'Fri'
f 12 時間表記の時と分。ただし、ゼロ分の 場合には表示しません。独自の拡張です。 '1', '1:30'
F 月名を長いテキスト形式で表したものです。 'January'
g 12 時間表記の時。ゼロ詰めはしません。 '1' から '12'
G 24 時間表記の時。ゼロ詰めはしません。 '0' から '23'
h 12 時間表記の時です。 '01' から '12'
H 24 時間表記の時です。 '00' から '23'
i 分です。 '00' から '59'
I 実装されていません。  
j 月の中の日。ゼロ詰めしません。 '1' から '31'
l 週の中の曜日。長いテキスト形式です。 'Friday'
L 閏年かどうかを表すブール値です。 True または False
m 月です。2 桁でゼロ詰めしたものです。 '01' から '12'
M 月です。3 文字のテキスト形式です。 'Jan'
n 月です。ゼロ詰めしません。 '1' から '12'
N Associated Press スタイルの月の省略表記 です。独自の拡張です。 'Jan.', 'Feb.', 'March', 'May'
O グリニッジ標準時からの時差です。 '+0200'
P 時刻です。12 時間表記の時、分、 そして 'a.m.'/'p.m.' です。分がゼロの 場合には省略され、必要に応じて 'midnight' または 'noon' になります。 独自の拡張です。 '1 a.m.', '1:30 p.m.', 'midnight', 'noon', '12:30 p.m.'
r RFC 2822に従ったフォーマットの日時です。 'Thu, 21 Dec 2000 16:01:07 +0200'
s 秒です。 2 桁のゼロ詰めです。 '00' から '59'
S 月の中の日につける 2 文字の序数接尾辞 です。 'st', 'nd', 'rd' or 'th'
t 月の日数です。 28 から 31
T 計算機のタイムゾーン設定です。 'EST', 'MDT'
U 実装されていません。  
w 週の中の曜日です。ゼロ詰めしません。 '0' (Sunday) to '6' (Saturday)
W ISO-8601 に従った年の中の週番号です。 週は月曜日から始まります。 1, 53
y 2 桁の年です。 '99'
Y 4 桁の年です。 '1999'
z 年の中の日 0 から 365
Z タイムゾーンオフセットを秒であらわした ものです。UTC よりも西側のタイムゾーン値 は全て負の値になり、東側の値は常に正に なります。 -43200 から 43200

include

テンプレートをロードして、現在のコンテキストを使ってレンダリングします。あ るテンプレートに別のテンプレートを取り込む ("include") 方法の一つです。
テンプレート名はハードコードされた (引用符で囲った) 文字列でもよく、引用符 は一重でも二重でもかまいません。
以下の例では、 "foo/bar.html" という名前のテンプレートを取り込みます:
{% include "foo/bar.html" %}
次の例では、 変数 template_name に入っている名前のテンプレートを取り込 みます:
{% include template_name %}
取り込まれたテンプレートは、取り込んだ側で使われているコンテキストの下でレ ンダリングされます。下の例では "Hello, John" を出力します:
  • コンテキスト: 変数 person"john" に設定
  • テンプレート:
    {% include "name_snippet.html" %}
  • name_snippet.html テンプレート:
    Hello, {{ person }}
{% ssi %} も参照してください。

cycle

Django 1.0 で変更されました: タグを処理するごとに、指定した文字列や変数を循環して返します。
ループの中では、ループごとに指定した文字列や変数を循環して返します:
{% for o in some_list %}
    <tr class="{% cycle 'row1' 'row2' rowvar %}">
        ...
    </tr>
{% endfor %}
ループの外側では、最初に一意な名前を与えておき、以後はその名前を使います。 例えば:
<tr class="{% cycle 'row1' 'row2' rowvar as rowcolors %}">...</tr>
<tr class="{% cycle rowcolors %}">...</tr>
<tr class="{% cycle rowcolors %}">...</tr>
任意の個数の値を使えます。値はスペースで区切ります。値をクオート (') または二重クオート (") で囲むと、文字列リテラルとして扱います。 クオートされていない値はコンテキスト変数への参照とみなされます。
値をカンマで区切った形式もつかえます:
{% cycle row1,row2,row3 %}
ただし、この構文では、値は全てリテラルテキストとして扱われます。 カンマを使った構文は以前のバージョンとの互換性のために残されています。 新たなプロジェクトでは使わないようにしてください。

for

アレイの各要素に渡ってループします。例えば、アスリート (athlete) のリストを athlete_list で渡して表示するには:
<ul>
{% for athlete in athlete_list %}
    <li>{{ athlete.name }}</li>
{% endfor %}
</ul>
{% for obj in list reversed %} のようにすると、リストに対して逆順のルー プを実行できます。
Django 1.0 で新たに登場しました.
リストのリストにわたってループ処理を行う場合、各サブリストをアンパックして、 個別に名前を割り当てられます。例えば、座標 (x, y) のリストが入った points というコンテキスト変数があり、各座標を出力したい場合には以下のよ うにします:
{% for x, y in points %}
    座標 {{ x }},{{ y }} が登録されています。
{% endfor %}
この方法は、辞書の各要素にアクセスしたい場合にも便利です。例えば、コンテキ スト変数 data に辞書が入っている場合。以下のようにすれば辞書内のキーと 値を表示できます:
{% for key, value in data.items %}
    {{ key }}: {{ value }}
{% endfor %}
for ループは、ループの各回ごとに使える変数を設定します:
変数名 説明
forloop.counter 現在のループ回数番号 (1 から数えたもの)
forloop.counter0 現在のループ回数番号 (0 から数えたもの)
forloop.revcounter 末尾から数えたループ回数番号 (1 から数えたもの)
forloop.revcounter0 末尾から数えたループ回数番号 (0 から数えたもの)
forloop.first 最初のループであれば True になります
forloop.last 最後のループであれば True になります
forloop.parentloop 入れ子のループの場合、一つ上のループを表します 




 

2011年10月9日日曜日

Twitterのようなアプリを作る時に役立つ情報


○Twitterみたいに文字数を動的にカウントしてくれるjQueryのplugin
http://cssglobe.com/post/7161/jquery-plugin-simplest-twitterlike-dynamic-character-count-for-textareas

○jQueryの直接呼び出し
- Google Libraries APIを使用することでサーバーに置いておかなくてすむ
http://code.google.com/intl/ja/apis/libraries/devguide.html#jquery

jQuery
    name: jquery
    latest version: 1.6.4 (view older versions)
    load request: google.load("jquery", "1.6.4");
    extras: uncompressed:true (as in google.load("jquery", "1.6.4", {uncompressed:true});
    path: https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js
    path(u): https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.js
    site: http://jquery.com/
    note: 1.2.5 and 1.2.4 are not hosted due to their short and unstable lives in the wild...

jQuery UI
    name: jqueryui
    latest version: 1.8.16 (view older versions)
    load request: google.load("jqueryui", "1.8.16");
    extras: uncompressed:true (as in google.load("jqueryui", "1.8.16", {uncompressed:true});
    path: https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.min.js
    path(u): https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.js
    site: http://jquery.com/
    note: This library depends on jquery. You must also load jquery before loading this module. Version 1.8.3 is not hosted due to its short life, and the alias 1.8.3 actually loads 1.8.4.


使い方は二種類
1. 「Google AJAX Search API」からGoogle APIキーを貰って来る。WebサイトのURLを登録する必要がある。

各ライブラリの呼び出しにはgoogle.load()を使用してライブラリおよびその目的のバージョンの番号を付ける。例えば貰ったAPIキーが「ABCDEFG」だとして、後は下記のような感じでJavaScriptを記述する。
<script type="text/javascript" src="http://www.google.com/jsapi?key=ABCDEFG"></script>  
<script type="text/javascript">  
    google.load("prototype""1.6.0.3");  
    google.load("jquery""1.3.1");  
    google.load("jqueryui""1.5.3");  
    google.load("scriptaculous""1.8.2");  
    google.load("mootools""1.2.1");  
    google.load("dojo""1.2.3");  
    google.load("swfobject""2.1");  
    google.load("yui""2.6.0");  
</script> 

マイナーバージョン(1.x.yのx,y)を省略すると最新のバージョンを自動取得してくれる。



2. Google Libraries APIのpathから直接呼び出す。

<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/blitzer/jquery-ui.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.0/jquery.min.js"></script>
<script type="text/javascript"  src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.12/jquery-ui.min.js"></script>


のような感じ

Amazon3