Web 開発しないといけなくてざっくり調べた
最近
運用対応からデータプラットフォーム系の開発(NW から既存アルゴリズムの応用まで)すべてワンマン運転でやっている気がしてならない私です。事件が起きて更につらみアップ。そんな中で Web 開発まで着手しないといけないので、とにかく軽量そうなライブラリ・フレームワークはないかと調べていました。
想定している用途
- 社内で使うシステムなので Search Engine Optimization どうでもいい
- 見てくれはごっそり作り変える可能性はあるので、とにかくミニマムにしたい。
- かっこよさげなデザインがいいなー。
- データを引っ張ってくる API はがっつり考えないといけない。
構成
ざっくり
- データを引っ張ってくる Rest な API をつくる
- データの可視化さえ json で図を渡す
- javascript で API たたく
- なんかの CSS のライブラリで綺麗に表示
クライアントは将来どうなるかわからんので REST な API を叩きまくる、というふうにしております。 PyConJP にエア参加していて聞いた情報(おそらく次の講演のところ)。
www.slideshare.net
サーバサイドの API
- pandas とかでいろいろデータを操作するので python がやっぱり良い。
- Flask-RESTful が一番簡単そう。
Flask-RESTful は tomchristie/django-rest-framework · GitHub の規模と比べるとやや不安ではあるけれども、粛々と開発しているし、どうせ半年後には大規模になっても耐えられるものを〜っていうことで作り変えそうなので、まあ良いでしょうという。
また、データの可視化も図を json で渡すという謎なことができそう。実態は、matplotlib での図を mpld3 というライブラリ経由で d3.js のグラフにできる、かも。参考は次の2つ。
bokeh がもっと安定していればいいんだけどな〜。
javascript のフレームワーク
フロントエンドを触ったことが無いため、すっげぇ時間がかかった。とりあえず、今は戦国時代だということがわかった。
Polymer を採用することは当分なし。Angular は独特だということがよくわかっていてこれもなし。React は最後まで有力候補だったんだけれども、次の2つの記事を読んで、最終的に riot.js に落ち着きました。
- JavaScript - React.jsではなくRiot.jsを採用した話、運用中サービス『GAMY』でリニューアル - Qiita
- riot - デザイナはWeb Componentsに夢を見るのか - Qiita
CSS のはなし
イラレで制作したことは多少はあるけれども、既存のものを有効活用したい。Bootstrap, Foundation が主流で、Material Design が急上昇といったところでしょうか。
調べていて思ったこと(参考)
他にも入り口となる情報はいっぱいアルみたいですね。