jQueryヘビーなアプリケーションの問題点と、MVCによる構造化の必要性 jQueryは、ブラウザ上で動くJSアプリケーションの開発生産性を劇的に向上させました。DOM操作による動的なページ書き換え処理などは、セレクタを使ってちょろっとコードを書くだけで、ほんの数行で記述できてしまいます。 しかし、この方法の延長で、大規模なJSアプリケーションを構築することは果たして現実的でしょうか。例えば「GMail」や「New Twitter」程度の規模のJSアプリケーションを書かなければならないとしたら、どうでしょう? 大規模なJSアプリケーションを開発するには、こういった手法を延長するのではなく、より洗練されたデザインパターンを導入する必要があります。この目的にぴったりのデザインパターンが、「MVC」デザインパターンです。 MVCパターンは、Webの世界ではサーバサイドプログラミングで広く知られ
xStats.js Cross-browser JavaScript Performance Monitor xStats provides simple charts to help monitor your code performance. FPS Frames rendered per second. The higher the number the better. MS Milliseconds needed to render a frame. The lower the number the better. MEM Megabytes of memory used. Make sure it doesn't keep incrementing. (WebKit-based browsers only) Screenshots Documentation The docume
Node.js といえば非同期処理です.そして非同期処理と言えばコールバック. そんなわけで (どんなわけで?),すぐにこんなコードになったりしがちですよね. http://stackoverflow.com/questions/3538156/file-i-o-in-every-programming-language/3538377#3538377 fs.writeFile(path, "hello", function (error) { fs.open(path, "a", 0666, function (error, file) { fs.write(file, "\nworld", null, "utf-8", function () { fs.close(file, function (error) { fs.readFile(path, "utf-8", function
ブラウザゲームの可能性が一気に広がりそうです 次世代のWebフォーマットとして注目され、徐々にいろんなところで使われはじめている「HTML5」。そんなHTML5で作られた「スーパーマリオブラザーズ」が公開され、話題となっています。 従来のHTMLに比べ、マルチメディア機能が大幅に強化されたHTML5では、今までのようにFlashなどの外部プラグインに頼らなくても、単体で複雑なゲームなどを動かすことが可能と言われています。今回紹介する「Infinite Mario Bros」も、ベースはあくまでJavascriptで、HTML5の高いポテンシャルを感じさせてくれるものとなっています。当然ながら、ブラウザがHTML5に対応していないと遊べませんので、古いブラウザを使っている人はご注意を。 パッと見はよくあるFlashゲームですが、もちろんFlashは一切使っていません 操作は方向キーで左右移動
公式のドキュメントには何の記述もないが、ユニットテストには好きなJavaScriptのテスティングフレームワークを利用できる。 ただしブラウザに依存しないもので、ログの出力をフックできるものに限る。 要はTitaniumのコンソールにログを出力するためにTitanium.API.infoやTitanium.API.errorなどにテストの出力を渡せればよいわけです。 今回はxUnit系で一番勢いがありそうなQUnitとBDD系でよいと言われているJasmineで試してみた。 QUnitを使う Titanium用のアダプターがGitHubで公開されている。 lukaso/qunit – GitHub 自分のプロジェクトで利用する場合はResources以下に次のファイルを設置すればOK。 * runner.js * qunit/qunit.js * qunit/titanium_adapto
β版 Box2DのJavaScript版、Box2DJS。その世界で最初(で最後?)のガイドブックとして、作者自身がインストールや使い方からゲーム製作への応用までを紹介。巻末には主要APIリファレンスつき。 β版について 本書のステータスは現在β版であり、現在、著者やレビュアの方々により追加・修正が行われている段階です。 いま購入されてお読みいただけるのはその途上の原稿を元にしたものです。 最終的に正式公開されたものもダウンロードしお読みになることはできますが、 正式公開版を読みたい方には今しばらくお待ちいただくことになります。あらかじめご了承ください。 概要サンプルリンク用タグ 書誌情報 著者: あんどうやすし 発行日: 2011-07-11 最終更新日: 2011-07-11 バージョン: 0.9.0 ページ数: 85ページ(A4PDF版換算) 対応フォーマット: EPUB, PDF
TDD is an iterative development process where each iteration starts by writing a test which forms a part of the specification we are implementing. The short iterations allow for more instant feedback on the code we are writing, and bad design decisions are easier to catch. By writing the tests prior to any production code, good unit test coverage comes with the territory, but that is merely a welc
Tired of console.log-ing your way out of trouble? Weary from constant fear of cross-browser issues? Scared of making even the slightest change to production code? Test-Driven JavaScript Development teaches you how to solve those issues and more using unit tests and TDD. Rich with examples, the book provides a solid foundation on automated testing, a test-driven walk-through of JavaScript's unique
結構前に公開していたんですが、きちんとした紹介を書いてなかったので改めて。Githubにて、T.jsという名前のJavaScript用テンプレートエンジンを公開しています。 T.js - DOMBuilder-like template engine for JavaScript T.jsとは JavaScriptでHTMLを書くためのライブラリ(一種のテンプレートエンジン)です。 T.table("#addressbook")({style:{borderCollapse:"collapse"},border:"5"}, T.thead( T.tr( T.th("name"), T.th("address"))), T.tbody( T.tr(".odd")( T.td("alice"), T.td("a street")), T.tr( T.td("bob"), T.td("b str
JSONの発見者でJavScript界の重鎮であるYahoo!のダグラス・クロックフォード(Douglas Crockford)氏。米オライリーが主催するイベント「Velocity 2011」で、セッション「JavaScript & Metaperformance」を行いました。 いまWebブラウザ間でJavaScriptエンジンの性能競争が行われていますが、その影響とこの先の展望について語っています。JavaScriptプログラマなら必見の内容を、公開されたビデオを基に紹介しましょう。 JavaScript & Metaperformance これから、JavaScriptと性能についての本当の話をしよう。 JavaScriptはみなさんご存じかな? いまや世界で最もポピュラーになったプログラミング言語だ。 JavaScriptは、Javaからシンタックスを、Schemeからファーストク
This is two common examples merged together; how to run V8 as embedded and how to call C modules from Go language. I’m using Ubuntu 10.04 x64 with standard gcc toolchain. Step 1. Compile v8 Get v8 source and build v8 as shared library. Use this command line and copy libv8.so to to your project directory: $ scons mode=release library=shared snapshot=on arch=x64 $ cp libv8.so ~/v8example Step 2. C W
サーバサイドJavaScriptにはNode.js以前にもいくつかの実装がある。ちょっと前に注目されかけたものだと、現在はAppcelerater社に買収されたAptana社が出していたJaxerなどがあるが、きちんと調べるとRingoJsやnarwhalやv8cgiなど選択肢の一つとして数えられるサーバサイドJavaScript実装がいくつかある。ただ、これらはNode.jsのように注目を浴びているわけではない。 Node.jsとこれらの既存のサーバサイドJavaScriptの違いは、他のサーバサイドJSの動作モデルが既存のサーバサイドのものと変わらないのに対して、Node.jsの場合はそうではないから。具体的には、HTTPコネクションのハンドリング戦略が違っていて、既存の動作モデルが1コネクションに対して1プロセス/スレッド消費するのに対して、Node.jsの場合は非同期I/Oを用いて
The Awesomest Way to Create Even More Awesome HTML5 Games! Impact is a JavaScript Game Engine that allows you to develop stunning HTML5 Games for desktop and mobile browsers. I’ve tried four other JavaScript game engines, and this is the first one I’ve used that makes sense (…) Impact is the first truly professional-grade JavaScript and HTML5 game engine to hit the market. Game Developer Magazine,
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く