מה יש לא לאהוב ב Jade?
אם תפעילו את Express Generator בלי לציין View Engine תקבלו פרויקט שמשתמש ב View Engine בשם Pugs, אבל פעם קראו לו Jade והרבה אנשים ממשיכים עם השם הישן. מדובר על מנוע תבניות שבגדול הוא ממש נוח במיוחד בהשוואה ל EJS.
קחו דף HTML סטטי לדוגמא:
<div>
<h1>Ocean's Eleven</h1>
<ul>
<li>Comedy</li>
<li>Thriller</li>
</ul>
</div>
אנחנו יכולים לכתוב אותו ב Jade ולקבל דף הרבה יותר נקי:
div
h1 Ocean's Eleven
ul
li Comedy
li Thriller
וזה רק משתפר אם נחליט להוסיף קצת לוגיקה לעמוד. הנה הרשימה בצורה דינמית בכתיב EJS:
<div>
<h1>Ocean's Eleven</h1>
<ul>
<% items.forEach(function(item) { %>
<li><%= item %></li>
<% }) %>
</ul>
</div>
ואותו דף עם רשימה דינמית ב Jade:
div
h1 Ocean's Eleven
ul
each item in items
li= item
או קוד עבור קישור ב EJS:
<a href="<%= link.href %>"><%= link.text %></a>
לעומת Jade:
a(href=link.href)= link.text
ובכל זאת אין ל Jade סיכוי, ואני אפילו לא חושב שזה באשמתו. HTML משחק תפקיד מאוד מרכזי בעולם ה Web היום. בארגונים רבים אנחנו מקבלים קוד HTML מבחוץ (למשל מהמעצבים או מצוות חיצוני), ובמקומות אחרים יש אנשי HTML ששמחים להישאר עם המיומנות והכלים שלהם. ההבדל התהומי בכתיב בין HTML ל Jade הוא שהופך את האחרון לחסר סיכוי.
באותו משפט מעניין להיזכר ב Scss, שגם לו מסתבר היה כתיב ישן והרבה יותר נקי שלא תמך אחורה ב CSS. החברים ב Sass הבינו את הבעיה והמציאו את Scss, כתיב שתואם לגמרי ל CSS ומרחיב אותו בעדינות, וכמובן שזה התחביר שבסוף כולם בחרו בו. כדאי לזכור את זה בפעם הבאה שאתם באים להמציא שפה חדשה שתשנה את העולם.