フレームワークを上手に使おう

フレームワークとは?

 フレームワークとは開発・運用・意思決定を行う際に、その基礎となる規則・構造・アイデア・思想などの集合のことで、日本語では一般的に「枠組み」などと呼ばれているものですが、プログラミングの世界ではアプリケーションの標準構造を実装するのに使われるクラスやライブラリの集まりのことをいいます。多くの再利用可能なコードをフレームワークにまとめることによって、開発者の手間を省き、新たなアプリケーションのために標準的なコードを改めて書かなくて済むようになるため、より速い速度での開発が可能になってきます。先程はAPIについて紹介してきましたが先程紹介したようなAPI以外にも、自分にとって苦手とする部分をある種の外注に出すことによって、さくさく開発を進めることが出来るようになっているということなのです。このフレームワークですが、当然、これはそのソースの役割に応じて様々な種類のものがあり、デザインを担当するものや、内部の機能を担当するもの、またはHTMLのフレームワークなどもあったりします。ここでは、主にCSSフレームワークとゲームを作るのに便利なjsフレームワークについて幾つか紹介していこうかと思います。

デザインが出来ないならCSSフレームワーク

 特に実際のプログラマーの人などでも、気の利いたデザインの物が作れないという人もいるかと思いますし、機能の方に集中したいのにも関わらず、一々デザインなんかに凝っていられないという人もいるかと思います。そこで役に立つのがこのCSSフレームワークです。これは本当に数多く登場しているフレームワークの一つで、中にはウェブコンポーネントを取り扱えるようなものまであったりします。

Bootstrap

 Twitter社が公開しているCSSフレームワークで、デザインセンスが無くてもコード規則に基いてHTMLを書いていけばそれなりのデザインのサイトが簡単に作れるというものです。最も利用者が多く、また、これを元にした改造版なども数多く公開されています。

AUI ─ Atlassian User Interface

 「Bitbucket(Git & Mercurial(マーキュリアル)選択型Webホスティングサービス)」を提供している言わずと知れたアトラシアン社が提供しているCSSフレームワークです。Bootstrapよりも高機能な部分もあり、HTMLの可読性も高くなるのでオススメです。

綺麗にマークアップできるCSSフレームワークも

 基本的にCSSフレームワークはHTMLがCSSに依存しやすいためソースコード自体が若干見づらくなったらカオスになってしまうことがありますが、そうならないようなCSSフレームワークもあります。特に個人的に愛用しているのが、Bourbon、Neat、Bitters、Refillsといったフレームワークです。更にその中でも愛が止まらないのがNeatとBourbonでその凄さを体験したい方は今スグドキュメンテーションを見てみてください。英語ですが。

jsフレームワークはゲームにも最適!

 先程紹介したティラノススクリプトのようなjavascriptがベースになっているスクリプトエンジンの他にもjavascriptのフレームワークなどもあって、様々な用途別に多様な種類のものが存在しています。特にここでは簡単にゲーム開発が出来るものなどを紹介していきますが、もしも他のWEBアプリなどを作りたいという場合であればそれにあったフレームワークを探してみるのも手かもしれませんね。

enchant.js

カンタンにゲームやアプリを開発できる HTML5 + JavaScript フレームワークでで、2011年に公開されてから、すでに 1,000 本以上のゲーム/アプリが公開されています。

オープンソース (MITライセンス) で、無料で利用できる上に、ドキュメント・書籍・チュートリアルサイトが充実しています。

また、たくさんのプラグインで機能を拡張できるといったスケーリングの利点もある上に、更にプログラミング教育のためにも利用されていることから利用ユーザー数も多いフレームワークです。

melonJS

 個人的に愛用しているフレームワークです。とても軽量なので、スマートフォン向けのブラウザゲームなどを作ってもさくさく動きます。特に2Dタイプのゲームを作りたいのであれば、こちらを使ってみてもいいかもしれません。

邪道かもしれないけど便利

 人によってはこれらのフレームワークを使うのは邪道だという人もいるかもしれませんが、しっかりと理解して使うのであれば非常に便利なものになっています。特にソーシャルゲームのような不特定多数の個人情報を預かるようなサービスであればある程度セキュリティーなどの知識が必要になってきますが、簡単に出来るパズルゲーみたいなものはこれでサクッと作ってみると良いかと思います。