AngularJS lebih terkait dengan paradigma aplikasi halaman tunggal, dan karena itu, tidak banyak mendapat manfaat dari teknologi sisi server yang merender markup. Tidak ada alasan teknis yang menghalangi Anda untuk menggunakannya bersama-sama, tetapi dalam arti praktis, mengapa Anda melakukannya?
SPA mengambil aset yang dibutuhkannya (tampilan JS, CSS, dan HTML) dan berjalan sendiri, berkomunikasi kembali ke layanan untuk mengirim atau mengambil data. Jadi, teknologi sisi server masih diperlukan untuk menyediakan layanan tersebut (serta cara lain seperti otentikasi dan sejenisnya), tetapi bagian rendering sebagian besar tidak relevan dan tidak terlalu berguna karena ini merupakan duplikasi upaya, kecuali MVC yang melakukannya. di sisi server dan Angular melakukannya di klien. Jika Anda menggunakan Angular, Anda menginginkannya di klien untuk hasil terbaik. Anda dapat membuat formulir HTML posting Angular dan mengambil sebagian tampilan dari tindakan MVC, tetapi Anda akan kehilangan fitur terbaik dan termudah dari Angular dan membuat hidup Anda lebih sulit.
MVC cukup fleksibel dan Anda dapat menggunakannya untuk melayani panggilan dari aplikasi SPA. Namun, WebAPI lebih teliti dan sedikit lebih mudah digunakan untuk layanan semacam itu.
Saya telah menulis sejumlah aplikasi AngularJS, termasuk beberapa yang bermigrasi dari aplikasi WebForms dan MVC yang sudah ada sebelumnya, dan aspek ASP.NET berkembang menuju platform untuk mengirimkan aplikasi AngularJS sebagai klien sebenarnya, dan untuk menghosting lapisan aplikasi klien berkomunikasi melalui REST (menggunakan WebAPI). MVC adalah kerangka kerja yang bagus, tetapi biasanya tidak memiliki pekerjaan dalam aplikasi semacam ini.
Aplikasi ASP.NET menjadi lapisan lain untuk infrastruktur, di mana tanggung jawabnya terbatas pada:
- Menghosting wadah ketergantungan.
- Masukkan implementasi logika bisnis ke dalam wadah.
- Siapkan bundel aset untuk JS dan CSS.
- Host layanan WebAPI.
- Terapkan keamanan, lakukan pencatatan dan diagnostik.
- Berinteraksi dengan cache aplikasi untuk kinerja.
Hal hebat lainnya tentang SPA adalah dapat meningkatkan bandwidth tim Anda. Satu grup dapat meledakkan layanan sementara yang lain berada di aplikasi klien. Karena Anda dapat dengan mudah menghentikan atau meniru layanan REST, Anda dapat memiliki aplikasi klien yang berfungsi penuh pada layanan tiruan dan menukar dengan yang asli setelah selesai.
Anda memang harus berinvestasi di muka di Angular, tetapi hasilnya besar. Karena Anda sudah terbiasa dengan MVC, Anda memiliki pengetahuan tentang beberapa konsep inti.