ITコンサルの日常

ITコンサル会社に勤務する普通のITエンジニアの日常です。

iPadをiOS4.2.1にアップデートしないたった一つの理由

結論

子供(3歳)が使えなくなりそうだから。

理由くだくだ

子供がiPadを使っているところをみると、大概YouTubeアプリなわけですが、
動画を再生している途中で、なにか気に入らないと、
ホームボタンを押してアプリを終了させたうえ、
再度起動して、次に見たい動画を選ぶということをやってます。


マルチタスクが有効になることで、ホームボタンを押してもアプリが終了しない
という動作は、混乱を招くのではないかなーという予想。


ちなみにiOS4.1 on iPhone3GSで、
YouTubeアプリをバックグラウンドに行かせたらどうなるかやってみたのですが、
ホームボタンを押して、YouTubeアプリをバックグラウンドに押しやると、
動画の再生は止まるようになっていて、再度アプリを起動すると、
バックグラウンドに行かせる前の状態を復元するようです。


この挙動だったら大丈夫かなー。
まあ、使いたければ操作を覚えろって感じなのかも知れませんが。。
出来れば、マルチタスクのON/OFFを設定できるようになってから、
iPadiOSアップデートを行いたいと思う次第です。

JSBuilder3を動かしてみる(自分で書いたtest.jsを作ってみよう編)

用意したファイル(注:jsファイル名にアンダースコア(_)が入るとうまく動きません)

sencha-touch-1.0\jsbuilder\test>tree /f

C:.
│  test.jsb3
│
└─src
        test-a.js
        test-b.js


sencha-touch-1.0\jsbuilder\test>

test.jsb3 (JSBuilder3のプロジェクトファイル)

{
    "projectName": "Test",
    "packages": [
        {
            "name"  : "Test Package",
            "target": "pkgs/test/test.js",
            "id"    : "test",
            "files" : [
                {"path": "src/",      "name": "test-a.js"},
                {"path": "src/",      "name": "test-b.js"},
            ]
        }
    ],
    "builds": [
        {
            "name": "Test Builds",
            "target": "test.js",
            "debug": true,
            "packages": [
                "test"
            ]
        }
    ]
}

test-a.js

var ax = 10,
    ay = 20,
    az = 30;

test-b.js

var ax = 10;
var ay = 20;
var az = 30;

JSBuilderの実行

sencha-touch-1.0\jsbuilder\test>..\JSBuilder.bat -p test.jsb3 -d hoge

JSBuilderの実行結果

sencha-touch-1.0\jsbuilder\test>tree /f
 hoge
フォルダ パスの一覧

SENCHA-TOUCH-1.0\JSBUILDER\TEST\HOGE
│  test-debug.js
│  test.js
│
└─pkgs
    └─test
            test.js


sencha-touch-1.0\jsbuilder\test>

hoge/test.js

var ax=10,ay=20,az=30;var ax=10;var ay=20;var az=30;

出来ました。
Ext JS勉強会で触れられてましたが、varの書き方一つで、圧縮率が変わるものですね。

JSBuilder3を動かしてみる(sencha-touch.jsを作ってみよう編)

とりあえずREADMEとか読んでみる

sencha-touch-1.0/jsbuilder/README.md

とりあえずググってみる

(参考URL) http://dev.sencha.com/deploy/JSBuilder2/Readme.txt

とりあえず起動してみる

sencha-touch-1.0\jsbuilder>JSBuilder.bat
The --projectFile or -p argument is required

sencha-touch-1.0\jsbuilder>

-p指定すりゃいんだろ

sencha-touch-1.0\jsbuilder>JSBuilder.bat -p ..\sencha-touch.jsb3
The --deployDir or -d argument is required

sencha-touch-1.0\jsbuilder>

-dも指定すりゃいいんだろ

sencha-touch-1.0\jsbuilder>JSBuilder.bat -p ../sencha-touch.jsb3 -d hoge

Loading the Sencha Touch Project
Loaded 12 Packages
Loaded 1 Builds
* Parse sencha-touch-debug.js with options:
- minVersion: 0.99
- debug: true
* Compress and obfuscate sencha-touch-debug.js...
Copy resources...
Done building!


sencha-touch-1.0\jsbuilder>

うぉ、なんか動いた。

sencha-touch-debug.jsとsencha-touch.jsの両方+もろもろが出来てますね。

sencha-touch-1.0\jsbuilder\hoge>dir

sencha-touch-1.0\jsbuilder\hogeディレクト

2010/11/25 14:32

. 2010/11/25 14:32 .. 2010/11/25 14:32 examples 2010/11/25 14:32 pkgs 2010/11/25 14:32 resources 2010/11/25 14:32 1,456,112 sencha-touch-debug.js 2010/11/25 14:32 359,195 sencha-touch.js 2010/11/25 14:32 src 2010/11/25 14:32 test sencha-touch-1.0\jsbuilder\hoge>

Unix的に-hでヘルプが表示されるはず。

sencha-touch-1.0\jsbuilder>JSBuilder.bat -h

JSBuilder version 3.0.0
Powered by Sencha Inc

Available arguments:
    --help  -h
      (optional) Prints this help display

    --projectFile  -p
      (required) Location of a jsb2 project file

    --deployDir  -d
      (required) The directory to build the project to

    --verbose  -v
      (optional) Output detailed information about what is being built

    --debugSuffix  -s
      (optional) Suffix to append to JS debug targets, defaults to 'debug'

    --nocompress  -c
      (optional) Dont compress the targets


Example Usage:

Windows:
JSBuilder.bat -p C:\Apps\www\ext3svn\ext.jsb2 -d C:\Apps\www\deploy\

Linux and OS X:
JSBuilder.sh -p /home/tommy/www/trunk/ext.jsb2 -d /home/tommy/www/deploy/

JSBuilder3 is a Sencha Project build tool.
For additional information, see http://www.sencha.com/products/jsbuilder/


sencha-touch-1.0\jsbuilder>

できた。
これでSencha Touchのソースを修正できますね。

Ext JS/Sencha Touch勉強会@11月行ってきた。

気になったところをつらつらメモ。

SASS/Compass入門(@ispernさん)

SASSとCompass

SASSは、CSSを生成するためのメタ言語。1ファイルのみ扱う想定。
Compassは、SASSに加えてディレクトリごと扱えるような環境を提供している。
いずれも、gemになっているので、コンパイル(scssファイルからCSSファイルへの変換)にはrubyが必要。

Sencha TouchはCompassを使っている。

デフォルトで青色ベースになっているのは、変数で切り出されているため。
そこを変えればUIを変えることができる。

SASSの特徴
  • 変数が使える
  • 親子関係をネストで書ける(CSSではフラットにしか書けない)
  • セレクタは&で書ける
    • .font{ size: …, family: …}
    • font-size: …, font-family: …
  • データ型(string/color/number/boolean)
    • 計算式も可能
  • 制御文
  • セレクタの継承
  • サーバサイドインポート
  • Mixins(関数みたいなもの?)
  • Functions

参考URL: http://sass-lang.com

Compass

(@naotoriさんより追加)
compass watchがうまく動かないときは、
compass watch --poll
とやると、うまくいくらしい。(監視エラーの回避?)

参考URL: http://compass-style.org/

ライブコーディング

緑色のKitchen Sinkすげえ!

SalesforceTwitterマッシュアップ(MashMatrix 西林さん @hagino3000

Salesforce Chatter

→社内Twitterツール
商談や取引先といったオブジェクトがそれぞれのフィールドを持つ。
CRMと紐付けて情報を扱える。
デフォルトでは使いづらい。
IE6はChatterを使えない。逆にスマートフォン(iPhone/iPadはOK)

Salesforce for Twitter

Salesforce標準で提供されているTwitterとの連携機能。
リアルタイム性は低い。
クロールしてなにかするためのツール。
気をつけないと垢Banされることも。。
(参考) Salesforce for Twitter って何ができるのサ:プロジェクトマネジメント10.0:ITmedia オルタナティブ・ブログ

Chattingboard

Chatterと別のソーシャルメディア(Twitterとか)を組み合わせられる。
(製品ページ) mashmatrix Chattingboard - 株式会社マッシュマトリックス
社内情報(Chatter)と、社外情報(Twitter)を、組み合わせてみられるっていうのが便利そうですね。

Twitterの不便なところ、バグなどつらつらと。。

Sencha Conference 2010 報告(@naotoriさん)

対象OS

WebKitを搭載している、Blackberry/WebOSはサポート対象予定。
Windows Phone 7はサポート対象外。

JSBuilder3を使って圧縮する

ファイルが1つなら良いというわけではない。
JITコンパイルの速度に影響?
パフォーマンステストして決めるべき。

Ext JS4
  • Layoutsのパフォーマンス改善
  • SVG/Canvas/VML(IE) Chart
  • SASS/Compass(Theme)
  • MVC
  • 標準オブジェクトの拡張の廃止
Sencha Command → 近日リリース予定

./sencha generate app Myapp ./myapp
まるでrails

その他もろもろ
個人的に押さえておきたいのは、、
  • JSBuilder
  • SASS/Compass
  • Jasmine(Testing Framework?)
  • MVC/Sencha Command

ですが、
MVC/Sencha Commandはまだまだ情報が限定的ですねー。
twitter/kivaサンプルを読み込めよって話もあるんですけども。。