uupaa.js

canvasをより速く(Flashもサポート)-Take2

latest log の続きですFlashモードのレンダリングを速くしてみました。boostも出来ます。boostすると、25fps → 60fps ぐらいに加速します。 AutoDetect Silverlight → Flash → VML 順にバックエンドを探索 Flash 優先 Flash → Silverlight → VML 順にバック…

canvasをより速く(Flashもサポート)

追記 2010-02-13: Flash モードを最新に差し替えました。boostも出来ます。 Flash 優先 Flash → Silverlight → VML 順にバックエンドを探索 本文 uupaa.js には uuCanvas.js のコードが入ってましたが、色々と書き直して、またちょっと速くなりました。 また…

uupaa.js 基礎知識なんちゃってマスター

uupaa.js 0.7 の概要を、1分でざざーっと分かるように書きました。 これ自体10分で書いてるので、ノープラン・ノーチェックでお届けします。 uupaa.js のビルド uupaa.js というファイルはありません。 必要な機能を組み合わせ、ユーザがビルドして作ります…

JavaScript で C++ っぽいクラスを実装してみた

js で、C++ ライクなクラス コンストラクタ(init)とデストラクタ(fin)が使える 生成は 親親⇒親⇒子, 廃棄は子⇒親⇒親親 の順で実行 デストラクタ(fin)を明示的に呼ぶと、インスタンスの全てのプロパティが null で上書される(使えなくなる)。 window.onunload …

一部ブラウザから strokeText や fillText のサポートを削ります(ダイエット)。

Canvas Text API を実装していないブラウザ向けに、JavaScriptライブラリ側で機能を提供してきましたが、シェア低下や公式サポート終了により、その必要も無くなると判断しましたので、以下の機能を、uupaa.js ver 0.7 から除去します。 Google Chrome2 (Chr…

uu.local take2

安全性重視で、色々と書き直しました。 最大容量を返す、uu.local.size() を追加 ペア数を返す、uu.local.pairs() を追加 uu.local.set(key, value, safe = 0) に 第三引数(safe)を追加 書き込み成功で true, 失敗で false を返します。 safe = 1 なら、over…

HTML5 Web Storage-- な機能を uupaa.js に実装してみた

Cookieよりも大容量のデータをクライアントサイドに保存する仕様。それが HTML5 の Web Storage です。 Web Storage はまだ策定中です。Firefox3.5+, IE8+, Safari4+, Opera10.50+ など最新のブラウザでは既に利用可能ですが、「何年も待ってられない、今す…

Conditional Selector

コンディショナルセレクタは、html.className に【jsが使えるか】【先進的なブラウザか】【メジャーなブラウザか】【どのブラウザか】【どのOSか】といった情報を設定します。約半年前に作成したものをベースに色々と修正しました。 uu.consel.js // Conditi…

uupaa-0.7.alpha2.js

先ほど固めてみました。 zip: http://code.google.com/p/uupaa-js/downloads/list ブランチ: http://code.google.com/p/uupaa-js/source/browse/#svn/tags/0.7_alpha2 ザックリとした Change Log -uu-background: -uu-canvas(ident) を追加 uu.ajax.queue(),…

Ajax リクエストの順番を直感的に記述可能な uu.ajax.queue を追加

uu.ajax.queue は順番や待ち合わせなどの規則を指定した Ajax リクエストを可能にします。 uu.ajax.queue(cmd, [url, ...], [option, ...], [fn, ...], lastfn, ngfn) cmd には "0+1+2" や "a>b+c>d" などのような規則を文字列で記述します a+b なら a と b …

uu.hash, uu.attr, uu.css, uu.css3 を修正

uupaa.js 0.7 の修正履歴です。興味がない方は読み飛ばしてください。 uu.hash と uu.attr の I/F を修正しました uu.hash でカンマ(,)とスペース以外のスプリッターを利用可能にしました デフォルトのスプリッターは(,) です。 第二引数にスプリッターを指…

window.xconfig の修正

uupaa.js 0.7 の修正履歴です。興味がない方は読み飛ばしてください。 window.xconfig を定義すると大まかな挙動を設定できる window.xconfig を uupaa.js ロード前に定義すると、大まかな挙動を設定できます。 現在のところ、以下の設定項目があります(変更…

IEでコメントノードを事前に除去し速度を稼ぐ

uupaa.js 0.7 の修正履歴です。興味がない方は読み飛ばしてください。 ついったーから転記 HTML load完了 ⇒ コメントノード除去 ⇒ querySelectorAll高速化 というアイデアが浮かんだ。IE の getElementsByTagName("*") はコメントノードを列挙するので、その…

今日は、いい肉の日なので、uupaa.js 0.7 α版 をリリースするよ(その2)

14ヶ月ぶりに uupaa.js をリリースします。内容は、 HTML5 タグのサポート HTML5::Canvas CSS3 プロパティのサポート Gradients, Rounded corners, Drop shadows, Multiple backgrounds, Reflection Auto Viewbox IE boost 透過png, max-width, position: fi…

今日の作業(キャンバス間のコピー)

uupaa-excanvas.js の Silverlightモードに、drawImage(別のキャンバス, dx, dy) を仮実装してみました。とりあえずは引数3個版だけです。仕様上は、引数を5個, 9個指定するとクリッピングやスケーリングができるのですが、実装が大変そうなので、やるべきか…

Shadow API をサポートした uupaa-excanvas.js 0.3 をリリースしました。

uupaa-excanvas.js は、IE で HTML5::Canvas をレンダリングする JavaScript ライブラリです。 Change Log ダウンロード ver 0.3では、このようなレンダリングをサポートしました。ShadowBlurは Silverlight3がインストールされている環境なら Webkit そっく…

失敗した

考えが浅かった。IEで透過pngを背景画像に敷き詰めるために、背景画像をもつ要素の最初の子として div要素 + vml:rect + vml:fill を追加していたが、このやり方では、padding を設定するとこうなってしまう。解決方法は多分2つ paddingを無視して背景を配置…

IEPNGFix V2とは別の方法でIE6で透過png画像を背景画像として敷き詰める

実装途中の覚書。 透過pngの背景画像をタイリングするのはかなり大変 ちょっと前に、「IEPNGFix ver2.0αが、background-image: url(alpha.png); background-repeat: repeat-x; background-position: 10% 20% をサポートした」というニュースがありました。 …

ソースコードをディアゴスティーニ方式でリリースするとか

毎週毎週メールで、最新のパーツが届くよ! しかも送料無料 途中から購読も可能! もちろん途中解約もOK! 毎号届くパーツ(ソースコードの一部)を組み合わせると、最後にはステキなプログラムが完成だ! 図解入りのソースコード解説書が付いてくるから、初心者の…

初心に帰れるうちが花

今後の uupaa.js の形を決めました。 これまで uupaa.js ファイルに必要と思われる機能をギチギチに詰め込んでる。 コードの可読性が低い + version間でdiff取れない(弄りすぎ)。 uu.module() でモジュールを読み込むと色々機能が増えるみたいだけど、実用性…

依存関係を考慮した部品の読み込み Feature List

思えば、JavaScript を学び始めて、最初に立ちふさがった壁が「IEと他のブラウザで動きが違う」「include すら無い」でした。 これって、プログラミング初学者に誤解を与えるには十分な威力です。それゆえ「文字を点滅、広告を次々に表示、画面を揺らす」な…

excanvas.js にさようなら。

リリースしました。 uupaa-selector.js Version 2.0 (ChangeLog) uupaa-mutationevent.js Version 0.1 (ChangeLog) uupaa-excanvas.js Version 0.1 (ChangeLog) uupaa-detect.js Version 1.0 (ChangeLog) uupaa-color.js Version 3.0 (ChangeLog) 内訳は世界…

uupaa-selector 2.0 できました。

2008-11-23追記: http://app.blog.livedoor.jp/sourcewalker/tb.cgi/51408207 で紹介されていたので、peppy と sizzle を追加 peppy と sizzle がキャッシュを使ってて(なんかズルイ)ので、彼らに負けじと謎の技術を惜しげもなくぶち込んでみた。JavaScript…

CSSセレクタの最新版(uupaa-selector.js version 1.5)をリリースしました。

2008-11-27追記: version 2.0 が最新になります。uupaa.js (ver 0.7)に実装されているCSSセレクタの機能を、単体で動作可能にパッケージしなおしたJavaScriptライブラリ(uupaa-selector.js)の最新版をリリースしました。今回は、 使用可能な場合は、DOM Elem…

JavaScriptの高速化3 - Hashによる検索を活用することで、ドラッグをもっとスムーズに

IE6のベンチスコアを追加 補足を追加 アイコンやウインドウをつかんでずずっと移動する。 この動作をもっともっとスムーズにするために、何ができるか考えてました。以下はサンプルコードです。 uuClass.MyDrag = uuClass.Generic(); uuClass.MyDrag .protot…

uupaa-color.js の リライト

uupaa-color.js は例によりuupaa.js の一部を切り出し、単体で動作可能な形にリパックしたスクリプトです。一見あまり意味のない(ニーズが無い)ように見えるスピンオフなんですが、 単体リリースしておけば、Core(uupaa.js)に入れたままだと気が付きにくい問…

Firefox3.1β1 をインストールしてみたけれど createContextualFragment が

2008-10-21 追記 この日記は、こんな流れで修正やら追記がされてます。 Firefox3で動いていたコードがFirefox3.1β1で動かないんが → 3.1でどっか変わった? 「ちがくね?」と指摘を受ける 検証し直してみると、実は createContextualFragmentは一部のブラウザ(…

Opera と Firefox3.1で DOM Element Traversal Module が使える

指摘を受けて、記事を修正しています。 document.implementation.hasFeature("Traversal", "2.0"); が true を返す環境なら Element Traversalが使える → hasFeature("Traversal") では Element Traversal が実装されていることは確認できない。 DOM Element…

命名規則を一部修正します。

uupaa.js (ver 0.7) からは、こんな感じにします。 change naming style クラス名の命名規則を camelCase から Java スタイルに変えます。 変えるのはクラス名だけです。メソッド名等は camelCase のままです。 uu.klass.className → uuClass.ClassName ----…

uupaa.js の設計

uupaa.jsの設計は結構だめな部分があります。自覚してます。言われる前に書きます。 自覚している箇所については、強引にリライトしていきます。設計や実装で、心がけているのは、 手続き指向の低レベルな関数をまず作成し、ドメイン(ネームスペース)でまと…