บทที่ 1 เรื่อง Why is This a Great Time to Learn Elm ?
ทำไมถึงเป็นช่วงเวลาที่ดีมาก ๆ สำหรับการเรียนรู้ Elm
โดยจะมีเนื้อหาประกอบไปด้วยสิ่งต่าง ๆ ดังนี้

  • Elm คืออะไร
  • จุดเด่นของ Elm สำหรับการพัฒนา frontend ของ web
  • เปรียบเทียบกับ JavaScript
  • เริ่มต้นพัฒนาระบบงานด้วย Elm ซึ่งมีตัวช่วยทั้ง Ellie-app, Cloud9 และ Text Editor

มาเริ่มกันเลย

Elm คืออะไร 

เป้าหมายหลัก ๆ คือ นำแนวทาง functional programming 
มาใช้สำหรับการพัฒนา frontend ของ web
และช่วยทำให้ได้รับระสบการณ์ในการพัฒนาที่ดีกว่าเดิม
รวมทั้งยังช่วยลดปัญหา error ที่มักเจอบน production
เช่น JavaScript error เป็นต้น

นั่นหมายความว่า Elm จะทำการตรวจสอบในช่วง compile time ว่า
จะมี error ใด ๆ มีโอกาศเกิดขึ้นได้บ้าง
ทำให้เรารู้ปัญหาต่าง ๆ ตั้งแต่การ coding กันเลย
นั่นช่วยสร้างความมั่นใจให้นักพัฒนาได้อย่างสูง

ที่สำคัญ Elm สร้างด้วยแนวทางของ functional programming 
หนึ่งในนั้นคือ Pure function ช่วยทำให้ไม่เกิด side effect
รวมทั้งเรื่องของ immutable ด้วย
ทำให้การ debug ง่ายขึ้นเป็นกอง

และยังทำงานร่วมกัน library ต่าง ๆ ได้

แน่นอนว่า Elm ให้เราสามารถจัดการกับ event หรือเกตุการณ์ต่าง ๆ ที่เกิดขึ้น ได้อีกด้วย ซึ่งยังคงความ immutable ไว้ให้

ทำไมต้องเรียนรู้ Elm ด้วย

โดยที่จะมีจุดเด่นต่าง ๆ เหล่านี้

  • Virtual DOM ทำงานเร็วมาก ๆ
  • Compile-time error นั่นคือจับ error ได้ตั้งแต่การเขียน code
  • Zero runtime exception เป้นสิ่งที่ชอบมาก ๆ
  • ช่วยเพิ่ม productivity ให้ทีม
  • มีระบบ Type ให้ ซึ่งดีมาก ๆ 
  • ง่ายต่อการ refactoring
  • ขนาดของ output ที่ได้เช่น HTML, CSS และ JavaScript มีขนาดเล็กกว่า framework อื่น ๆ
  • Time-traveling debugging
  • ที่ชอบอีกตัวคือ Pipe syntax ( |> )

มาเริ่มต้นด้วยการเขียน code ดีกว่า

การเริ่มต้นทำได้หลายแบบ ยกตัวอย่างเช่น

ทำการติดตั้งแบบง่าย ๆ และมี REPL ให้ใช้งานดังนี้

จากนั้นก็ Hello World กันหน่อยสร้าง project ดังนี้

ทำการสร้างไฟล์ /src/Main.elm

เมื่อทุกอย่างเรียบร้อย ทำการ run ดูดังนี้เพื่อเปิด app ตัวอย่างใน browser

แสดงผลดังนี้

เปิดไฟล์ src/Main.elm

มาเริ่มเรียนรู้ Elm กันต่อไปลองมาศึกษากันต่อ ตามรูปนี้

https://elmprogramming.com/elm-compiler.html
Tags: