アプリキャストで「Infinite Loop??」になったときの対処法

アプリキャストで少し複雑なコードを書くと、よく「Infinite Loop」というエラーに遭遇します。
これはfor文などの制御構造でループをまわしすぎると出るエラーなのですが、、、

//スクリプト
for (var i = 0; i < 10000; i++) { print('' + i); }

//ログ出力
0
1
2
(中略)
998
999
JS_ERROR: memory:0x4d6fe60,0xff.FileLoad.0x2e:0:
Infinite Loop?? Script Stopped.

と、このようにたった1000回のループで止まってしまうため、かなり厳しめの制約となっています。


ただ実はこれを回避する方法があるんです。それは、、、

続きを読む

アプリキャストでは__proto__を使ってオブジェクトを継承する

あまり知られていませんが、JavaScriptでオブジェクトの継承関係を実現する最もスマートな方法は__proto__を使用する方法です。

クラスの継承は、Subclass.prototype.__proto__ = Superclass.prototype;というオマジナイを書けばOKです。

プログラマのためのJavaScript (11):継承についてもう少し - 檜山正幸のキマイラ飼育記 (はてなBlog)

一般的にはnewを使用する方法がよく知られていますが__proto__の方がより柔軟で副作用の少ない方法です(理由は上記引用元のサイトが詳しいです)。

ただこの方法は使用可能な環境が限定されてしまうため、クロスプラットフォームであることが重要な意味を持つブラウザのJavaScriptプログラミングでは、この手の継承が使われることはほとんどありません。

この方法は、__proto__プロパティの存在と操作可能性に頼ってます。しかし残念ながら、__proto__はECMAの標準ではなく、すべての環境で使えるものではありません。例えば、IEブラウザ環境ではダメです。

プログラマのためのJavaScript (11):継承についてもう少し - 檜山正幸のキマイラ飼育記 (はてなBlog)

また__proto__は次世代ECMAScriptでも標準化はされませんでした。残念ながら今後もブラウザ界隈で陽の目を見る可能性は少ないでしょう。

ECMAScript 3.1 では、(中略)プロトタイプの動的な代入は出来ないので、 __proto__ の全機能が使えるようになった訳ではありません。

次の JavaScript の仕様はこうなる! ECMAScript 3.0 から 3.1 への変更点まとめ - IT戦記


さて前置きが長くなりましたが、アプリキャストでの継承です。

続きを読む

アプリキャストのウィジェット開発用ライブラリ『aclib』

アプリキャストウィジェットを開発するためのJavaScriptライブラリ、aclib を、Google Codeで公開しました。

Google Code Archive - Long-term storage for Google Code Project Hosting.

以下の機能を提供します。

  • 組み込みオブジェクトの拡張
  • オブジェクト指向のノードアクセス
  • キャッシングによるノードアクセスの高速化
  • イベントのディスパッチ機構
  • コールバックの無名関数対応
  • 無制限のタイマ
  • HTTPリクエストキューイング
  • リストボックス、プログレスバー、スライダ、スクロールバー

ライセンスはMIT。詳しい使い方など少しずつ紹介してく予定。

アプリキャストで開発を始める時に見るサイト

アプリキャストウィジェット開発を始める人のために有用なサイトをまとめ。

アプリキャストのアプリを10分で作る方法 | IDEA*IDEA

screenshot
アプリキャストでのウィジェット開発の流れがざっくり紹介されているエントリ。
まずはここで雰囲気をつかむのがよい。


アプリキャストプログラミング:Geekなぺーじ

screenshot
大量のサンプルと解説。
本家サイトのドキュメントはそれなりにボリュームがあるので、ここのコピペから始めてみる、というのが手っ取り早くていい気がする。


http://www.jp.sonystyle.com/Taiken/Original/Applicast/develop_make.html

screenshot
本家ソニーの開発者向けサイト。
アプリキャスト開発ツール各種ダウンロード」から、開発者向けドキュメントをダウンロードして読むことができる。とはいえ量が多いので、わからない場合に必要な部分を参照するような使い方がよさそう。

随時追加の予定。

BRAVIAで動く2ちゃんねる実況板ビューア 『neltv』 をリリース

ソニー液晶テレビBRAVIA2ちゃんねるのTV実況板を見るためのアプリをリリースしました。

jikkyo.tvneltv

こんな感じで、画面の横にTV実況板をひたすら表示。

最近のBRAVIA持ってる方は是非!