この記事はGunosy Advent Calendar 2015の8日目の記事です。
お疲れ様です。おはようございます。@axrossといいます。シングルページアプリケーション書いてメシを食わせてもらっている人間です。
今日は、「Gunosyでフロントエンド」って言葉がピンと来ない方が多いなという印象があるので、そのあたりの話をしようと思います。
Gunosyのフロントエンド領域
Gunosyは今はiOS/Androidアプリケーションを主体としてサービスを展開していますが、Web版もあったりします。また、iOS/Androidアプリケーション内にも、「グノシーマンガ」といったコンテンツがあり、これはWebViewにを用いて提供しています。
Gunosyは結構早い段階からReactを採用しており、既にいくつかのプロジェクトはReactによって作られています。僕がコミットしているのは、だいたいこの領域です。
デザイナーとフロントエンドの連携
フロントエンド開発で凝ったことをしようとすると、だいたいデザイナーとの連携が障害となります。たとえば、ReactのJSX(XMLライクなシュガーを取り入れたJavaScriptシンタックス)をデザイナーに書かせるのか?などです。
幸いにも、Gunosyのデザイナーはプログラミング方面にも高い能力を有している人が多く、PhotoshopのPSDファイルからReactのElement吐き出しのスクリプトを書ける人など、中々のバケモノがいたりして、わりと不便なくやらせてもらえています。
どんなことを大事にしているか
Gunosyのプロジェクトの多くは、小さくスタートし、改善を繰り返すことで成長してきました。僕もエンジニアとして、変更に強いアプリケーション基盤作りは大事だと思っています。
僕たちがReactを使うのは、イケてるからではありません。パフォーマンスが良いからでもありません。堅牢で柔軟なアプリケーションを構築するのに適した手段だからです。仕様変更に対して嫌な顔をせずに、ユーザーのために地道な改善を繰り返すのにReactが最も向いているからです。
最後に
共感できる方、興味のある方は@axrossまでご一報ください。メシでも行きましょう。
次の日は@aibouがDSLについて話すようです。