Sharethis 、MeteorとLean Startup
プリンシパルエンジニア、Ishika Paul氏
Sharethis は最近、Lean Startup Approachを採用しました。この哲学は、「Work Smarter Not Harder」に焦点を当てています。
- 学習と反復
- アイデアの開発
- アイデアに基づいて構築する(コード、プロトタイプ、ユニットテスト!)。
- アイデアを顧客に展開し、結果を測定する
Meteorはこの哲学を取り入れています。エンジニアは生産性を高め、すぐに機能を構築することができます。
Meteorとは?
Meteorは、オープンソースのjavascriptフレームワークで、nodeJSのバックエンドと、データストアとしてのMongoDBとの深い統合を利用しています。フロントエンドには、MeteorはTrackerとBlazeライブラリを提供しています。これらの技術を組み合わせることで、開発者はアプリや製品を簡単に作ることができるようになります。以下では、Meteorがどのように私たちの「Work Smarter Not Harder」に貢献したかを説明します。
それが功を奏した。
あなたのマシンにmeteorをインストールするのは簡単です。
カール https://install.meteor.com/ | sh
フルスタックのプラットフォームを提供しています。サーバー、クライアント、データベース(MongoDB)がすぐに使えるようになります。あなたは、ただ
ローカルホスト:3000
ブラウザ上でテストアプリが動作しているのが確認できます。さあ、アプリを作成してコーディングを始めましょう。
一つの言語。
Webアプリケーションの構築は、もはやフロントエンドの作業だけではありません。必要な機能を実現するためには、かなりの量のサーバー開発が必要になります。ほとんどの場合、サーバーのコードは他の言語で書かれていることが多く、開発者のフラストレーションや混乱の原因となっています。Meteorのサーバーは、NodeJSの上に構築されています。Javascriptで開発することで、開発者は機能や製品の開発に集中することができ、異なるプログラミング言語の特異性に悩まされることはありません。
MongoDBインテグレーション
MeteorはMongoDBと深く統合されています。このフレームワークでは、多くのコーディングやロジックを必要とせずに、シームレスにデータベースとのインターフェースをとることができます。dbコールはサーバーとクライアントで共通して利用できます。
リアクティブとレスポンシブ
私たちは皆、自分たちの製品が速くて反応が良いことを望んでいます。これはMeteorの哲学的な基盤の1つです。開発者は、この機能を提供するために複雑なWebソケットやポーリングロジックを追加する必要はありません。MeteorはMongoDBのパブリッシュ/サブスクライブ機能を利用して、そのリアルタイム性を活用しています。コレクションにpub/sub関係が作成されると、コレクションへの変更がデータベースからテンプレートやUIにシームレスに伝搬されます。
ベロシティとテストのサポート
テストは、"Work Smarter Not Harder "という哲学の中核をなすものです。開発チームがアイデアや機能を次々と開発していると、バグやリグレッションが製品に混入する可能性が高くなります。開発の初期段階では、テストフレームワークを統合するための規律が必要です。Meteorは、最初のインストールからVelocityを提供します。好きなjavascriptのテストライブラリを統合するだけで、テストを書く準備が整います。
Free Stuff!
Meteorはオープンソースの技術で、追加のフレームワークと簡単に統合できます。コミュニティは非常に活発で、Meteor用のオープンソースパッケージが数多くあり、すぐに使えるようになっています。私たちは、複雑な機能を構築するためにいくつかのパッケージを使用しました。ゼロから構築する必要がないので、開発時間が大幅に短縮されました。これらのパッケージはMeteor用に作られているので、サーバーとクライアントの統合がすでに行われており、それを利用することができます。
Sharethis 、Meteorを活用することで、チームがより速く、より確実にイテレーションできるようになった理由がお分かりいただけると思います。Meteorのようなパワーを与えてくれるWebフレームワークは他にありません。私たちは、製品や機能を短い納期でお客様に提供することができます。
役に立つリンクをいくつかご紹介します。