MEANなるものが流行ってるらしい

なんか素敵。

以下あたり参考の事。

MongoDB, Express, AngularJS, Node.js)スタックが優れている理由

mean.io

これで何が嬉しいかと言うと言語は全部javascript、データは全部JSONで統一できるというあたりが嬉しいです。逆にぱっと思いつく問題はSEOです。javascriptでゴリゴリとレンダリングするようなページは検索エンジンがうまく働いてくれません。多くの検索エンジンはjavascriptを評価しないためです。評価しない理由は単純にクロール速度の問題ではないかと思っています。

Googleがクロール時にJavascriptを評価するようにするとか言い出したのは去年の事だと思いますが、それからちゃんと対応したという話を聞きません。PhantomJSやnginxあたりを組み合わせて静的HTMLを作っておくのが無難なんでしょうか。

まあ今はダメでもそのうち対応するでしょうし、そもそもクロールしてくれなくても良いようなケース(業務用とか特定ユーザー向けサービスとか)もありますから凄く困るというシーンは少ないのではないかと思います。

ただ、良くも悪くもJavaScriptだというのがちょっと引っ掛かります。それを言ったらおしまいなんですけど。アロー関数とかさっさと実装してくれよと思うのですが、HTTP 2.0を後生大事に使っているあたりから推して知るべしといったところですかね。やっぱHTMLやブラウザの世界はしがらみが多いのでしょう。私は部外者だからさっさと実装しろよと思うのですが、もし私がブラウザの実装とかする仕事だったら「簡単に実装しろとか言うなよポンコツ」と思ってます。だってPCとかスマホならまだしも、組み込みとかもあるしね。…いや、組み込み向けなんか最新のECMA仕様を追わなくてもいいんじゃねーの?やっぱ早く実装しろ、と思う。

でも頑張ったらMEANでCoffeeScriptフルスタックとかScala.jsフルスタックとかも可能なんでしょうか?jsに落ちるんだから技術的には出来るよね。環境が整ってるのかどうかは知らんけど。前者はまだしも後者は茨の道だろうな。

まあ、私はScalaとJavaScriptを両方つかってますし、どっちも良いと思う(とんこつラーメンが好きだけどたまには醤油ラーメンも食いたいみたいな感じで)ので、個人的にはこれからもplay + MVW系フレームワークを使っていくと思います。playだったらmongoも使えるし。

あとexpressはテンプレートエンジンがどうなんだろ、というのはあります。playを触ってしまうとtwirlから離れたくなくなるんだよな。ejsとかjadeとか面倒くさそうで覚える気がしないし、他のテンプレートエンジンも書式をさらっと見た段階でげんなりする。でもまあ、AngularJS使うんだったらそもそも要らないのか?

なんか独り言みたいな記事になってしまったけど、とりあえず上記のようなことを思った。個人的には業務系システムからjava由来のフレームワークを駆逐できるのであれば何でもいいです。ちなみに私は新しい案件があるたびにゴネまくってnodejsやplayを採用させてます。

業務系(基幹系)システムを作っててnodejsとかplayとか大好き!という人は少ないでしょうが、これからもがんばって布教していきましょう。それこそ茨の道な気がしますが。それでも私は元気です、今のところ。サンはnodejsで、私はplayで暮らそう。会いに行くよ、angularjsに乗って。ちなみにjavaは首切られて巨大化(肥大化)した末破裂して死んだ。おわり。