Home

code:x

やっぱり、Operaがクソな件

ども、小堤です。

いやIE6がクソっていう話はよくでるとおもうんですが、Opearaいまだにクソじゃないですか?(笑

いや、腹立ったんでブログかいてるだけなんですけど。

window.unloadの挙動いい加減どうにかせいや・・・マジで。Carakan?エンジン?JSの。乗っけました?カラオケ館ですか?そんなもの作ってる暇あったら、もう少しまともにしてほしいわ。レイアウトエンジンもまだ微妙だし。Vega乗っけて、HTML5だーなんて言ってる場合か?

IE6はバージョンUPでそのうち消えるけど・・Opeara、マジ心から消えてほしい。それかちゃんとしてほしい。

Opearaがスタンダードブラウザじゃなくてホントよかったわぁ、Wiiのコンテンツとかでも作るときにはひっかかってくるだろうけど。

今日は、「フォームの保存ボタンをつけた場合、初期状態で無効化してあって、どのタイミングで有効化するか、その具体的な実装方法」がかなりいいか んじでできた。

Ext JSで日々アプリケーション開発してると、やっぱノウハウ?たまるわけで、じっくり書きたいんだけど、全然時間ナス。

Workshopスペシャルとか、そこらへんで放出(?)ってか、話ができたらいいなぁ。

さ、がんばろ・・・

Ext JS Workshop Special

ども、小堤です。

みなさん、コメントやら連絡ありがとうございました。

3月27日に開催します。

で、早速ですがソールドアウト!? (笑)別に何も売ってないけど、定員になりました。

また、次回は定員増やしますんで、あと一回目の内容を2回目にも反映できるように工夫します。

来たかった人ごめんね。会議室もうちょい大きいとところ早めにとるね。

ってことで、開催報告は追ってしまーす!

IE対応のためのカンマ探し

ども、コツツミです。

地味にお久しぶりです。

タイトル・・・これ、もういいよね・・・もうやりたくないよね、みんな?

ってことで、SpreadOfficeを作ってるときに「あ、これでいいじゃん」という方法があったので、ご紹介します。

その前に、SpreadOfficeちまちま作ってますよ・・。

途中ですが → スクリーンキャストで見る

で、前に紹介したスクリーンて単位で開発するようにしているんですが、まぁ要するにパネルなんですけど、もちろんこの中にコンポーネントがたくさんはいるわけです。
なので、必然的に 、クラスファイルになり~の、ファイルわかれ~のするわけですよ。

んで、タイトルの「カンマ探し」 に話を戻します。

カンマ探しを知らない人は、幸せな方ですw

んで、IEでJSエラーになるこいつを一発でみるけるために、使うのが「Google Closure Compiler」

「何それ?」 の人は調べて(笑)

「え?JS圧縮するやつでしょ?」

と思ったひと、

ええ、そうなんです。こいつで圧縮するときに、ちゃんとjarで実行したときにエラーメッセージだしてくれるんですね~。便利ですね~。

で行数まで教えてくれるんでさっくり見つかります。

僕はスクリーン(パネル)単位でファイルを結合してUPしているんで、普段は個別にスタブ開発。

結合テストするときだけ、こいつをPHPとJava(クロージャーコンパイラー)連携させて結合させてるんですが、そのタイミングでいくつかの余計なカンマを見つけてくれるので、まぁほぼ勝手にIE対応できちゃうわけです。

いまのSpreadOfficeがそうなっています。公開するときにJS圧縮されてるし、まぁもうちょっといえばCSSも圧縮してるんですけどね。

ってことで、困ったらGoogle Closure Compiler使ってみればいいんじゃないでしょうか。

あと、実践開発ガイドも書いてますが、ここしばらくExt JSのトレーニング講師の仕事とか、人に教えることが多いのですが、ふと思ったんですが、やっぱ教えると自分も覚えるわけです。

で、Ext JSのアプリケーションの作り方、僕はスタブアプリケーション開発っていうのを推奨してるんですけど、パラレル開発もいけるし、一人でも同じことやっとけば複数人対応もできるし、デバッグ100倍速いし(笑)

まぁこれに最近おしおしのExt.Directも入ってきてRPCバリバリで組むと、かなりすっきりするわけですよ。

ここら辺は正直勉強会の時間じゃ足りないし、どっかでうちの会社で限定人数でやろうかな(笑)来る人いる?

Ext JS Workshop スペシャルとかで(笑) 1日限りのw んで、その後のみにいければ・・・

まぁ4人くらいまでだな・・・定員。ってかまずだれかくるんだろうか(・_・;

Ext.Directの実力

ども、小堤です。

まぁSpreadOffice作ってたんですが、xFrameworkPX + Ext JSのExt.Directの実力。

自分で作って、自分でいうのは滑稽ですが・・すげぇ~。

spread-office_1266701879137.png

6つのStoreがサーバーサイドからデータを取得するんですね。これ。

赤枠の部分です。

通常、JsonStoreを使ったりするとリクエストが6個投げられるんですが、Ext.Directは一定時間内に発生したDirect経由のリクエストをまとめてくれるという機能があります。

なので、これ、6個のStoreの読み込みは1リクエストですんでいるんです。

Ext.Directのここら辺の話を来週の勉強会でしたいけど・・・まとめてる時間あるかなぁ・・・。

Ext.ux.Portalは気をつけて使わないと・・・

ども、コツツミです。

2時間ほどはまりました・・まぁ概ね解決。

http://www.extjs.com/deploy/dev/examples/portal/portal.html

iGoogleみたいなポータルのUXですが、これ気をつけないとすぐレイアウト崩れます。

サンプルでは、Fitレイアウトに入れる前提なんですね。

なので、それ以外、たとえばCardLayoutなんかにぶっこんだときに、まぁ~ずれますよ。おそらく。

少なくとも、こないだ作ったExt.ux.ScreenとExt.ux.layout.Screenではずれました。

で、調整。Ext.ux.PortalXってクラス作って、ちゃんと調整されるように修正。どうもレイアウトマネージャーの更新タイミングと、レンダリングのタイミングのずれみたいですね。まぁ解決。

Ext.ux.Portalなんてつかわねーよ。と思ってたけど、客受けいいみたいで(笑)使うことに。

ちなみに、Ext 3.1.1持ってくるとわかるんですが、examples/ux/ 下にUXいっぱい入ってます。サンプルで使われているやつとか。ux-all.jsとcss/ux-all.css読み込めば、examplesに入っているUX使えるようになります。

以外と知られてないっぽいので。僕も先日教えてもらうまで気がつかなかった(笑

とりあえず、UXは標準のコンポーネントよりも慎重に使わないと、初心者ははまります。自力でUX作れる人とかは逆にハッピーですね!

さて、一区切りつけるところまでやっちゃうかぁ・・・。

Ext JS 実践開発ガイド アウトライン

ども、小堤です。

まえから言ってるとおり、Ext JS 実践開発ガイド出します。

で、アウトラインできました。

これ表紙の予定:http://extjs.xenophy.info/ExtJSPDGhyoushi.pdf

http://extjs.xenophy.info/ExtJSPDG.pdf

現在、なんだかんだで2章くらいまでちゃんと書いたんですが、サンプルコードも用意して、書きためてあったものの移植がまだおわってないので、それから執筆・加筆です。

5月くらいには出したいと・・・。

で、今後の流れ。

4月くらいまでにだいたい書き終える

レビュアー募集して、精度あげる

5月頭くらいで、プレオーダーとる。

販売数を把握して、印刷

晴れて発売

ってかんじ。実現できるかなぁ~?

ボランティアで、レビュアーやりたい人いますか?特典として、先に内容が全部見れます。
あと、印刷されたの1冊贈呈くらいしないとか。

コメント、開けとくんで、連絡くれれば~、知り合いの人はスカイプでもメールでもいいです。
連絡ください。

バタバタ作業しながら合間ぬって執筆してるんで、おせーのおせーの。

出版社探すとかめんどいんで、普通に印刷予定、あとPDF版は、書籍版落ち着いてから販売かな。

先にいっておくと、ちょっと内容濃いので高めです。

みんなほし~っていったからがんばってます・・・だからでたら買ってね (笑)

さて・・・次の作業に移行するか・・・

Ext.FXのeasingリスト とか?

ども、小堤です。

最近、バタバタしてて・・・やっとブログ。

北海道いってきましたぁ!LocalDeveloperDayおつかれさまでーす!いっぱいいろんな人と話ができて楽しかったです!

Ext JS勉強会 in 北海道、実現に向けて動き始めた?(笑)

さて、題名のリストですが

Ext.Fxのeasingで設定できる一覧の実際の動きですね。

http://stack.hu/extjs/easing_list.html

動き見て選択できるので、困ったらみてみれば?という感じです、個人メモw

そして、Ext JS 実践開発ガイド やっとアウトラインのブラッシュアップ完了、表紙のデザインもした!後は、書きためたものを入れていくのと、最後に・・・InDesignとかで印刷できたらいいなぁ。

CS5出たときにかおうかなぁ。

前からいっているように、できたらすぐ出しますw PDF販売先行!いや、求められる声が増えるとがんばる気がする。で、紙でほしい人のために、オンデマンド印刷も考えてはいます。

なんで、出版社からでるかどうかみたいな話は、もうすこしできてからねぇ~。ってかんじ。

いや、まじで。ホント、他に色々やることあって全然手がまわらないんですが・・・でも、なんとなぁく、忙しいなりにも、いい感じの忙しさになってきた気がします。

さて、がんばるかぁ。

2月短いのに。

ども、小堤です。

ありがたい話なんですが、今月やう゛ぁぃくらい忙しいです。

タダでさえ短いのに・・・。

Ext JSの方もいろいろやることありーの、携帯関連のxFrameworkPX対応とか、あとFlashLiteとxFrameworkPXの連携?動的生成?の調査とか・・、おまけにxFrameworkPX 3.5 RCリリースもあるし、さらに制作もあるし・・・てんやわんや。

まぁ何もすることがないより全然いいんですが、気合い入れて乗り切らないとバタンQしてしまいそう。xFrameworkPX は、早めに3.5正式版だしちゃいたいですなぁ・・機能UPリストはある程度できてるので、3.5.1とかUPしていきたいですわ。

いま思い描いているものが実装おわれば、PCサイトも、携帯サイトも、携帯Flashも、Ext JSなどのRIAコンテンツも・・・大概いけるので。もういっぽ。まぁ10月に初めて、3月にリリースできるわけですが、がんばったほうか。

とりあえず、外部的圧力(笑)で、Ext JSの実践開発ガイドをそろそろまじめに考える必要がでてきたので、それも月末あたりから・・という気持ちで・・・はぁ。

実践開発ガイドは、キンドル?っていうんですか?w Amazonの端末・・あれでだそうかなぁという話だったりして、それから紙ベースかな、みたいな。

で、僕キンドルもってませんけど?(笑)かう?えー、いらなくなーい?でも、作るならいるかぁ。 ぼかぁiPad買うつもりなんですが?

で、さらにググっても、海外から購入しか見当たらない、どっか代理すれや。買う気うせるだろ。そこまでほしくないんだから・・・。

ってことで、Ext JS実践開発ガイドは、アウトプットは、完全に未定wwww だけどExt.Directも含めた、超初心者からのモダンJavaScriptに関する点から、実際のコンポーネント利用までのExt JS 実践開発ガイドは、仕上げちゃいます。

最近、実務でExt JS使ってるんで、実際はその先のアプリケーションのこつとか、そこらへんも考えたい・・・実際だしてみて、みんなが買ってくれれば・・・ (ぇExt JS 実践開発ガイド アドバンスとかありえるかもね。

ってことで、 Ext JS 実践開発ガイドは、TextMate2ばりに気長にまってください(でないってことじゃないよ!)

さー、一回かえろー。

Ext.Fx stopFxの挙動と強制停止拡張

ども、引き続き、小堤です。

さて、ちょいアニメーション関連を調査しているんですが、stopFxの挙動、イメージとちがーーう!(つ_;)

ってことで、実験してみました。

http://extjs.xenophy.info/2010020301.html

停止ボタンを押すとstopFxをコールするんですが・・・・いきなり終了の状態(アニメーション完了の状態)になります。

え~、こぉ~まぁ~るぅ 。(>_<)。

まぁあまりよろしくはないのですが、強制的にアニメーションを停止させる方法として、次のような拡張を、Ext.extender(前に話したやつ)にぶっ込みます。

// {{{ Ext.Element

Ext.Element.addMethods({
    forceStopFx : function() {
        Ext.lib.AnimMgr.stop();
    }
});

// }}}

Ext.lib.AnimMgr.stop();を呼ぶだけです。
実は、Ext JSのアニメーションは、アダプターによって処理される場所が異なるんですが・・・・Ext.libしたのAnimとかそこらへんがアニメーションをするオブジェクトなんですね。
jQueryアダプターとかまだ試してないんでわからないですが、まぁ・・大丈夫だべ。

で、Elementクラスにインプリメントしちゃいます。
これで、el.forceStopFx()の完成。

具体的に、Ext.lib.AnimMgr.stop();で、一時停止、再開作ってみました。

http://extjs.xenophy.info/2010020302.html

ってことで、これでアニメーション中に強制的に止めて・・次のトランジションにいくとかの、処理を書き始めるなど。

追記

上記の方法だと、その後のアニメーションでcallbackが呼ばれなくなる・・・なんか考えないと・・。

Ext.Fx durationの罠

ども、小堤です。

先ほど、やっと解決?したので・・メモ。

いやぁ・・・durationあるじゃないですかぁ・・・Ext.Fxの。

これ、アニメーションをどれくらいの時間で実行するかを指定するオプションなんですが、これね、0設定すると1になります(笑)

要するに、未指定時は1秒なんですね、0はif文でfalse判定なんで、1になるわけです。

なんで、限りなく0に近い値を設定するしかいまのところナス。

duration: 0.00000001

とかね。

まぁ・・・本来の解決はまだ終わって無くて・・・やってられナス。

Home

Search
Feeds
Meta
Affiliate

Page Top