2

私は航空宇宙エンジニアであり、ソフトウェアの世界に真っ向から取り組んでいるので、私の無知を許してください。

私は、小さなコンピューター(ビーグルボードを考えてください)がこれらのクライアントとデータを送受信するサーバーに接続できるようにするWebソリューションを構築しています。接続は、GPRS / 3G/4Gを含む多くのタイプを介して行われます。

ユーザーは、この中央サーバーによって提供されるWebページを介してリアルタイムでクライアントと対話します。ソリューションは適切に拡張する必要があります。

私はクライアント側にPythonを使用し、Herokuを使用するサーバーにはいくつかの単純なrubyコードを使用しています。NodeJSとRubyonRailsも少し試しました。非常に多くのオプションがあるので、木から森を見るのに苦労していて、これらの言語が私のスタックのどこに収まるのか疑問に思っています。

あなたの助けに感謝します。詳細をお知らせします。

4

2 に答える 2

1

それはすべて、あなたが実際に何をしようとしているのか、そしてあなたの要件が何であるかに依存します。

このようなものに本当の「正しい」言語はありません。ほとんどの場合、これらの言語で使用するフレームワーク(すべて汎用プログラミング言語であるため)と個人的な好み/経験によって決まります。

Pythonについては、実際に試したことがないのであまりコメントできませんが、聞いた/見たところ、Rubyも使用されていますが、Pythonを取り巻くコミュニティは少し小さく、Pythonが多く使用されています。科学コミュニティでもっと(あなたのアプリがクレイジー計算をしているかもしれないならそれは良いかもしれません)。

それがRubyにつながります。RubyとRubyonRailsフレームワークは、主にWebアプリケーションとサービスの作成に使用されます。Rubyはプログラミングするのに非常に洗練された言語であり、ツールは非常に成熟していて操作が簡単です。RailsはRubyのフレームワークであり、データ駆動型Webアプリの作成に特に適した非常に優れたツールセットをWeb開発で非常に簡単に提供します。非常に柔軟性があり、一緒に仕事をする喜びがあります。ただし、現時点でRubyにはいくつかの欠点があり、主にスレッド化が不十分であることに関連しています。

Node.JSはパラレリズムに焦点を当てた新しい言語であり、RubyとPythonが実行できるすべてのことをサポートしますが、Rubyが提供するものと比較してドキュメントが不足しています。また、JavaScriptはすべての癖があり、コールバック指向の非同期モデルは最も単純なものではないため、これは最も初心者に優しい選択ではありません。

とは言うものの、ノードは非常にベアメタルであり、HTTPを介して動作する必要のない任意のTCP/UDPサーバーを非常に簡単に作成できます。カスタムストリーミングプロトコルまたはカスタムプロトコルは、実際にはノードでほとんど簡単に実行されます。(これを行うことはお勧めしませんが、タスクにとって重要な場合があります)。

公平を期すために、ノード用のWebアプリの作成を容易にするフレームワークがありますが、coicesはa)RailsやDjangoほど成熟しておらず、b)フレームワークの選択肢を選択する必要があります。

つまり、Railsには多くのデフォルトがあり(たとえば、Railsには最適化されたデフォルトのデータベーススタックがあります)、Expressなどのフレームワークを備えたNodeは、必要な最低限のHTTPサーバーのみを提供します。選択したデータベースなどで...

最後に:あなたが質問したすべての言語とフレームワークは、主にWebアプリケーションの作成に使用されます。ただし、これらはすべて、サービスを利用するクライアントを作成するためにも使用できます。ほとんどの場合、一般的な好みになります。

于 2013-01-07T09:10:54.190 に答える
1

学ぶべきことはたくさんありますが、Ruby on rails は解決策を迅速に提供してくれます。本当に素晴らしいものにするには、HTML、JavaScript、CSS、Ruby をマスターする必要があります。時間がかかる。しかし、慣例に従う限り、RoR は簡単です。RoR の世界には多くの開発者、ブログ、スクリーンキャストが存在するため、簡単にヘルプを得ることができます。

まだご存知でない場合は、 Railscastsが優れたリソースです。

于 2013-01-07T09:21:12.853 に答える