4

タイトルは、できるだけ多くの流行語を質問に詰め込みたかったことを示唆していますが、実際には真剣です;)

グリッドが豊富で、デスクトップアプリと同じくらいスッキリする必要があるエンタープライズアプリケーションを構築するためのオプションを模索しています。運用上の変革は大きな問題になりますが(または、OTを使用した同時編集では、関連する問題を解決するための可能なアプローチです)、アプリに多数の同時ユーザーがいる可能性はほとんどありません(50から始まり、おそらく数百)。

SmartGWTは私たちが直面している問題の多くを解決しているように見えますが、アプリを構築するチームは非常に小規模です(おそらく、2人の開発者と1人の技術プログラムマネージャー)。Node.jsは、両方の開発者がバックエンドとフロントエンドで動作する可能性があるため、魅力的なようです。

この文脈で、私はいくつかの質問があります:

Node.jsはこの種のアプリに適していますか?Node.jsとこの種のアプリに関する人々とその経験から話を聞くのは非常に興味深いでしょう。

ExtJS / SmartGWTと一緒に使用した人はいますか?これらがNodeとどのように連携するかについてのあなたの経験は何でしたか?

Javaの専門家を見つけることは比較的簡単な作業ですが、経験豊富なNode.js開発者を見つけることは不可能だと確信しています。Node.jsへの移行を容易にする他の言語の経験はありますか?

これはかなり広い質問だと思います。ご容赦ください。

4

3 に答える 3

5

通常、これは node.js+socket.io+backbone.js を使用して解決されます。

ただし、実際に調べる必要があります: http://meteor.com/およびhttp://www.firebase.com/

于 2012-04-16T10:15:12.763 に答える
2

私は現在、あなたの質問が求めているのとまったく同じセットアップを使用しています。Sencha の Ext4 と nodejs を使用して、多数のグリッドを備えた大規模な単一ページ アプリケーションを構築しています。ほとんどの UI 作業に sencha Architect を使用しており、データベースは PostgreSQL を使用しています。このセットアップには、多くの利点と欠点があります。

利点:

  • htmlがない!これが最大の利点です。HTMLは面倒です。ext コンポーネントだけを使用する場合、html に触れる必要はほとんどありません。私たちがしなければならないことは、css を少しいじるだけです。これがどれほど素晴らしいか、言葉では適切に説明できません。冗長で一貫性のない xml 派生物を記述する必要性を首尾よく排除しました。
  • これにより、私たちの多くがより優れた JavaScript プログラマーになりました。これが重要な理由の 1 つは、何をしてもjavascript を取り除くことができないということです。何らかの種類の Web アプリケーションを構築する場合は、大量の javascript を作成する必要があります。変装するのではなく、受け入れたほうがよいでしょう。それを隠したり偽装したりすることで、問題を悪化させるだけです。より優れた、より効率的な JavaScript を書くことを学べば、最終的には物事がより良くなるだけです。
  • データベースライブラリはjsonで自動出力!それはどれほどクールですか?いずれにせよ、それは json に変換され、残りの API を介して読み取られます。使用するものを自動的に提供しないのはなぜですか? そして、これは Postgres から来ています。Postgres はそれ自体で json をほとんどサポートしていませんが、これは自動的にそれを行います。
  • このプロジェクト全体は、pl/pgsql と javascript の 2 つの言語だけで書かれています。現在、pl/pgsql を pl/v8 (v8 から postgresql へのポート) に置き換えることを検討しています。ドキュメントを読まなくてもほぼプログラミングできます。それはどれほど素晴らしいですか?

短所:

  • ただし、Nodejs は楽しいゲームばかりではありません。多分それは私だけですが、npmモジュールを基本的に使用する前に読むのにかなりの時間がかかります.
  • Nodejsを利用するには、JavaScriptを本当にマスターする必要があります。真剣に、Nodejs は初心者向けではありません。私は初心者がそれをやめるべきだと言っているのではありません。ただ、あなたがそれで何か有用なことをする方法を学ぶ頃には、あなたはもはや初心者ではないということを意味しています. 役に立つものを書くつもりなら、JavaScript を深く学ぶ準備をしてください。
  • Sencha は完全に無料ではありません。明らかにそれはあなたがそれで何をしているかに依存しますが、それは私たちが支払わなければならなかった唯一のソフトウェアです.
  • 開発は思ったほど速くはありません。テーブルの完全な CRUD の作成、グリッドの表示、グリッドの更新、ボタンの追加などは、依然として非常に時間がかかります。基本的に、非常に優れた UI コンポーネントを使用すると、実際に速度が低下します。ここで、パネルとモーダル ウィンドウ、および実際のウィンドウ フレームワークが持つすべてのものを用意する必要があります。煎茶を使う前は、物事はずっと単純でした。すべての機能が制限されていたため、プログラミングが高速でした。明らかに、これはこの方法で行うと見栄えが良くなりますが、これらすべてが本当に必要だと誰が言えますか?

パフォーマンスに関する限り、十分に高速です。比較はできませんが、まだ性能に問題はありません。

于 2013-04-07T09:40:23.353 に答える
2

すでに知っているテクノロジーを選択する必要があります。

(残りは私見です)

私は Node.js と Java のファンです。ただし、Node.js を選択する場合は、有能なチームが必要です。始めるのは簡単ですが、長期的には本当に自分を台無しにするのも簡単です.

  • フレームワークの明確な勝者はありません (Express が最も近い)
  • 動くターゲット。図書館は常に変化しています。
  • Javascript でのリファクタリングは PITA です
  • データベース トランザクションの処理はかなり難しい (トランザクションが必要な場合)
  • 誤って非常に危険なコードを書きがちです (「var」を見逃すと、グローバル変数の問題が発生します)。
  • コードを介したトレース/デバッグは、すべてのコールバックでかなり困難になる可能性があります。
  • 他の人のコードを読む (才能のあるチームが重要な理由)

クライアント側のコードがたまたまフロントエンドと同じ構文を持っているからといって、思ったほど役に立ちません。実際、node.js を使用しているときに、自分が利用できるもの (ライブラリ) を混乱させたり、そのクライアントまたはサーバー コードを見ている場合に混乱したりすることがよくあります。

サーバー側に関しては、Java にはいくつかの大きな利点があります。

  • 確立された選択肢: Spring MVC または JAX-RS
  • リファクタリングは簡単
  • 言語の一貫性、静的型付け、相互参照 IDE により、Java コードを読むのは簡単です。

Javascript 開発者よりも Java 開発者を探すことへの懸念は、ますます少なくなっています。それに加えて、才能のある人々は言語にとらわれない/そうあるべきです。

EXTJS または GWT に関しては、どちらも使用しません。バックボーン + JQuery + Twitter ブートストラップで十分です。

于 2012-04-16T12:55:13.847 に答える