アシアルブログ

アシアルの中の人が技術と想いのたけをつづるブログです

Monaca オープンソースソフトウェア化

こんにちは、斉藤です!
今回は大きなニュースを持ってきました!

なんとMonacaサービスの一部が、先日オープンソースになりました!
Monacaの宣伝も兼ねて、そのご紹介です。

githubというサイトにて、ソースコードを公開しています。
github Monaca アカウント

Monacaって何?な方はこちらから



* そもそもオープンソースソフトウェア(OSS)って?



ソースコードを公開しているソフトウェアのことを指します。
有名なところで言えば、OSの一つであるLinuxや、開発言語であるPHPですね。
せっかく作ったサービスのソースコードを公開して、何が嬉しいかというと、


・公開側:たくさんの方がソースコードを見て、意見を出すことになり、品質が高くなる。
・使う側:お金をかけずにソフトウェアを使うことが出来る。


という点ですね。
これによってソフトウェアを売る、という商売は出来なくなりますが、代わりにサポートを商売にするという方法を取っているところが多いですね(PhoneGapなど)。
このメリット、デメリットを語りだすと、本題と外れるのでこの辺で。

* Monacaのどの部分をOSS化したの?



タイトル通り、Monacaサービスの一部をOSS化をしました。
今回OSS化したのは、下記の二点OS向けの機能です。

Android : https://github.com/monaca/monaca-framework-android
iOS : https://github.com/monaca/monaca-framework-ios

具体的に何の機能をOSS化したかというと、Monacaフレームワークと呼ばれる以下の機能の部分です。


・AndroidやiOSでHTMLやJavaScriptを動かすための仕組み(PhoneGapライブラリを扱っている部分)
・OSなどの固有定数や、HTMLの構造化をサポートするテンプレートエンジン
・以前紹介されたネイティブコンポーネント機能、トランジション機能


いわゆるMonaca製アプリのモジュール部分ですね!
これによって、今までMonaca IDEで作っていたHTML5JavaScriptを使ったクロスプラットフォームなアプリケーションを、ローカルで作ることが出来るようになります。
ただし、XcodeEclipseといったIDEを用意していただくことにはなるのですが…。
ローカル上での開発に覚えのある方は、こちらの方がやりやすいのではないでしょうか?

* なんでOSS化?



OSS化した理由は、プレスリリースにもありますが、自分は以下の点だと考えています。



1. 自分たちがフレームワークを提供することでアプリ制作をする人を増やしたい
2. 特定のプラットフォームに縛られる開発方法が混在する状況を変えていきたい


1はよくある理由ですが、2について、少し補足します。
今日のiOSとかAndroidとかプラットフォームが色々ある状況というのは開発者にとっては、少しめまぐるしいのではないか、と思っています。
Java書いて、Objective-C書いて・・・というのは、結構大変な作業ですよね。
これからも、Windows 8やその他のプラットフォームが充実していくから、もっともっとカオスになることが想定される。

そんな状況を少しでも変えたい。もっと楽しく開発ができる環境を用意したい。

Monacaが開発された理由にも通じますが、今回のOSS化の中で、個人的にそんなことを思いながら作業をしていました。



* 終わりに



というわけで、今回はMonacaオープンソース化について説明しました。
今回、ご紹介したものに限らず、ソースコードをオープンにしているものがいくつかあります。
興味のある方はぜひ!

いつか、これを読んでくれた方がMonacaフレームワークにコミットする日が訪れることを期待してます!
それではまた!