Titanium Mobileにはconsole.logが無いらしい。ぐぐってみたらTi.API.info()を使えばいいみたい。 var console = { log: function(str) { return Ti.API.info(str); } }; Ti.API.info()を直で使うべきなのかもなぁ。
Ti.includeじゃなくてrequireを使うと幸せになれるっぽい。 CommonJSでJavaScirptのモジュールを定義することになるので、Ti.includeをそのまま置き換えることはできないけど。 これで黒魔術とおさらばできるかしら。 実験 app.js var window = Ti.UI.createWindow({ url: "lib/hoge.js" }); window.open(); Ti.includeとは違うところを確認するためにlib以下のurlを指定したウィンドウを開く。 lib/hoge.js var hoge = require("lib/fuga"); hoge.foo(); lib/fuga.jsのrequireを行う。 Resourcesからの相対パスで指定できているところに注目。 Ti.includeで同じような指定をすると Ti.includ
WEB+DB PRESS Vol.61の特集は、Titaniumでした。実際にアプリを作りながらのチュートリアルになっています。正統派な入門記事です。 でも。期待してた内容ではありませんでした。私は、Titaniumの暗黒面が知りたいのです。いつものWEB+DB PRESSなら、そんな記事が多いのですが、さすがにまだ開発者が少なそうなTitaniumではアッサリ目に仕上げるしかないのでしょう。そこで、このどうでもいいブログで、Titaniumのバッドノウハウ、いや、暗黒ノウハウをメモっておきます。 アプリを1本開発しただけですので、そこまでTitaniumのことを解っているわけではありません。間違っているところなどがありましたら、指摘してもらえるとありがたいです。暗黒ノウハウをみんなで共有しましょう。あと、スシなどをおごってもらえると、もっとありがたいです。 前提。 Titaniumのバー
I want to have this method in Titanium Mobile because there's the same one in the browser and in Node.js.
jquery.qrcode - jquery plugin for a pure browser qrcode generation QRコードをピュアJSで作れるjQueryプラグイン「jQuery.qrcode」。 通常QRコードというとサーバ側で画像にして画像を送信するというのが一般的ですが、このプラグインはブラウザ上で描画するタイプです。 <div id="qrcode"></div> というマークアップがあったとして、次のようにすることでQRコードを埋め込みます。 jquery('#qrcode').qrcode("this plugin is great"); カメラ等で読み取れば、「this plugin is great」がテキストとして読み取れます。 canvasを使っているので、canvas対応ブラウザでしか動作しない点に注意。 関連エントリ リンクにカーソルを合わせる
jQueryヘビーなアプリケーションの問題点と、MVCによる構造化の必要性 jQueryは、ブラウザ上で動くJSアプリケーションの開発生産性を劇的に向上させました。DOM操作による動的なページ書き換え処理などは、セレクタを使ってちょろっとコードを書くだけで、ほんの数行で記述できてしまいます。 しかし、この方法の延長で、大規模なJSアプリケーションを構築することは果たして現実的でしょうか。例えば「GMail」や「New Twitter」程度の規模のJSアプリケーションを書かなければならないとしたら、どうでしょう? 大規模なJSアプリケーションを開発するには、こういった手法を延長するのではなく、より洗練されたデザインパターンを導入する必要があります。この目的にぴったりのデザインパターンが、「MVC」デザインパターンです。 MVCパターンは、Webの世界ではサーバサイドプログラミングで広く知られ
これに対して、CommonJSグループはPromiseという形でこれに答えている。これは任意の時点で、完了しているかもしれないし完了していないかもしれない、非同期に実行されるアクションの結果を表現したオブジェクトとのインターフェイスを提供する。この方法では、さまざまなコンポーネントが非同期アクションのためのpromiseを返すことができ、コンシューマは予測可能な形でそのpromiseを利用できる。また、Promiseは非同期性を支援するために構文上便利な言語レベル拡張のために利用される基本エンティティを提供することもできる。 Stratified JavaScriptはこれとは別のアプローチをとっており、JavaScript言語のスーパーセットを提供することで、この問題を解決している。しかし、使う言語を切り替えられないのなら、とるべき道はシーケンシャルなコードをエミュレート可能な、柔軟なA
JavaScriptで型推論付き静的型付け言語のインタプリタを作成しました。これは、サイボウズ・ラボユースのメンバーとして開発をさせていただいたものです。ライセンスは MIT License です。 Ibis Interpreter GitHub 型推論の実装方法を解説するため、メジャーであり気軽に試せるJavaScriptを使って型推論器を書きました。 文法の簡単な説明は Ibis クイックチュートリアル 実装の詳細については JavaScript による型推論器の実装 をご覧ください。
このエントリはリアルタイムWebハッカソンのハンズオン資料その4です。 前回の続きです。それでは次に簡単なチャットアプリのコードを見てみましょう。かなりの部分(特にデザイン面)をSocket.ioのチャットサンプルをパクって参考にしています。 サーバ側であるapp.jsはこんな感じです。 var express = require('express'), io = require('socket.io'), json = JSON.stringify; var app = module.exports = express.createServer(); // Configuration app.configure(function(){ app.set('views', __dirname + '/views'); app.use(express.bodyDecoder()); app.u
どうもはじめまして、株式会社はてなのid:cho45です。これから数回に渡り、拙作のJavaScriptのライブラリであるJSDeferredの紹介と、それに関係するJavaScriptにおける非同期の技術に関して解説させていただきます。 JavaSciptにおける非同期処理 非同期処理とは まずは確認程度に、非同期処理がどういうものかを解説しておきます。先に乱暴にまとめてしまうと、以下の事柄が大切なところです。 非同期とは「あとで」という意味 同期処理はコードの見た目順に実行される/非同期ではそうならない JavaScript の非同期処理は絶対に同期処理にすることができない JavaScriptにおける非同期処理をいくつか例に出すと、以下のようなものが挙げられます。 リスト1 // XMLHttpRequest の例 var req = new XMLHttpRequest(); re
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
5分で分るnode.js @meso 資料:http://tng1.mesolabs.com/ これヨメ→http://d.hatena.ne.jp/badatmath/20101020/1287587240 結構真面目な話からスタート 「Ryan Dahlの目指したもの」 「それをどのように実現したか」 「なぜJavaScriptなのか」 JavaScriptの仕様(ECMA-262)にはI/Oに関する仕様がない 既存のI/Oブロッキングなライブラリが「まだ」無い 0からI/Oノンブロッキングな世界を構築することで、ブロッキングなライブラリとの競合とかを気にしないですむ! ECMAScript5時代のJavaScript再入門 @masuidrive 第41回 増井雄一郎氏@masuidrive Appcelerator Inc. 帰国特別編インタビューWebエンジニア武勇伝 アイドリ:
近ごろ話題のNode.jsですが、その理由は以下のようにいくつかあると思います。 イベント・ループを使った非同期処理で、同時接続クライアント数が多数となる高負荷時のスケーラビリティに優れる。急増中のNode.js向けライブラリは最初からすべてノンブロッキングであることもポイント。 クライアントで使われるJavaScriptと同じ言語でサーバサイドのアプリも作れる。 Google Chromeに搭載されるJavaScriptエンジン「V8」はバージョンが上がるたびに高速化していて、V8を利用したNode.jsもそれに伴い高速化している。 パッケージライブラリの充実。「時代の変わり目ならオレにも天下が取れるかも!」と思ったかどうか、新しい物好きの人々が、盛大な勢いでライブラリを書きまくっている。 シンプルさ。Webサーバとアプリケーションサーバ、処理系がすべて一体。ライブラリをrequireす
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く