Saya berasal dari menggunakan ASP.NET MVC / Web API dan sekarang saya mulai menggunakan Angular tetapi saya tidak jelas tentang cara yang tepat untuk mencampurnya.
Setelah saya menggunakan Angular, apakah konsep sisi server MVC masih memberikan nilai? Atau haruskah saya benar-benar menggunakan API Web semata-mata untuk mendapatkan data untuk panggilan HTTP sudut?
Setiap tips yang Anda miliki untuk seorang pria ASP.NET MVC yang bertransisi ke Angular akan sangat membantu
asp.net-mvc
angularjs
asp.net-mvc-4
pengguna2256870
sumber
sumber
Jawaban:
API Web Murni
Aku digunakan untuk menjadi cukup hardcore dengan ASP.NET MVC tapi karena aku sudah bertemu sudut saya tidak melihat satu alasan mengapa saya menggunakan setiap sisi server kerangka generasi konten. Pure Angular / REST (WebApi) memberikan hasil yang lebih kaya dan lebih halus. Ini jauh lebih cepat dan memungkinkan Anda membangun situs web yang mendekati aplikasi desktop, tanpa peretasan yang funky.
Angular memang memiliki sedikit kurva pembelajaran, tetapi setelah tim Anda menguasainya, Anda akan membangun situs web yang jauh lebih baik dalam waktu yang lebih singkat. Terutama ini berkaitan dengan fakta bahwa Anda tidak lagi memiliki semua masalah status (kurang) ini.
Misalnya bayangkan wujud penyihir dengan kerangka sisi server tradisional apa pun. Setiap halaman perlu divalidasi dan dikirimkan secara terpisah. Mungkin konten halaman bergantung pada nilai-nilai dari halaman sebelumnya. Mungkin pengguna menekan tombol kembali dan mengirimkan kembali formulir sebelumnya. Di mana kami menyimpan status klien? Semua komplikasi ini tidak ada saat menggunakan Angular dan REST.
Jadi ... pergilah ke sisi gelap ... kita punya kue.
Pertanyaan serupa
sumber
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:
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.
sumber
Itu tergantung pada proyek yang sedang Anda kerjakan.
Jika angularJS adalah sesuatu yang baru untuk Anda, saya lebih suka memilih proyek kecil berisiko / bertekanan untuk memulai dan memastikan Anda mempelajari cara melakukan hal-hal dengan cara yang benar (Saya telah melihat banyak proyek yang menggunakan Angularjs salah karena tekanan, tenggat waktu ... kurangnya waktu untuk mempelajarinya dengan cara yang tepat, misalnya menggunakan JQuery atau mengakses DOM di dalam pengontrol, dll ...).
Jika proyeknya adalah bidang hijau, dan Anda memiliki pengalaman di AngularJS, masuk akal untuk meninggalkan ASP.net MVC dan di sisi server gunakan REST / WebAPI murni.
Jika itu adalah proyek yang sudah ada, Anda dapat mengambil subset fungsionalitas yang kompleks dan membangun halaman itu sebagai aplikasi angularJS terpisah (misalnya, aplikasi Anda terdiri dari sekumpulan besar halaman standar sederhana / menengah dengan kompleksitas Razor tetapi Anda membutuhkan dan editor tingkat lanjut / halaman, itu bisa menjadi bagian target untuk membangun dengan AngularJS).
sumber
Anda dapat menggunakan kerangka kerja Angular untuk pengembangan ujung depan yaitu untuk membuat tampilan. Ini memberi Anda arsitektur yang kuat dan setelah Anda mempelajarinya, Anda akan menemukan keunggulannya dibandingkan mesin razor view Asp.net MVC. Untuk mengambil data, Anda harus menggunakan WebAPI dan sekarang proyek ASP.Net MVC mendukung pengontrol WebAPI dan MVC di luar kotak. Anda dapat merujuk tautan di bawah ini mulai dengan Angular dan pengembangan aplikasi ASP.Net MVC.
http://hive.rinoy.in/angular4-and-asp-net-mvc-hybrid-application/
Ada dua kerangka kerja yang saat ini tersedia untuk mengembangkan komponen UI untuk aplikasi sudut. Saya telah menggunakan kedua kerangka kerja ini di salah satu proyek sudut yang saya kerjakan.
Bahan https://material.angular.io/
PrimeNG https://www.primefaces.org/primeng/#/
sumber