1ヶ月間 Meteor で開発してみて

新しい会社に入ってから、Meteor というフレームワークで開発をしている。
ちなみに、Meteor というのは Javascript 用の Web アプリケーションフレームワーク。
今まで、Javascript を本格的に勉強した事なかったので、自分にとっては色んな意味で新しい。

1ヶ月触ってみて、軽く Meteor の紹介と感想について。

まず Meteor の紹介。

Meteor は前述のように Javascript 用の Web アプリケーションフレームワークだ。
特徴としては、サーバーサイドとクライアントサイドの両方一度に開発しようという発想。

  1. 最近は、PC やスマートフォン等、クライアントサイドの性能が上がってきた
  2. 何から何までサーバーでやるより、クライアントサイドでも処理した方がサーバーの負荷も減るしユーザーの体感速度も上がるんじゃね?
  3. クライアントサイドでも処理するなら、サーバーとクライアントでコードを共有できると DRY だよね。
  4. じゃあ、サーバーサイドとクライアントサイドでコードを共有する事前提に、両方一度に作るためのフレームワークつくろう

こんな感じの思想に基いて作られたフレームワークとの事。

また、サーバーサイド、クライアントサイドともに MongoDB の使用が前提である事も珍しい特徴だと思う。
もちろん、サーバーサイドでは他の DB を使用する事もできる。でもフレームワークとして第一にサポートしているのは MongoDB。
そして、クライアントサイドでもメモリ上に MongoDB (正確には mini mongo というらしい)を立ち上げ、必要なデータだけサーバーと sync する。

作って見ると驚く程簡単で、Javascript 初心者の自分にもヌルヌル動くアプリが簡単に作れた。
色々と画期的なツールだと思う。
何より、クライアントに要求することが「Javascript の動く Web ブラウザー」だけという事が素晴らしい。
これひとつで、Windows, Mac, iOS, Android, Linux 等、一般ユーザーの使用している主要なプラットフォーム全てに対応出来る。

ただ、個人的にはあまり好きになれなかった。

まず第一に、サーバーサイドとクライアントサイドでコードを共有できる事のメリットが自分には感じられない。
入力データのサニタイズとか、確かにサーバーサイドとクライアントサイドで共有できると楽かもしれない。
でも、(サーバーサイドで Javascript を使うという前提であれば)その程度の事は一手間かければいくらでも出来る。
例えば、共有する Javascript ファイルを Web にあげておけば、クライアントでも読み込む事は可能だ。

「その一手間を除いたことが重要」という人もいるかもしれないが、そのために失う物があまりにも大きい。

では、Meteor を使うことで失う物とは何だろうか?

第一に、Meteor ではサーバーサイドでも Javascript と MongoDB を使用する事を強制される。
個人の好みの問題かもしれないが、副作用だらけの関数をイベント駆動で動かしているコードをデバッグすることは苦行だし、一切の型チェックを放棄している MongoDB はバグの温床にしか見えない。
もちろん、必要に応じて Javascript や MongoDB を使うことは全く問題無い。
でも、デフォルトが Javascript と MongoDB っていうのは個人的にいただけない。

「Meteor を使用していても他の言語や DB と組み合わせて使うことは可能だろ」って?
それはその通り。
でも、その手間を考えたら Javascript ファイルを Web 上に置いておく事なんて些細な問題だ。

第二に、クライアントとサーバーが密結合になりすぎる。
そもそも、REST っていうのは様々なクライアントから使えるという売り文句で 200X 年代にクラサバ型のシステムを駆逐してきた。
でも、Meteor で作ると「クライアントは Javascript を搭載した Web ブラウザー」という事が前提になってしまう。
Java で作ったアンドロイドアプリや curl を使う shell script とは相性が悪い。
このような構成は、俺の美意識に反する。

色々とケチをつけてしまったが、個人的な好き嫌いの問題だ。
Meteor は好みにマッチすれば強力なツールとなるだろう。
まだ新しく、未完成なツールである事も魅力に感じる人もいるかもしれない。
今から始めれば、2,3 年後に自慢できるかもしれないし、初心者でもコントリビュートできる事が多い。

何より、サーバーサイドとクライアントサイドをこのレベルでまとめたフレームワークを、自分は他に知らない。
俺のハートに直球ドストライクではなかったが、良い勉強にはなった。

興味のある人は、ぜひ勉強してみると良いと思う。

Author: wbcchsyn

未来のスーパーエンジニア とりあえず、新しい物が大好き

11 thoughts on “1ヶ月間 Meteor で開発してみて”

  1. Write more, thats all I have to say. Literally, it seems as though you relied on the
    video to make your point. You clearly know what youre talking about, why throw
    away your intelligence on just posting videos to your site when you
    could be giving us something enlightening to read?
    Maglia real madrid

  2. My partner and I stumbled over here by a different page and thought I may as well check things out.
    I like what I see so i am just following you. Look forward to finding out about your web page
    again. Billiga

  3. Heya i’m for the primary time here. I found this board and I in finding
    It really useful & it helped me out much. I am hoping to offer one thing back and aid others such as you helped me.
    magliette Bayer Leverkusen

  4. Hello, after reading this awesome piece of writing i am also happy to share my knowledge here with colleagues.

    Maglia manchester united 2019 itali

  5. My developer is trying to convince me to move to .net from PHP.

    I have always disliked the idea because of the expenses.

    But he’s tryiong none the less. I’ve been using WordPress on a number of websites for
    about a year and am anxious about switching to another platform.
    I have heard fantastic things about blogengine.net.
    Is there a way I can transfer all my wordpress posts into it?
    Any kind of help would be really appreciated! Nuova Maglia Real Madrid

  6. First of all I want to say great blog! I had a quick question which
    I’d like to ask if you don’t mind. I was interested to know how
    you center yourself and clear your thoughts before writing.
    I’ve had difficulty clearing my thoughts in getting
    my thoughts out. I do enjoy writing however it just seems
    like the first 10 to 15 minutes are generally wasted just trying to figure out how to begin.
    Any recommendations or hints? Kudos! Stoke City Tröja

  7. Right away I am going to do my breakfast, afterward having my breakfast coming again to read more news.
    tottenham drakter med trykk MonteSmal billige fodboldtrøjer PenniWate

  8. Terrific article! This is the kind of info that are meant to be shared around the internet.
    Shame on Google for no longer positioning this submit upper!
    Come on over and talk over with my web site . Thank you =) Billiga SSC Napoli Kläder LarueSpmp Maglie da calcio Prima
    Maglia Ajax ClintonVr

  9. Thanks designed for sharing such a pleasant opinion, article is nice, thats why i have read it completely Günstige fußballtrikots Mckenzien italia
    drakt JakePhill

  10. Everything is very open with a precise clarification of the
    challenges. It was definitely informative. Your website is extremely helpful.
    Thank you for sharing! Maglia chelsea Bambino
    DeniceBru maglie calcio poco prezzo CameronLi

  11. My developer is trying to persuade me to move to .net from PHP.

    I have always disliked the idea because of the costs.
    But he’s tryiong none the less. I’ve been using Movable-type on a
    number of websites for about a year and am worried about
    switching to another platform. I have heard fantastic things
    about blogengine.net. Is there a way I can import all my wordpress content into it?
    Any kind of help would be really appreciated! fodboldtrøjer EloisaAte billige fodboldtrøjer SherriGro

Leave a Reply

コメントは反映されるまで数分かかります。
リンクのあるコメントはスパム判定されます。