Tue, Sep 28, 2010
CSS NITE IN SHIZUOKAでLTしたSenchaTouchについてなんですが、LTに用いたソースが0.9.3用だったのですが、現在の0.9.5のバージョンでは動かない事が判明 orz。なので、補足として0.9.5用にブログに残しておくことにしました。

Sencha Touch とは
- iPhone、アンドロイド向けサイトを作成するためのjavaScriptライブラリ
- javaScriptの値を調整するようにプログラムを組むだけで、iPhoneアプリで見かけるようなエレガントで一貫したデザインのUIが簡単に作成可能。
まぁ、百聞は一見にしかず。下のデモページをスマートフォン、PCの場合はChromeかSafariでご確認ください。
SenchaTouchのデモページ
かちびと.netさんも紹介されています。
iPhone等のWebアプリをHTML5で構築する為のフレームワーク・Sencha Touchを触ってみた – かちびと.net
SenchaTouchの導入
SenchaTouchのダウンロード
所定の場所にダウンロード後、解凍してください。
フォルダの中にSenchaTouchを動かすうえで最低限必要なファイルとフォルダは下記のとおりです。
- ext-touch.js
- resourcesフォルダとその中身
これを使って、リストがスライドして次々とページ遷移する簡単なページを作ってみました。
作成するファイルは以下の2つ。
完成イメージは次のとおりです。

それでは順番に見ていきます。
index.html
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Nested List</title>
<link rel="stylesheet" href="../../resources/css/ext-touch.css" type="text/css">
<script type="text/javascript" src="../../ext-touch.js"></script>
<script type="text/javascript" src="index.js"></script>
</head>
<body></body>
</html>
重要な部分は6行目~8行目。
6行目でresourcesフォルダ内のcss/ext-touch.cssを
7行目でext-touch.jsを
8行目でindex.jsをそれぞれ読み込みます。
パスは環境に合わせて変更してください。
また、この例では
タグ内には何も書きません。
index.js
Ext.setup({
onReady: function(){
var data = {
text: 'トップ',
items: [{
text: '静岡中部',
items: [{
text: '静岡市',
items: [{
text: '葵区',
leaf: true
},{
text: '駿河区',
leaf: true
},{
text: '清水区',
leaf: true
}]
},{
text: '焼津',
leaf: true
}]
},{
text: '静岡西部',
items: [{
text: '浜松',
leaf: true
},{
text: '掛川',
leaf: true
}]
},{
text: '静岡東部',
items: [{
text: '沼津',
leaf: true
},{
text: '伊豆',
leaf: true
},{
text: '三島',
leaf: true
}]
}]
};
Ext.regModel('ListItem', {
fields: [{name: 'text', type: 'string'}]
});
var store = new Ext.data.TreeStore({
model: 'ListItem',
root: data,
proxy: {
type: 'ajax',
reader: {
type: 'tree',
root: 'items'
}
}
});
var nestedList = new Ext.NestedList({
fullscreen: true,
title: '静岡県',
displayField: 'text',
store: store
});
}
});
index.jsの中身はほとんどがjsonになっています。各項目に値を指定することで、ページ構成がデザインされます。SenchaTouchではこのjsonを上手く使いこなすことが重要になってきます。 とりあえず、これで完成となります。実際のサイトは下記URL先をご確認ください。
http://sencha-demo.studio-kingdom.com/
また、0.9.3に比べて0.9.5では色々と複雑になっていますので、それについて少し載せておきます。
- 47~48行目では、リストに表示するjsonデータについて、モデル指定を行っています。これはデータベースで言う「カラム名」と「型」といったところでしょうか。jsonデータを使うにはこのモデル指定が必須になったのかもしれません。
- 51~61行目はjsonデータを入力データとして各コンポーネントで扱えるようにしているようです。modelは上記のモデル指定、rootはjsonデータのオブジェクト名と思われますが、proxyの意味がいまいち分かりません…。
本格的に作る場合にはAPIを熟読する必要がありますね。英語ですが(^-^;)
Sencha Touch API Documentation
また、肝となるjsonについてですが、自分はこの本で習いました。10日で覚えるシリーズは根本から丁寧に説明してくれる良書が結構あったりしておススメです。
Sun, Sep 26, 2010
$netstat –nr
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
0.0.0.0 192.168.1.254 0.0.0.0 UG 0 0 0 eth0
どうしてもnetstat -nrの意味(読み方)が分からず、その筋の人にしつこく聞いてやっと理解できたのでメモ。
1行目
IPアドレス192.168.1.0~255のネットワーク空間(Destination 192.168.1.0、Genmask 255.255.255.0)に到達したい場合は、ゲートウェイに行かんでいいから直接(Gateway 0.0.0.0)行ってください。インターフェース(LANの出口)はeth0ね。という意味。
2行目
IPアドレス127.0.0.0に行きたい場合は、同じく直接行ってくださいという意味。ただし、インターフェースはloを指定。これはループバックという、物理的には存在しない論理的なインターフェース。127.0.0.0は実質、自機を表しているので。
3行目
それ以外のネットワーク空間(Destination 0.0.0.0、Genmask 0.0.0.0)に行きたい場合は、ゲートウェイ192.168.1.254に行って(Gateway 192.168.1.254)くださいという意味。インターフェース(LANの出口)はeth0ね。という意味。
0.0.0.0 が表すもの
各項目の0.0.0.0が何を表しているのか知っておくことが重要だと思いました。
Getewayでの0.0.0.0はゲートウェイを介さず直接、行き先へ向かってくださいという意味。
Destinationでの0.0.0.0はネットワーク空間を明示的に指定されていない、その他については、という意味。
この例はCentOSだけど、OpenSolarisでは0.0.0.0はDefaultだったりします。
Sat, Sep 25, 2010
行ってきました、CSSNITE IN 静岡!
CSS Nite in SHIZUOKA 〜Web制作者のためのセミナーイベント CSS Nite の静岡県版
まずは会場入り。

中の雰囲気はこんな感じ。

来場者全員に、こんな素敵なプレゼントが!一気にmozilla充です。

それでは、どんなセッションが行われたか紹介を。
HTML5とIE9
小山田さん(株式会社ピクセルグリッド / PixelGrid, Inc.)

IE無くなってほしい人!で、まずはアンケート調査。
会場の半分の人は無くなって欲しい派でした。もちろん、自分も手を挙げました…。
その後、HTML5の機能(audio,video,canvas,svg)やCSS3についてデモ付きで色々と説明していただきました。
で、個人的に気になっていたHTML5とIE9の現在の状況なんですが…
- IEは他のブラウザに比べてHTML5対応にかなりの後れをとっている。
- IE9になっても、他のブラウザに比べるとHTML5で実装されていない機能が多い。
- よってHTML5を用いて開発する際はIE9ベースに行うべし。そうすれば、他のブラウザでも動くはず。
- html5.jsを使えば、HTML5に対応していないブラウザでも、javaScriptの力でHTML5が実現できる!?
その後の懇談会でサラダとりわけてくれたり、腰が低くてめっちゃ良い人でした。
近々、年上の女性と結婚されるそうで、おめでとうございます!チラ見したiPhoneの壁紙が、彼女さんのウェディングドレスだったような気がします。
静岡市出身だけどあまり帰ってこないそうで、最近リニューアルされた日本平動物園をススメておきました。
Movable Typeを使用したCMS構築のTIPS
工藤さん(静岡県沼津市・三島市・駿東郡-ホームページ制作とインターネット活用コンサルティングのDigitalAssist)

CSS NITEを静岡に呼んでくれた三島のITエンジニアの集まりの中心メンバーの方。
工藤「ちゃん」と呼ばれたいそうな。。。
MTのカスタムフィールドIDを使ったテクニックなどを紹介していただきました。
でも、すいません(>_<) 自分、WordPress厨なんです。
ただ、個人でWordPress使う人は多いんですが、事例で紹介されてたように大手のキッチリした企業さんはMT支持なんですよね。
確かBusiness ArchitectsさんもMT使ってたと思います。
去年から今年の前半までを振り返る!2010年上半期海外Webデザイントレンド
原さん(株式会社エフエックスビイ : FXBはメディア作りを通じ、世の中を楽しく便利にしていきます)

2010年上半期海外Webデザイントレンドについて教えていただきました。
- 巻き込みリボン、ネクタイのような下地のデザイン
- 吹き出し
- 背景のテクスチャに、ステッチ、皮、紙など
- 背景に地平線、空、海を使用したデザイン
- メインイメージをインタラクティブに(Flash→jQuery)
- CSSによるドロップシャドウ、へこみ、浮きなど
- フォームはより多彩に
- 縦方向の小さな段組み(ユニクロ等)
- アイコンがリアル志向から、ピクトグラム、単一色のシンプルで本来の役割に
- 半透明レイヤーを重ねたデザイン
- WEBフォントを多用したデザイン(日本語は現状無理…)
- ペナント(旗)を使用
- 玉をぼかしたようなイメージを使用(ヘッドライト、木漏れ日のような)
富士宮市出身だそうで、懇談会では富士宮焼そばについて語っていただきました!
ライトニングトーク
休憩のあと、5分間ずつ5人のライトニングトークがありました。
及ばずながら、私めも話をさせていただきましたが、初めての経験でしたので緊張しまくりでした。
時間制限というプレッシャーはやはり結構きついですね…。
皆さん、資料を作りこんであって正直お恥ずかしい限りでした。。。(^^;)
ジャンケンプレゼント
また、各セッションの合間にじゃんけんプレゼントがあり、あいこじゃんけんに勝ち残った人に書籍やグッズのプレゼントがありました。
途中、なんと運よく勝ち残ってしまい、下記のWP本をGET!あざっす!
他にも、MTやWebデザイン関連の本が5~6冊ほど、MTのTシャツ、トートバッグ、更に更に最新のiPod nanoプレゼントもありました。
ジャンケンが強ければ逆に儲ける事が出来てしまいますね。。。
懇談会でも、ジャンケンプレゼントが行われ、こちらのFirefoxレアグッズが!
勝ち残った人にお願いして、撮影させていただきました。
内容は、
- クリアケース
- ストラップ
- フォクスケシール
- ペンライト(マークが浮かび上がるそうな)
- ボールペン
確認できたのはこんな感じでしたが、他にも何かあったかもしれません。
自分もめっちゃ欲しかった…。

皆様お疲れ様でした。
ともかく今回CSSNITEを読んでくださった工藤さんを三島近辺のスタッフの方々、CSSNITE代表の鷹野さん、いずれも静岡出身の講師の皆様、本当にお疲れ様でした。何でも、次回Vol.2の開催も決定しているそうで、非常に楽しみ。また、参加します。
本当にありがとうございました!