۵ Templating Language که میتوانید بهعنوان جایگزین HTML از آنها استفاده کنید
۱۸ فروردین ۱۴۰۰
فایلهای خام HTML بهتدریج در حال منسوخ شدن هستند و بهترین گزینه برای ایجاد وبسایتهای مدرن استفاده از Templating Language است. کسانی که با فریمورکهایی مانند Express یا React کار کرده باشند، مزیتهای استفاده از Templating Language را میدانند.
برای مثال میتوانیم ایجاد کدهایی با قابلیت استفادهی مجدد را از شاخصترین مزیتهای Templating Language بدانیم. البته تعداد کمی Templating Language وجود دارد که برخی از آنها شباهت بسیار زیادی به کدهای HTML دارند درحالی که برخی دیگر کاملا منحصربهفرد هستند.
علاوهبراین لازم بهذکر است که استفاده از Templating Language یک روش بسیار خوب برای ایجاد ارتباط میان بکاند و فرانتاند برنامه است و امروزه بسیاری از فریمورکها در این راه قدم گذاشتهاند. بههمین منظور قصد داریم در ادامهی این مقاله برخی از Templating Languageها را همراه با یک مثال کوچک از کدهای آنها به شما معرفی کنیم.
EJS
EJS که مختصر شدهی Embedded JavaScript است به شما اجازه میدهد که بهراحتی کدهای JavaScript خود را در میان کدهای HTML استفاده کنید. این Templating Language بسیار ساده است و انتخاب مناسبی برای تازه کارها خواهد بود.
<% if (user) { %>
<h2><%= user.name %></h2>
<% } %>
برای استفاده از کدهای JavaScript فقط کافی است که کدهای خودتان را در میان <% %>
قرار دهید. البته EJS بهترین گزینه برای برنامههای پیچیده نیست اما در بیشتر پروژهها میتوانید از آن استفاده کنید.
Handlebars
Handlebars یکی دیگر از Templating Languageهای ساده است اما ویژگیهای منحصربهفرد زیادی ندارد. بااینحال انتخاب مناسبی برای پروژههای کوچک است.
<ul class="people_list">
{{#each people}}
<li>{{this}}</li>
{{/each}}
</ul>
سینتکس آن بهراحتی قابل خواندن و استفاده است. یکی از قابلیتهای این Templating Language که helpers نام دارد درواقع به این شکل است که میتوانید فانکشنهای مورد نیاز خود را با #
ترکیب کرده و از آنها استفاده کنید.
Pug
Pug یک Templating Language است که از HAML الهام گرفته و مانند زبان برنامهنویسی Python از whitespaceها برای nesting استفاده میکند. از دیگر ویژگیهای Pug میتوانیم به قابلیتهای including، conditions و ایجاد کامپوننتهایی با قابلیت استفاده مجدد با استفاده Mixins اشاره داشته باشیم.
//- index.pug
doctype html
html
include includes/head.pug
body
h1 My Site
p Welcome to my super lame site.
include includes/foot.pug
//- From official docs
ID و Class nameها بهصورت مختصر نوشته میشوند و این کار ویرایش را علاوهبر خواندن کدها آسان میکند. همچنین میتوانید از Pug با استفاده از این افزونه در برنامههای React خود نیز استفاده کنید.
Mustache
Mustache یک Templating Language با حداقل امکانات مورد نیاز است. همچنین از هیچ منطقی پیروی نمیکند اما هنوز هم میتوانید از آن برای ایجاد وبسایتها و برنامههای تحت وب خود استفاده کنید.
Hello {{name}}
You have just won {{value}} dollars!
{{#in_ca}}
Well, {{taxed_value}} dollars, after taxes.
{{/in_ca}}
سینتکس آن خوانا است و بهراحتی میتوانید آن را یاد بگیرید حتی کامپایل سادهای دارد.
React (JSX)
React فریمورکی است که با استفاده از JSX این قابلیت را در اختیار شما قرار میدهد که کامپوننتهایی با قابلیت استفادهی مجدد ایجاد کنید. JSX شباهت زیادی به Templating Languageهای دیگر دارد و یادگیری آن بسیار آسان است.
با افزایش محبوبیت فریمورک React، استفاده از JSX برای بسیاری توسعهدهندگان به یک امر معمول تبدیل شده است و اهمیت قابلیتهای ارائه شده توسط این Templating Language در هنگام ترکیب آن با React از چشم کسی پوشیده نیست.
function HomePage(props) {
return (
<div>
<div className="alert-text">
<span>New address saved.</span>
</div>
<SubmitButton />
</div>
)
}
جمعبندی
امروزه میزان استفاده از Templating Languageها در ساخت وبسایت یا برنامههای وب بسیار بیشتر از قبل شده است و احتمالا شما هم برای بهروز نگهداشتن روند توسعهی خود باید از آنها استفاده کنید. همچنین قابل ذکر است که در این مقاله فقط به ۵ Templating Language پرداخته شده و شما میتوانید موارد دیگری را بهنسبت نیاز خود پیدا کرده و از آنها استفاده کنید.
منبع: https://betterprogramming.pub/templating-languages-to-use-instead-of-html-eb3682443958
توسعهدهندگان دربارهی ما چه میگویند
تجربه کار باliara_cloud@امروز خیلی خوب بود. یکی از سرویس هام رو منتقل کردم روش و راضیم. انقد سریع و جذاب کارم راه افتادم اصن باورم نمیشد! برعکس سرویس های PaaS دیگه با اون همه پیچیدگیشون. دمتون گرم
...
MohammadReza
keikaavousi
بعد از بسته شدن @fandoghpaas و ناراحتی همهمون از اینکه یه سرویس خوب و صادق نمیتونه از پس هزینهها بر بیاد، سرویسم رو منتقل کردم به پاس لیارا (https://liara.ir @liara_cloud) . تجربه راحت و خوب. تفاوتهایی داشت که کمی کار میخواست ولی تا الان کاملا راضی.
jadi
jadi
یه خسته نباشید باید به تصمیمliara_cloud@بگم،
بعد از چندین روز سرکله زدن با سرویس های مشابه بالاخره تصمیم گرفتم لیارا رو امتحان کنم و باور نمیشه ۱۰ دقیقه بیشتر وقت نبرد،
دمتون گرم.
Arch
EbadiDev
واسه سرویس PaaS با اختلاف لیارا بهترین رابط کاربری داره و یکی از مزیتهای سرویس دیتابیسشون اینه که خودشون به صورت دورهای بکآپ میگیرن.
...
Ali Najafi
me_ali_najafi
یکی از کارهای خوبی که جدیداً میکنم اینه که یه دیتابیس روی لیارا میسازم و به پروژه وصل میکنم اینطوری هم خونه و هم محل کار دیتابیس بروز رو دارم و راحت میتونم ادامه بدم کار روliara_cloud@
Navid
1navid
عاشقliara_cloud@شدم درسته در حد AWS نیست ولی خب تجربه خوبی واسه پروژه های داخل ایران ارائه میده، میتونم رو CD هم اجراش کنم
Amir H Shekari
vanenshi