プログラミングの授業でenchant.jsを使い続けるか、それともphina.jsに変えていくかを考えている、というお話です。
現状
初心者~中級者向けのプログラミング授業で、HTML5+JavaScript+
enchant.jsという組み合わせで行っています。開発環境その他詳しいことは過去記事2017年度の授業環境 (HTML5+JavaScript)をご参照ください。
enchant.jsライブラリについては、
- 理解しやすい(クラスも作りやすいのでオブジェクト指向の理解にも)
- 書籍が出版されている(テキストがある方が良い)
- オンライン開発環境とチュートリアルがある
- 日本語の情報がある
などが決め手となりました。
enchant.jsの今後が気がかり
このところ気にかかっているのが、enchant.jsの現状と今後です。
公式ガイドのHTML5とJavaScriptでスマートフォンゲーム作成! ゼロからはじめるenchant.js入門の第7章「ARを使った3Dゲームをつくってみよう」では、ゲームの動作に必要なアプリをスマホやタブレットにインストールすることになっています。ですが、そのアプリの配布が終了しており、今は出来ないのです。
調べてみるとenchant.jsの当初の開発元であるUEIからUEIソリューションズへ2016年に業務移管しており、その後UEIソリューションズは社名変更。その影響なのかどうかenchant.jsの機能追加なども2016年頃から行われていないようです。enchant.jsに関するtwitterの更新なども止まったままですが、サポート終了などの公式な発表は見つかられませんでした。
enchant.jsを使ったプログラムをアプリするには、過去記事JavaScriptで作ったゲームをアプリ化する に書いた通りmonaca(cordova)を使ってできるため、とりあえず大きな問題ではないともいえるかもしれません。ただ移り変わりの早い業界ですので今後ARなど新しい技術を使いたいこともあるでしょう。このままだと新しい書籍の出版もないかもしれません。
授業内容が古いものならないためにも、代替のライブラリーの検討を念のために始めておこうと思っています。現段階での第一候補がphina.jsです。
phina.jsは公式サイトも分かりやすく、かつ日本語。
開発環境RunstantLightも使いやすそうです。ライブラリファイルをアップすればjsdo.itその他でも動くでしょう。書籍が無いようですがphina.js docs
のサイトに多くの情報があります。軽さと機能の豊富さに期待しています。
それから
それぞれのライブラリや言語にはそれぞれの特徴があります。何をしたいかに寄っても最適なライブラリや言語は変わってきますし、簡単にどれが一番というものではないのだろうと考えています。
また、授業を通してオブジェクト指向やイベントドリブンをしっかり理解できれば、ライブラリの違いや、ともすれば言語の違いも、それほど大きな問題ではないことも常に意識しています。
参考にしている書籍