วันศุกร์ที่ 22 สิงหาคม พ.ศ. 2557

Laravel - PHP Web Development Framework เรามาดูกัน

Laravel ดียังไง เจ๋งยังไง หรือว่ามีข้อเสียที่ตรงไหน ?


สำหรับมือใหม่ Laravel คืออะไร

สั้นๆก็คือว่า Laravel เป็น Web development framework ตัวหนึ่งในตลาดที่กำลังได้รับความนิยมมาก ณ ขณะนี้ เราอาจจะเคยรู้จัก CodeIgniter กันมาก่อนแล้ว ซึ่งก็ hot hit ไม่แพ้กันเลยทีเดียวในช่วงหลายปีที่ผ่านมา Framework 2 ตัวนี้มีความเหมือนกันคือ พัฒนามาจากภาษา PHP และเป็น open source ซึ่งเราสามารถศึกษาเข้าไปถึงการทำงานภายในได้ หากสนใจ เพราะ souce code ทั้งหมด มีมาให้อยู่แล้ว

สนใจติดตั้ง Laravel อ่านที่นี่

อยากทราบข้อมูลเปรียบเทียบ PHP Framework อ่านที่นี่

ข้อดีของ Laravel

  • มีเครื่องไม้เครื่องมือ ที่ช่วยให้ developer ทำงานได้เร็วขึ้น ไม่ต้องสนในส่วนอื่นๆ ที่ไม่ใช่ business logic เพราะเครื่องมือพื้นฐานอื่นๆ มีให้ครบครันอยู่แล้ว (ออกจะมากไปด้วยซ้ำ)
    • มีการรองรับ HTTP foundation ด้วย Symfony 
    • SwiftMailer สำหรับการส่งอีเมล
    • Carbon สำหรับการจัดการเรื่องวันที่ เวลา การแสดงผลในรูปแบบต่างๆ
    • Doctrine, Eloquent ที่ทำให้เรื่องยุ่งๆ เกี่ยวกับ database เป็นเรื่องง่ายๆ
    • ทำงานร่วมกับ  Composer Dependency Manager ได้เป็นอย่างดี ทำให้การอัพเดท เพิ่ม ลด module เป็นไปอย่างง่ายด้วย
  • ถูกออกแบบมาให้มี Testability คือ สามารถผนวก unit test เข้าไปได้อย่างง่ายดาย และเพิ่มความสามารถให้เปลี่ยน object ที่ทำงานได้ ขณะ run time ซึ่งทำให้การทำ unit test ถือว่าง่ายกว่า framework ตัวอื่นๆ concept ที่ว่านี้ คือ dependency injection หรือ IoC Container
  • Routing มีความยือหยุ่นสูง รองรับการทำงานได้ทุกรูปแบบ  HTTP GET, POST, PUT, DELETE หรือแบบ RESTFul ก็รองรับได้ทั้งหมด
  • Configuration management มีวิธีการรองรับ การ configure ที่แตกต่างกันในหลายๆ environment โดยที่ไม่ต้อง build package ใหม่ หรือแก้ไขอะไรที่ต้องผูกกับ environment เพราะสามารถ detect environment และเลือกค่าที่ถูกต้องมาใช้ได้แบบทันที
  • Template engine - Blade ช่วยให้การจัดเรียง code หน้า HTML ง่ายขึ้น และการดึงค่าจากตัวแปรมาใช้ในการแสดงผลง่ายขึ้น อีกทั้งยังรองรับการ reuse template เป็นอย่างดี เพราะสามารถ ใช้วิธีการ extend template และ include ได้ด้วย
  • Authentication มี built-in มาให้เลย รวมถึงระบบการส่งเมลเปลี่ยนพาสเวิร์ดด้วย
  • ระบบ Cache สามารถทำงานร่วมกับ Redis ได้เลย
  • มีระบบ Queues ฝังมาให้เลย เพื่อให้รองรับการทำงานที่เป็น batch ใหญ่ๆ ป้องกันไม่ให้ application ทำงานช้า หรือ block ขณะทำงาน รองรับ  Amazon SQS and IronMQ ด้วย

ข้อเสียของ Laravel
  • เนื่องจากมีเครื่องมือให้ใช้มากมาย ทำให้ผู้เริ่มต้น ต้องใช้เวลามากนิดหน่อย กว่าจะทำความคุ้นเคยได้
  • บางครั้ง เครื่องมือที่มีมาให้ ก็ไม่ได้จำเป็นไปซะทั้งหมด ทำให้เรามีส่วนของโค้ดที่ไม่ได้ใช้งานอยู่
  • เรื่อง performance - Laravel ไม่ใช่ PHP Framework ที่เร็วที่สุด (แต่ก็ไม่ได้ช้าที่สุด) ผู้ใช้งาน ต้องมีความรู้ในการปรับแต่งระบบ ให้ทำงานร่วมกับ Laravel ได้ดี
  • เนื่องจาก Laravel ก็ไม่ได้โดดเด่นเรื่องความเร็วหรือ performance ทางออกก็คือ มี server ที่ปรับแต่งขึ้นมาเพื่อให้บริการสำหรับ web application ที่พัฒนาด้วย Laravel โดยเฉพาะ ที่นิยมที่สุดในขณะนี้ ก็จะเป็น Forge ร่วมกับ DigitalOcean หรือ Linode 

โดยสรุป Laravel ยังเป็น framework ที่ยังมีอนาคตอีกไกล เราต้องรอดูต่อไปว่า Laravel จะพาเราไปยังดินแดนแห่งใหม่ได้ไกลแค่ไหน หรือจะมี PHP Framework ตัวใหม่ที่เจ๋งกว่านี้ มาให้เรียนรู้กันอีก





ไม่มีความคิดเห็น:

แสดงความคิดเห็น