修正されました。 ExpressJSを学んでWebアプリを開発しましたが、これまでの4分の1でした。その後、ごく最近リリースされたメテオが登場します。それは多くの報道と資金を得ており、コルドバに移植できるという利点があります。今、ExpressJSにこだわるか、Meteorに移行するかはわかりません。
キーポイント:スケーラビリティ、使いやすさ、開発効率
Express = Javascriptで構築されたMVCフレームワークであり、Nodeによって強化されています。
Meteor =リアルタイムアプリケーションを構築するためのフロントエンドコンポーネントとバックエンドコンポーネントを備えたフルスタック。
Expressを使用してMeteorの同じ実装を作成するには、MongoDB、Express、AngularJS、およびNodeを含むMEANスタックを調べる必要があります。 Meteorでは、MEANスタックでできることと同じものを作成できます。特に、AngularJSでさらに多くのことを学習することになります。 ExpressとAngularは、MeteorのテンプレートシステムとBlazeを使用して、Meteorで処理されます。
私は流星に固執するでしょう。まだいくつかの欠点がありますが、回避策があります。短い時間で一緒に投げることができるのは驚くべきことです。
オレンジとジャガイモを比較しています。 Expressjsはバックエンドであり、Meteorはフルスタックです。このような比較はまったく不公平です!
私は0.8からMeteorを使用してきましたが、スキンのアップグレード、古い重要なサードパーティパッケージの削除などの痛みに悩まされていました。 Meteorは1.0に達しましたが、モバイルコンポーネントの準備が整っているとは思わないので、githubの問題を確認してください。
Meteorはオンラインプラットフォームを構築する準備ができていると思います。モバイルでうまく動作しないことがわかった場合でも、Meteorアプリケーションを維持し、その上にAPIを作成できます。また、そのためのatmospherejs.comでパッケージを見つけることができます(またはiron:routerを使用することもできます)。これがExpressjsで行うことです。モバイルデバイスで使用するAPIを作成します。
Meteorのキーポイントについて:スケーラビリティ-Meteorをスケーリングすることは可能ですが、それについては良い記事ではありませんが、Kadiraを見ると、Arunodaはそれをスケーリングすることができました。使いやすさ-最初はMeteorアプリケーションを書くのはかなり簡単ですが、長期的には、私が直面したようないくつかの問題に直面するでしょう。開発効率-チームでの私の経験はそれほどポジティブではありませんでした。新しい開発者(経験豊富な開発者でも)がMeteorを取得しないため、アーキテクチャ設計の選択に誤りがあり、いくつかのバグがありました。セキュリティに変換されないすべての.methods。データベース全体をクライアントに公開し、次のように言うことさえあります。
エクスプレスについて:私はそれについてほとんど経験がありませんが、Meteorと比較すると、まったく公平ではありません。 MeteorはExpressjsと同じ目的ではありません。
MEAN Stackとの比較は、より意味があります。 http://mean.io/
Express.jsはMeteorとはまったく異なります。
Meteorは、多くの決定(できれば適切な決定)を行うすべての人に適切なフレームワークを提供しようとします。通常は、アプリケーション開発の観点からは面白くないものです。使用するトランスポートライブラリ、データの同期方法、再利用可能なAPIの構築方法、セキュリティ、データベースでのCRUD操作など。
代わりに、Meteorはスタック全体で統一されたエクスペリエンスを提供します。バックエンド、トランスポート、インターフェイス、フロントエンド、ビルドツールチェーンを強力に制御するため、Mongo + Express +お気に入りのフロントエンドフレームワークからの接着が非常に困難である多くのきちんとした機能を構築できます。 + socket.io + grunt/gulp。
最近の単一ページアプリで優れたユーザーエクスペリエンスを提供することがいかに難しいかについて、Socket.ioの作成者のブログを読んでください。 http://rauchg.com/2014/7-principles-of-rich-web-applications/ 。 Meteorはそれ以上のことを行います。 (少なくとも現時点では、サーバー側のレンダリングと予測を除く)。
すべてを適切に実装するために低レベルの抽象化を選択した場合、セキュリティホールがいくつになるかを考えてください。