এএসপি.নেট এমভিসি দেখুন ইঞ্জিন (সম্প্রদায় উইকি)
যেহেতু একটি বিস্তৃত তালিকা উপস্থিত রয়েছে বলে মনে হচ্ছে না, তাই এখানে এসও থেকে শুরু করা যাক। লোকেরা যদি তাদের অভিজ্ঞতা যুক্ত করে (উদাহরণস্বরূপ এর মধ্যে যে কোনও একটিতে যারা অবদান রেখেছেন) তবে এটি এএসপি.এনইটি এমভিসি সম্প্রদায়ের কাছে বড় মূল্যবান হতে পারে। যে কোনও বাস্তবায়ন IViewEngine
(যেমন VirtualPathProviderViewEngine
) এখানে ন্যায্য খেলা game কেবলমাত্র নতুন ভিউ ইঞ্জিনগুলিকে বর্ণমালা করুন (উপরে WebFormViewEngine এবং রেজার রেখে) এবং তুলনা করে উদ্দেশ্যহীন হওয়ার চেষ্টা করুন।
System.Web.Mvc.WebFormViewEngine
ডিজাইন লক্ষ্য:
প্রতিক্রিয়ার জন্য ওয়েব ফর্ম পৃষ্ঠাটি রেন্ডার করতে ব্যবহৃত একটি ভিউ ইঞ্জিন।
পেশাদাররা:
- সর্বব্যাপী যেহেতু এটি এএসপি.নেট এমভিসির সাথে বহন করে
- ASP.NET বিকাশকারীদের জন্য পরিচিত অভিজ্ঞতা
- IntelliSense
- কোডডম সরবরাহকারীর সাথে যে কোনও ভাষা চয়ন করতে পারেন (যেমন সি #, ভিবি.এনইটি, এফ #, বু, নিমারল)
- অন-ডিমান্ড সংকলন বা পূর্বনির্ধারিত মতামত
কনস:
- ব্যবহার "ক্লাসিক এএসপি.নেট" নিদর্শনগুলির অস্তিত্বের সাথে বিভ্রান্ত হয়ে পড়ে যা এমভিসিতে আর প্রয়োগ হয় না (যেমন ভিউস্টেট পোস্টব্যাক)
- "ট্যাগ স্যুপ" এর অ্যান্টি-প্যাটার্নে অবদান রাখতে পারে
- কোড-ব্লক সিনট্যাক্স এবং শক্তিশালী-টাইপিং উপায় পেতে পারেন
- ইনটেলিসেন্স স্টাইল প্রয়োগ করে সর্বদা ইনলাইন কোড ব্লকের জন্য উপযুক্ত নয়
- সাধারণ টেম্পলেটগুলি ডিজাইন করার সময় গোলমাল হতে পারে
উদাহরণ:
<%@ Control Inherits="System.Web.Mvc.ViewPage<IEnumerable<Product>>" %>
<% if(model.Any()) { %>
<ul>
<% foreach(var p in model){%>
<li><%=p.Name%></li>
<%}%>
</ul>
<%}else{%>
<p>No products available</p>
<%}%>
System.Web.Razor
ডিজাইন লক্ষ্য:
পেশাদাররা:
- কমপ্যাক্ট, এক্সপ্রেসিভ এবং ফ্লুয়েড
- শেখা সহজ
- কোনও নতুন ভাষা নয়
- দুর্দান্ত ইন্টেলিজেন্স রয়েছে
- ইউনিট টেস্টেবল
- সর্বব্যাপী, এএসপি.নেট এমভিসি সহ জাহাজগুলি
কনস:
- উপরে উল্লিখিত "ট্যাগ স্যুপ" থেকে কিছুটা আলাদা সমস্যা তৈরি করে। সার্ভার ট্যাগগুলি প্রকৃতপক্ষে সার্ভার এবং নন-সার্ভার কোডের চারপাশে কাঠামো সরবরাহ করে, রেজার এইচটিএমএল এবং জেএস বিকাশকে চ্যালেঞ্জিং করে তোলে (যেমন কন 1 উদাহরণ দেখুন) আপনি "এসএমএল" এবং "বা জাভাস্ক্রিপ্ট" এড়িয়ে যেতে পারেন কিছু খুব সাধারণ অবস্থার অধীনে ট্যাগ।
- দুর্বল এনক্যাপসুলেশন + পুনঃব্যবহারযোগ্যতা: এটি একটি রেজার টেম্পলেটটিকে কল করা যেমন একটি সাধারণ পদ্ধতি ract অনুশীলনে রেজার কোড কল করতে পারে তবে বিপরীতভাবে নয়, যা কোড এবং উপস্থাপনার মিশ্রণকে উত্সাহিত করতে পারে।
- সিনট্যাক্সটি খুব এইচটিএমএল-ভিত্তিক; এইচটিএমএল বিহীন সামগ্রী তৈরি করা জটিল হতে পারে। তবুও, রেজারের ডেটা মডেলটি মূলত কেবল স্ট্রিং-কনটেনটেশন, সুতরাং সিনট্যাক্স এবং নেস্টিং ত্রুটিগুলি স্থিতিশীল বা গতিশীলভাবে সনাক্ত করা যায় না, যদিও ভিএস.এনইটি ডিজাইন-সময় সহায়তা এটিকে কিছুটা কমিয়ে দেয়। রক্ষণাবেক্ষণ এবং পুনঃসারণযোগ্যতা এর কারণে ক্ষতিগ্রস্থ হতে পারে।
কোন নথিভুক্ত এপিআই , http://msdn.microsoft.com/en-us/library/system.web.razor.aspx
কন উদাহরণ # 1 ("স্ট্রিং [] ..." এর অবস্থান লক্ষ্য করুন):
@{
<h3>Team Members</h3> string[] teamMembers = {"Matt", "Joanne", "Robert"};
foreach (var person in teamMembers)
{
<p>@person</p>
}
}
বেলভিউ
ডিজাইন লক্ষ্য:
- এইচটিএমএলকে "কেবল পাঠ্য" হিসাবে বিবেচনা করার বিপরীতে প্রথম-শ্রেণীর ভাষা হিসাবে সম্মান করুন।
- আমার এইচটিএমএল নিয়ে গণ্ডগোল করবেন না! ডেটা বাইন্ডিং কোড (বেলভ্যু কোড) HTML থেকে পৃথক হওয়া উচিত।
- কঠোর মডেল-ভিউ পৃথককরণ কার্যকর করুন
পালের দড়ি
ডিজাইন লক্ষ্য:
মাইক্রোসফ্ট এএসপি.নেট এমভিসি ফ্রেমওয়ার্কের সাথে কাজ করার জন্য ব্রেইল ভিউ ইঞ্জিনটি মনোরেল থেকে পোর্ট করা হয়েছে। ব্রেইলের পরিচিতির জন্য, ক্যাসেল প্রকল্পের ওয়েবসাইটে ডকুমেন্টেশন দেখুন ।
পেশাদাররা:
- "কব্জি-বান্ধব অজগর সিনট্যাক্স" পরে মডেল করা
- অন-ডিমান্ড সংকলিত দর্শন (তবে কোনও প্রাক-সংকলন উপলভ্য নয়)
কনস:
- বু ভাষায় লেখার জন্য নকশাকৃত
উদাহরণ:
<html>
<head>
<title>${title}</title>
</head>
<body>
<p>The following items are in the list:</p>
<ul><%for element in list: output "<li>${element}</li>"%></ul>
<p>I hope that you would like Brail</p>
</body>
</html>
Hasic
হাসিক বেশিরভাগ অন্যান্য ভিউ ইঞ্জিনের মতো স্ট্রিংয়ের পরিবর্তে ভিবি.নেট এর এক্সএমএল লিটারাল ব্যবহার করে।
পেশাদাররা:
- বৈধ এক্সএমএল-এর সংকলন-সময় পরীক্ষা করা
- সিনট্যাক্স রঙ
- পূর্ণ বুদ্ধি
- সংকলিত দর্শন
- নিয়মিত সিএলআর ক্লাস, ফাংশন ইত্যাদি ব্যবহার করে বর্ধিতকরণ ibility
- নির্বিঘ্ন কম্পোজেবিলিটি এবং হেরফেরটি হ'ল এটি নিয়মিত ভিবি.এনইটি কোড
- ইউনিট পরীক্ষামূলক
কনস:
- পারফরম্যান্স: ক্লায়েন্টে পাঠানোর আগে পুরো ডিওএম তৈরি করে।
উদাহরণ:
Protected Overrides Function Body() As XElement
Return _
<body>
<h1>Hello, World</h1>
</body>
End Function
NDjango
ডিজাইন লক্ষ্য:
এনডিজ্যাঙ্গো হ'ল এফ # ভাষা ব্যবহার করে .NET প্ল্যাটফর্মে জ্যাঙ্গো টেম্পলেট ভাষার একটি বাস্তবায়ন
।
পেশাদাররা:
NHaml
ডিজাইন লক্ষ্য:
রেল হামল ভিউ ইঞ্জিন .NET বন্দর। থেকে Haml ওয়েবসাইট :
হামল একটি মার্কআপ ল্যাঙ্গুয়েজ যা কোনও ওয়েব ডকুমেন্টের এক্সএইচটিএমএলকে ইনলাইন কোড ব্যবহার না করে পরিষ্কার এবং সহজভাবে বর্ণনা করতে ব্যবহার করা হয় ... হামল স্পষ্টতই টেমপ্লেটে এক্সএইচটিএমএল কোডিংয়ের প্রয়োজনীয়তা এড়ায়, কারণ এটি আসলে এক্সএইচটিএমএলের একটি বিমূর্ত বিবরণ গতিশীল সামগ্রী তৈরি করতে কিছু কোড সহ।
পেশাদাররা:
- সংশ্লেষ কাঠামো (যেমন DRY)
- ভাল অভিযুক্ত
- পরিষ্কার কাঠামো
- সি # ইন্টেলিজেন্স (রিএসপার্পার ছাড়াই ভিএস ২০০৮ এর জন্য)
কনস:
- মার্কআপের পরিচিতিটি উপকার করার চেয়ে এক্সএইচটিএমএল থেকে বিমূর্ততা
- ভিএস2010 এর জন্য কোনও ইন্টেলিজেন্স নেই
উদাহরণ:
@type=IEnumerable<Product>
- if(model.Any())
%ul
- foreach (var p in model)
%li= p.Name
- else
%p No products available
NVelocityViewEngine (MvcContrib)
ডিজাইন লক্ষ্য:
এনভিওলোসিটি ভিত্তিক একটি ভিউ ইঞ্জিন
যা জনপ্রিয় জাভা প্রকল্প ভেলোসিটির একটি নেট নেট বন্দর
।
পেশাদাররা:
- পড়তে / লিখতে সহজ
- সংক্ষিপ্ত ভিউ কোড
কনস:
- সীমিত সংখ্যক সহায়ক পদ্ধতির ভিউতে উপলব্ধ
- স্বয়ংক্রিয়ভাবে ভিজ্যুয়াল স্টুডিও একীকরণ নেই (ইন্টেলিজেন্স, ভিউগুলির সংকলন-সময় চেকিং, বা রিফ্যাক্টরিং)
উদাহরণ:
#foreach ($p in $viewdata.Model)
#beforeall
<ul>
#each
<li>$p.Name</li>
#afterall
</ul>
#nodata
<p>No products available</p>
#end
SharpTiles
ডিজাইন লক্ষ্য:
শার্পটাইসগুলি টাইলস কাঠামোর
পিছনে ধারণার সাথে মিলিত জেএসটিএলের একটি আংশিক বন্দর (মাইল পাথর 1 হিসাবে)।
পেশাদাররা:
- জাভা বিকাশকারীদের কাছে পরিচিত
- এক্সএমএল-স্টাইলের কোড ব্লক
কনস:
উদাহরণ:
<c:if test="${not fn:empty(Page.Tiles)}">
<p class="note">
<fmt:message key="page.tilesSupport"/>
</p>
</c:if>
স্পার্ক ভিউ ইঞ্জিন
ডিজাইন লক্ষ্য:
ধারণাটি এইচটিএমএলকে প্রবাহ এবং কোডকে নির্বিঘ্নে ফিট করার অনুমতি দেয়।
পেশাদাররা:
কনস:
- আক্ষরিক মার্কআপ থেকে টেমপ্লেট যুক্তির কোনও স্পষ্ট বিভাজন নেই (এটি নামস্থান উপসর্গ দ্বারা প্রশমিত করা যেতে পারে)
উদাহরণ:
<viewdata products="IEnumerable[[Product]]"/>
<ul if="products.Any()">
<li each="var p in products">${p.Name}</li>
</ul>
<else>
<p>No products available</p>
</else>
<Form style="background-color:olive;">
<Label For="username" />
<TextBox For="username" />
<ValidationMessage For="username" Message="Please type a valid username." />
</Form>
স্ট্রিংটাইম্পলেট ভিউ ইঞ্জিন এমভিসি
ডিজাইন লক্ষ্য:
- লাইটওয়েট। কোনও পৃষ্ঠা ক্লাস তৈরি করা হয় না।
- ফাস্ট। প্রতিক্রিয়া আউটপুট প্রবাহে টেমপ্লেটগুলি লিখিত হয়।
- সঞ্চিত। টেমপ্লেটগুলি ক্যাশে করা হয়, তবে ফাইলের পরিবর্তনগুলি সনাক্ত করতে একটি ফাইলসিস্টেমওয়াটার ব্যবহার করে।
- ডায়নামিক। ফ্লাই ইন কোডে টেমপ্লেটগুলি তৈরি করা যেতে পারে।
- নমনীয়। টেমপ্লেটগুলি যে কোনও স্তরে বাসা বাঁধতে পারে।
- এমভিসি নীতিগুলির সাথে সামঞ্জস্য রেখে। ইউআই এবং বিজনেস লজিককে আলাদা করার প্রচার করে। সমস্ত ডেটা সময়ের আগে তৈরি করা হয় এবং টেম্পলেটটিতে চলে যায়।
পেশাদাররা:
- স্ট্রিংটেম্পলেট জাভা বিকাশকারীদের সাথে পরিচিত
কনস:
- সরলাত্মক টেম্পলেট সিনট্যাক্স উদ্দেশ্যযুক্ত আউটপুট (যেমন jQuery বিরোধ ) হস্তক্ষেপ করতে পারে
উইং বিটস
উইং বিটস এক্সএইচটিএমএল তৈরির জন্য একটি অভ্যন্তরীণ ডিএসএল। এটি এফ # এর উপর ভিত্তি করে এবং এতে একটি এএসপি.নেট এমভিসি ভিউ ইঞ্জিন রয়েছে, তবে এটি এক্সএইচটিএমএল তৈরির সক্ষমতা জন্য একমাত্র ব্যবহৃত হতে পারে।
পেশাদাররা:
- বৈধ এক্সএমএল-এর সংকলন-সময় পরীক্ষা করা
- সিনট্যাক্স রঙ
- পূর্ণ বুদ্ধি
- সংকলিত দর্শন
- নিয়মিত সিএলআর ক্লাস, ফাংশন ইত্যাদি ব্যবহার করে বর্ধিতকরণ ibility
- নির্বিঘ্নে কম্পোজেবিলিটি এবং হেরফেরটি হ'ল এটি নিয়মিত এফ # কোড
- ইউনিট পরীক্ষামূলক
কনস:
- আপনি সত্যই এইচটিএমএল কিন্তু কোডটি লিখেন না যা কোনও ডিএসএলে এইচটিএমএলকে উপস্থাপন করে।
এক্সস্লটভিউইংগাইন (এমভিসি কনট্রিব)
ডিজাইন লক্ষ্য:
পরিচিত এক্সএসএলটি থেকে দর্শন তৈরি করে
পেশাদাররা:
- ব্যাপকভাবে সর্বব্যাপী
- এক্সএমএল বিকাশকারীদের জন্য পরিচিত টেম্পলেট ভাষা
- XML- ভিত্তিক
- সময় পরীক্ষিত
- সিনট্যাক্স এবং উপাদান নেস্টিং ত্রুটিগুলি স্থিরভাবে সনাক্ত করা যায়।
কনস:
- কার্যকরী ভাষা শৈলী প্রবাহ নিয়ন্ত্রণকে কঠিন করে তোলে
- এক্সএসএলটি ২.০ হল (সম্ভবত?) সমর্থিত নয়। (এক্সএসএলটি 1.0 খুব কম ব্যবহারিক)।