Skip to content

Tag: template engine

เปรียบเทียบความเร็วในการ render ของ template engine

โพสต์ก่อนหน้าแนะนำ Handlebars ไปก็เลยได้ลองหาดูว่ามีเจ้าไหนที่น่าใช้อีกบ้าง การเลือกเครื่องมือมาใช้ในงาน dev คงหนีไม่พ้นประสิทธิภาพ ที่วัดกันง่ายๆ เลยของ template engine คือความเร็วในการ render ก็ไปเจอ ECT template engine ซึ่งเขาเคลมว่าเร็วที่สุดในตอนนี้

ที่เคลมว่าเร็วที่สุดเขาก็ไม่ได้อ้างลอยๆ นะครับมี benchmark ทดสอบให้ดูด้วย (เลื่อนไปดูข้างล่าง) และในเว็บก็มีให้ลองใช้งานด้วย ผมดูแล้วเจอฟีเจอร์ที่น่าสนใจคือมันสามารถ include ส่วนอื่นมาต่อกันได้เหมือน PHP เลย

Handlebars template engine ที่น่าใช้อีกตัว

เมื่อนานมาแล้วผมเอา Mustache javascript template engine มาใช้แล้วพบว่ามันก็เป็น “Logic less” template engine จริงๆ เจอข้อเสียอยู่ 2 อย่างคือ

  1. ใช้กับ data model ที่เป็น JSON แปลกๆ แล้วใช้ลำบาก อันนี้จะว่า Mustache อย่างเดียวก็ไม่ถูกต้องว่าคนออกแบบ JSON structure ด้วย สรุปคือมันไม่ยืดหยุ่นเท่าไหร่
  2. if else ใช้ลำบากคือจริงๆ มันสามารถใช้ได้นะแต่ syntax ไม่สื่อโค้ดอ่านยาก

[Presentation] Render your web with Mustache Template engine

เป็น slide นำเสนอแชร์ความรู้ภายในทีมที่ออฟฟิศ เตรียมไว้แต่ยังไม่ได้นำเสนอ อัป slide ไว้ก่อนแล้วกัน :p ป.ล. หัวข้อนำเสนอได้แรงบันดาลใจจากบล็อกก่อนๆ Render your web with Mustache Template engine from KOR

หัดใช้ Mustache กันดีกว่า

Mustache คืออะไร?

Mustache เป็น template engine (บางทีก็เรียก render engine) ตัวหนึ่งในเว็บโครงการเขานิยาม lib ตัวนี้ว่า

Logic-less templates.

Mustache รองรับภาษาอื่นๆ เยอะมาก เช่น RubyJavaScriptPython,ErlangPHPPerlObjective-CJava.NET,AndroidC++GoLuaoocActionScript,ColdFusionScalaClojureFantom,CoffeeScriptD, และ node.js

หน้าที่ของมันคือ generate markup  (ถ้าเป็น web app ก็ HTML) ซึ่งเป็นส่วนหน้าของ app จาก data model (JSON) ที่เราออกแบบไว้ จะว่าไปมันก็เป็นเครื่องมือที่เกิดจากแนวคิด MVC ที่พยายามแยกการทำงานของโปรแกรมหรือ application ออกเป็นส่วนตามการทำงาน