Aku melihat Scott Guthrie mulai menyebutkan Razor sebuah sedikit yang adil di blog-nya tapi aku hanya tidak yakin bahwa itu cocok untuk gaya saya.
Memang ini adalah gaya yang cukup asing bagi seseorang yang cukup terbiasa dengan jenis markup ASP.Net "standar" (pemegang tempat konten dan kode sebaris), tetapi itu hanya terasa seperti banyak halaman tambahan untuk dikelola dan markup yang kurang jelas bagi saya.
Apa perasaan orang lain tentang itu? Apakah itu sesuatu yang Anda yakini harus dipertimbangkan dengan serius saat menyusun halaman MVC baru atau hanya mencoba memecahkan masalah yang tidak ada?
asp.net-mvc
syntax
markup
razor
asp.net-mvc-3
Phil.Wheeler
sumber
sumber
Jawaban:
[Penafian: Saya salah satu pengembang Microsoft di MVC dan Razor, jadi saya mungkin agak bias :)]
Kami merancang Razor menjadi bahasa templat yang ringkas yang hanya menggunakan sedikit karakter kontrol yang diperlukan. Saya akan mengatakan bahwa sebagian besar pandangan Anda dapat diekspresikan dengan karakter yang lebih sedikit daripada kode yang sama menggunakan sintaks WebForms "tradisional".
Misalnya cuplikan kode berikut dalam sintaks ASPX:
<% if(someCondition) { %> <ol> <% foreach(var item in Model) { %> <li><%: item.ToString() %></li> <% } %> </ol> <% } %>
Dapat diungkapkan sebagai berikut di Razor:
@if(someCondition) { <ol> @foreach(var item in Model) { <li>@item.ToString()</li> } </ol> }
Sementara versi ASPX memiliki 21 karakter transisi (
<%
dan%>
), versi Razor hanya memiliki tiga (@
)Saya akan mengatakan bahwa keuntungan dari Razor adalah sebagai berikut:
Konsep terkait halaman juga memetakan dengan mudah dari apa yang Anda miliki di ASPX
@functions { ... }
blok, bukan<script runat="server"> ... </script>
Selain itu Razor memiliki sejumlah konsep berguna yang menurut saya lebih baik daripada yang tersedia di ASPX:
@helper
fungsi untuk pembuatan fungsi yang memancarkan markup dengan sangat mudah@model
kata kunci untuk menentukan jenis model tampilan Anda tanpa harus menulis<%@ Page ...
direktif dengan nama kelas lengkapSaya ingin berpikir bahwa kami telah mengatasi masalah nyata, yang memungkinkan Anda untuk lebih mudah menulis tampilan yang ringkas dan sesuai standar sementara pada saat yang sama memberi Anda cara untuk mengubah kode umum.
Tentu saja, tidak semua orang akan menyukai sintaks, itulah sebabnya kami juga mendukung penuh mesin tampilan ASPX. Selain itu, Anda dapat melihat Spark dan NHaml, yang merupakan dua mesin tampilan pihak ketiga yang menikmati banyak pengikut dari komunitas. Entri blog berikut memiliki perbandingan yang baik dari berbagai penawaran: http://blogs.msdn.com/b/coding4fun/archive/2010/10/04/10070953.aspx
sumber
<a href="mailto:[email protected]">
.@@
Secara pribadi saya sangat menghargai pengurangan berapa banyak karakter pelarian yang digunakan. Menggunakan
<% %>
menjadi sangat membosankan jika dibandingkan dengan@{}
dan tidak terlalu menarik secara sintaksis.Selain itu, menulis definisi lengkap untuk codebehind dan halaman disederhanakan menjadi satu
@model model
.Seperti juga dicatat oleh marcind, tidak harus selalu memasukkan
runat=server
juga sangat menyenangkan.Secara keseluruhan, saya sangat menghargai penggunaan mesin Razor dan merasa itu tidak hanya membuat segalanya lebih mudah bagi saya untuk mengembangkan tetapi juga membuat kode lebih mudah dibaca.
sumber