Laravel Livewire และ Full Stack Developer

Founder, MyCoding.Academy
วิศวกรไฟฟ้าและโทรคมนาที่หลงไหลการเขียนโปรแกรม เลยได้ทำงานประจำช่วงหนึ่งทางด้านการพัฒนาซอฟต์แวร์ ปัจจุบันก็ยังทำงานเป็นฟรีแลนซ์ทางด้านการเขียนโปรแกรมอยู่นะครับ

Full stack developer ก็คือโปรแกรมเมอร์ที่เขียนโปรแกรมสำหรับ Frontend หรือส่วนการแสดงผลให้กับผู้ใช้ และส่วนที่จัดการงานหลังบ้านที่เซอร์ฟเวอร์ได้ทั้งสองส่วนนั่นเองครับ สำหรับคนที่เป็น Backend developer ก็ชำนาญในการเขียน PHP เช่น Laravel อาจเขียนโค้ด HTML ใช้งาน CSS และ JavaScript ได้บ้าง สำหรับการมาของ NuxtJS ที่เขียนโค้ดที่ใช้แทน Blade ที่ใช้ใน Laravel ได้ คนที่ใช้ส่วนนี้ก็เรียกว่าเป็น Frontend Developer ครับ แต่คนที่จะเขียน NuxtJS ก็ต้องศึกษาเรียนรู้กันค่อนข้างเยอะ และยังต้องมีการเขียน API บน Laravel ให้ทาง NuxtJS เรียกใช้อีก ดังนั้น Livewire จึงได้ถือกำเนิดขึ้นเพื่อให้ Backend Developer สามารถทำงานส่วน Frontend ได้ง่ายขึ้น ลองเปรียบเทียบกันครับ

Livewire

การเขียน Frontend ด้วย NuxtJS

  • เขียนโค้ด NuxtJS ซึ่งเป็น JavaScript based
  • เขียน API บน Laravel application เพื่อรองรับการเรียกใช้งานจาก NuxtJS
  • อาจไม่ต้องเขียนส่วน Web frontend ที่ Laravel Application (Blade, HTML, CSS

การเขียน Frontend ด้วย Livewire

  • ยังคงใช้งาน Blade ร่วมกับ Livewire ส่วนใหญ่ก็เขียน PHP (Laravel) นั่นล่ะครับ
  • ลดการเขียน JavaScript ลงโดยมี Livewire ทำงานบางส่วนแทน
  • ใช้ความสามารถของ Backend Developer (Laravel, PHP)
  • ไม่ต้องเขียน API แยกต่างหากเหมือนกรณีของ NuxtJS

สำหรับการใช้งานสำหรับ Application ที่เป็นทีมเล็กๆ แน่นอนว่า Livewire เป็นทางเลือกที่ดีครับ อารมณ์เหมือนกับการเขียน Ajax แต่ใช้เฉพาะ PHP นั่นแหละครับ และมีส่วนขยายตัวที่ผมชอบมาก คือ 

rappasoft/laravel-livewire-tables

ครับ ตัวนี้เจ๋งมาก ดู demo ได้ที่นี่เลยครับ อารมณ์คล้าย Laravel Nova ย่อยๆ เลยครับ

Data-table