2017-02-16 13 views
4

私は幾分初心者で、Webアプリケーションを構築するときにAngular 2が.net Coreにどのように結びついているか理解してくれるように助けてください。Angular 2 with .NET Core

私はちょうど、エンティティフレームワークを使用してスポーツストアを構築し、すべての情報を表示するためのかみそりビューを生成するAdam FreemanのプロMVCコアブックを読んでいます。私は今Angular 2を学びたいので、フロントエンドをもっと良く学ぶことができます.MVC Core Razorを使って学んだことのすべてが無駄になったようです。これらの技術の共通の用途は何ですか? Angular 2を使用してSPAを構築すると、.netコアから構築されたWeb APIを使用してデータベースにアクセスできますか?これは一般的な使用法ですか?または、エンティティを使用して.NETコアアプリケーションを構築する方法があります。代わりに、視覚スタジオのすべての角度表示を生成する通常のコントローラを使用しますか?私は彼らがcshtmlファイルではないと思いますか?これを理解するのを手伝ってください。

最後に、.netコードをAngularで使用していますが、バックエンドで.netを使用したい場合は、代わりにVisual Studioを使用する必要がありますか?ありがとうございました。

+0

「Angular2を使用してSPAを構築すると、.netコアから構築されたWeb APIを使用してデータベースにアクセスできますか?」 - はい... "それは一般的な使用ですか?" - VERY YES ... Angular2 SPAアプリケーションとRazorベースのアプリケーションの唯一の違いは、前者にはビューがないことです。それだけです、他のものは同じままです。 – FailedUnitTest

+0

あなたのお返事ありがとうございました。だから、基本的に私はangle2アプリを持っていて、(api)コントローラがデータを操作するだけの.netコアのWeb APIにアクセスし、かみそりビューを全くレンダリングしないでしょうか? –

+0

これが最も一般的なアプローチです。私は剃刀と角を混ぜるのが好きではありませんが、可能です。 – FailedUnitTest

答えて

3

これら2つのテクノロジをマージする一般的な方法は、.NET MVCアプリケーションをバックエンドAPIとして使用し、フロントエンドをAngular SPAとして記述することです。 SPAは、データベース統合やサーバー側のビジネスロジックにバックエンドを使用します。

私はRazorビューをAngularと組み合わせる意味があるとは知らないが、間違っている可能性があります。

いずれにしても、Pluralsight beginner courseがあります。

さらに、LinkedInにはさまざまなプログラミングトピックに関するさまざまなコースの「学習」があります。お手伝いをされるコースthereがあります。

両方のサイトで1か月間の無料試用期間があります。

Here is a linkと同様の質問です。

+0

私は角度とかみそりを組み合わせるには意味のある方法はないと思います。 AngularはもちろんバックエンドのAPIにアタッチすることができ、.NET MVCは非常に良いバックエンドになります。 – jleach

+0

Angularコードをサーバー上で実行し、結果のHTMLをクライアントに送信して、最初のリクエスト時間とSEO最適化を向上させることができます。後続のリクエストは、クライアント上のAngular実行によって実行されます。 Scott Hanselmanは最近[ブログで]それを扱った(https://www.hanselman.com/blog/dotnetNewAngularAndDotnetNewReact.aspx)。だから私は意味のある方法がないと言っていないだろう。または、私自身はMVCビューを使用してSPAの「最初の」ページを提供しました。 – mason

+0

@ jdl134679私は特に.NET MVCではなくRazorと言っています。意味のある方法で、MVCモデルとAngularの両方にバインドされたMVC Razorビューを使用できますか? – Marko

5

はい、ASP.NET CoreとAngular2は一緒に使用できます。 - SQL Serverの

  1. データ層:アーキテクチャは、次のことができます。 ASP.NETコアSQL Serverからデータにアクセスし、Web APIを使用してRESTfulなAPIが公開する - SQL Server Express

  2. アプリケーション層を始めるのに良い(無料)の方法です。チュートリアルはhereです。ほとんどの企業で無料のVisual Studio 2015 Communityを使用できます。

  3. クライアントアプリケーション - Angular2を使用してクライアントサイドアプリケーションを構築できます。そのアーキテクチャはhereと記載されています。

レイザーを使用して、初期ビューを動的に生成することができます(ログインしたユーザーに応じて異なる固定マスターレイアウトなど)。

Angular2もベストプラクティスを扱う非常に素晴らしいチュートリアルがあります(活字体で開発)

  • Guideは、物事をより詳細に
  • Visual Studio integrationをどのように機能するかを説明し、基本的な機能のために

  • 1

    AngularとMVC/Razorを比較すると、実際に比較しているのは「クライアントサイドレンダリング」と「サーバサイドレンダリング」です。クライアント/サーバーアプリケーションでは、両方を使用できます。

    "cshtml"ファイルをサーバーに送信すると、htmlファイルになります。 "cs"部分はサーバー側のレンダリング用のコードです。また、MVCで他のレンダリングエンジンを使用することもできます。

    サーバーサイドのレンダリングは、サーバー上でAngular自体を使用してレンダリングする角度コミュニティのホットトピックです。しかし、ASP.NET MVCはこれに関して多くを提供します。既存の巨大な.NETコンポーネントのエコシステムがあります。すぐに使用できる既存のコードがたくさんあります。

    たとえば、ASP.NETプロジェクトを作成するときに[認証]チェックボックスをオンにするだけで、通常の2要素認証と第三者認証を処理するための堅牢なビューとコントローラをすぐに取得できます。

    Web APIについて質問するとき、ASP.NETの第2の主要部分について話しています。 WebApiとMVCは、以前は別々の技術でしたが、最近は同じMicrosoftコードベースに統合されています。 Angular2アプリ内から直接ASP.NET WebApiを呼び出すことができます。 Angularのルーターはそれを外部ルートとして認識し、要求をサーバーに送信します。

    データベースアクセスに関する限り、これは、MVCコントローラとサーバーで処理するWebApi呼び出しの両方から使用できます。

    0

    JavaScriptのサービスは良い足場テンプレートを、開始する方法を示しています。あなたの場合https://github.com/aspnet/JavaScriptServices

    が、彼らは角/ .NETのコアSPAを構築する方法を確認するために、https://github.com/aspnet/JavaScriptServices/tree/dev/templates/AngularSpaを見てください。

    あなたは自分のリポジトリをクローンするか、次のように自分のテンプレートジェネレータを使用することができ、次のいずれか

    npm install -g yo generator-aspnetcore-spa 
    cd some-empty-directory 
    yo aspnetcore-spa 
    dotnet run 
    

    実際には、角度/ .NETのコアは、サーバー側の一部(.NETコア)とクライアント側で作られています部分(角度)。 ASP.NET Coreを初めて使用している人には、サーバー側の部分について学ぶためにLearn ASP.NET Core MVCを読むことをお勧めします。

    関連する問題