2017-05-17 13 views
0

この質問はあまりにも開いている場合はお詫び申し上げます。しかし、私はいくつかの原則をこの中に浸透させ始めるのに苦労しています。私はこの種のうち、かなり小さなデモアプリケーションを構築するために計画していますAngularフロントエンドのバックエンドアプリケーション技術

(角2に基づく):https://vmware.github.io/clarity/get-started

私は角UIで、私はバックに保ついくつかの基本的なデータをレンダリングしたいのですがデータベースのRedisデータベースを終了します。

私は、RedisとAngular UIの間にどのアプリケーション層を置くべきかを知ろうとしています。

私は現在、Ruby(ちょっと慣れているからです)またはNode.jsを使用しています

Node.jsとAngular 2の関係について混乱していて、Nodeコードを使用するとAngular(Rubyよりも)をより簡単に統合できるかどうか疑問に思っています。

同じ言語/構文(js)を使用する以外に、私はRedisから読み込んだ結果を角度適用。少なくとも、Angularアプリケーション(私の前提)を実行しているのと同じhttpインスタンス上でapp.jsロジックを実行できます。

私がRubyを使いたければ、AngularアプリケーションからのリクエストにはRubyやSinatraなどのWebフレームワークを使用する必要があります(例えば、Angularではhttp://myrubysrv/applogicを呼び出す必要があります)。

言語とこのデプロイメントの詳細以外にも、アプリケーションロジックコンポーネントの変数をAngularアプリケーションに渡すのがNodeを使用するか、努力のレベルがまったく同じになる私がNodeかRubyを使うかどうか。

ありがとうございました。

+1

私の意見:中間層との角度の統合は、ほとんどの場合、REST呼び出しによって行われるため、選択肢は広く開いています。それはあなたの個人的な状況に依存するので、どちらが最善であるか言うのは難しいです。バックエンドとフロントエンドが言語とそのシンプルさを共有しているため、おそらくノードオプションは最近大きな牽引力を得ているでしょう。 – birwin

+0

あなたの質問は、SOにはあまり適していません。あまりにも多くのことがわかっていないので、私たちは未知の情報について推測し、推測してから広範な回答を得ようとします。 SOは詳細な解答、特にプログラミング問題の詳細な解答についてです。あなたはSOに触れている建築について尋ねていますが、コードが焦点です。より多くの研究を行い、物事を試してから、あなたが書いたコードの問題について質問してください。 –

答えて

1

あなたがここにいくつかのオプションを持っています。角度2以上のアプリケーションは、他の必要なビューの読み込みを処理する本質的にちょうどindex.htmlにコンパイルされます。したがって、index.htmlファイルを提供できるものが必要であり、アプリケーションAPIは提供アプリケーションと完全に分離して生きることができます。どのようにホスティングしているかによって、ここではたくさんのオプションがあります(例えば、フロントエンドとバックエンドをHeroku上にホスティングするGitHubページなど)

RailsはAPI専用アプリケーションを簡単に設定し、私はそれが間違いなくここで最も簡単なオプションだと言いますが、Angularアプリケーションに環境固有の設定を渡す必要がある場合は、起動時のブートストラップ時にこれを行う方法があります。

ノードは常に良いオプションです。しかし、私はNode-Redisで作業したことがないので、ハンズフリーを教えてくれませんでした。また、Railsがもっと簡単になるとも言えます。 しかし、Angular Universalは主にNodeをサポートしています。ユニバーサル(スーパークールなもの)を使用したり混乱させたい場合は、少なくともアプリケーションを提供するときにノードが必要になります。

ノードは、学習の機会を捜しているなら、角度以外のTypescriptのチョップをブラッシュアップするチャンスも与えます。

0

角度は、使用するバックエンドに依存しません。 RUbyまたはNode + ExpresバックエンドからRESTエンドポイントを公開するだけです。クライアントは、とにかく、このようなものを使用します:

http.get("/products").subscribe(...) 

は、ノードに角度会談これらのコードサンプルを見てみましょう: https://github.com/Farata/angular2typescript/tree/master/Angular4/http-node-samples