Framework คือสิ่งที่ต้องการหรือไม่ ?

Written on September 3, 2008 – 2:19 pm | by admin |

ที่หยิบเรื่อง PHP Framework มาพูดในครั้งนี้ไม่ใช่อะไร เพราะว่าตอนนี้งานที่ทำให้ฝรั่งเขาอยากได้มากๆคือ Zend Framework ซึ่งผมเองก็ไม่เคยจับมาก่อนเช่นกันสำหรับตัวนี้ เพราะเคยเล่นเจ้า CodeIgniter ตามที่ผมเคยลองที่ http://www.myblog.in.th/?p=305

คำถามของหลายๆคนตามมาว่า
ทำไมถึงใช้ Framework ?
แล้วทำไมผมถึงไม่ใช้ ทำเว็บตัวเอง ?

ทำไมถึงใช้ Framework ?
ส่วนตัวแล้วผมชอบในหลักการของ PHP Framework ที่มี MVC ซึ่งทันก็มีข้อดีก็คือ
- พัฒนาต่อง่าย
- เหมาะกับการทำงานเป็นทีม
- เหมาะกับ Application

ซึ่งเท่าที่ดูแล้ว Framework มันเหมาะกับการทำเป็น Application เฉพาะทางซะมากกว่าเช่น Web App ที่ทำหน้าที่เกี่ยวกับการเงิน , สารสนเทศ อะไรแนวนี้มากกว่าการทำเว็บไซต์ทั่วๆไป

แต่มันมีอยู่อย่างหนึ่งที่ผมไม่ชอบบนตัว PHP Framework ก็คือเรื่องของความเร็วในการประมวลผล มันคิดมากไป ขั้นตอนมากเกินไป ซึ่งเมื่อผมจับ Zend Framework เล่นดู ผมก็ต้องการที่จะรู้ว่ามันทำงานได้เร็วไหม แค่ไหน อย่างไร ก็ไม่แคร้วต้องทดสอบจับเวลามันครับ

ผมเชื่อมั่น 100% ว่าไม่มีทางที่ PHP Framework ใดจะประมวลผลได้เร็วเท่าเขียน PHP แบบปกติ หรือ เขียนในรูปแบบ OOP , Class , Function ครับ เพราะพิสูจน์มาแล้ว

ลองดูจากที่ผมเล่นตัว CodeIgniter โดยไม่ได้ติดต่อดาต้าเบสอะไรเลย แค่ดึง head body footer มาแสดงเท่านั้น แต่มันใช้เวลาคิดถึง 0.0383 วินาที ดังรูป

 

วกมาที่ทดสอบ Zend Framework กันบ้าง โดยผมทำตามตัวอย่างของการเริ่มต้นสร้างเว็บด้วย Zend Framework โดยติดต่อตาราง 1 ตาราง ข้อมูล 2 แถวเท่านั้น ได้ผลตามรูป

zend01.jpg 

โดยใช้ Process Time : 0.1391561031 วินาทีในการประมวลผล
ทีนี้ผมก็ทดสอบเขียน PHP ปกติโดยใช้งานติดต่อกับ Class ที่เขียนขึ้นเองในการเชื่อมต่อดาต้าเบส 1 ตาราง ข้อมูล 1000 แถว เรียกมาแสดงผลแล้วก็จับเวลา ซึ่งได้ผลแบบนี้

zend02.jpg 

เทียบกัน 2 อันเป็นไงบ้างครับ การเขียน PHP ปกตินั้นประมวลผลได้เร็วกว่าใช้ PHP Framework มากมายหลายขุมเลยทีเดียว

หากมาวิเคราะห์กันว่าหากเราใช้งาน Framework ในการทำเว็บไซต์ ผลกระทบที่ตามมาก็คืออะไรบ้าง
- ต้องการ Server ประสิทธิภาพสูงขึ้น
- ค่าใช้จ่ายสูงขึ้น
- ต้องการคนที่เข้าใจใน Framework นั้นๆในการพัฒนาต่อ
แล้วทำไมผมถึงไม่ใช้ ทำเว็บตัวเอง ?
ก็อย่างที่บอกไปครับ ผมเน้นงานด้าน OutPut มากกว่า Input เพราะผมต้องการนำเสนอเว็บ ไม่ได้ต้องการนำเสนอ Code เพราะหากผมสนใจแต่เรื่อง Code ที่ต้องเริศหรู ต้องเป็น Framework หรือเป็น OOP ทั้งหมด เว็บผมคงไม่สามารถใช้งานในระดับที่ CPU Load ต่ำขนาดนี้ได้

zend03.jpg 

ลองดูหน้าแรกของผมก็ได้ ติดต่อตารางทีละ 9 ตาราง (อาจจะมากกว่าเพราะมีส่วนของสคริป Banner ต่างๆที่รันผ่านการเรียกด้วย Javascript) แต่สามารถทำได้ที่ 0.0079 วินาที ซึ่งหากผมใช้งาน Framework ผมว่าไม่มีทางได้ต่ำกว่า 0.2 - 0.3 วินาทีอย่างแน่นอน ถึงแม้จะเอาเทคโนโลยี Cache ที่มีในตัว Framework มาใช้ก็ตาม

zend04.jpg 

และนี่คือเหตุผลที่ว่าทำไมผมถึงไม่ใช้ Framework ในเว็บของผมเอง แต่ผมเลือกใช้พวก OOP , Class ซะมากกว่า

อยู่ที่การคำนึงถึงการใช้งานของแต่ละระบบ แต่ละ Application ว่าต้องการอะไร ?
สำหรับผมแล้วผมคำนึงถึง “ผู้เสพ” มากกว่า “ผู้พัฒนา” ผู้เสพก็คือคนเข้าชมเว็บไซต์ หากเราทำให้เว็บของเรา
- เร็ว
- ข้อมูลถูกต้อง
- ระบบมีมาตรฐาน ปลอดภัย
เท่านี้มันก็มากพอแล้วครับ ส่วนผู้พัฒนา หากคุณเก่งซะอย่าง(ไม่ต้องมากก็ได้) ยังไงก็แก้ไขได้ครับ เพราะมันก็ใช้ OOP , Class  เท่านั้น ส่วน PHP Framework คุณไม่สามารถจ้าง PHP Programer ทั่วๆไปมาทำได้เลย ดังนั้นค่าจ้างก็ย่อมแพงขึ้นตามครับ

แต่ยังไงตอนนี้ก็ทำไปครับทำไงได้ ฝรั่งดันอยากได้ Zend Framework จากทำระบบ CMS ใช้เวลาสัก 2 วันเสร็จ ตอนนี้หากมาใช้ Framework 2 วันไม่มีทางเสร็จแน่นอน!!!

  1. One Response to “Framework คือสิ่งที่ต้องการหรือไม่ ?”

  2. By few on Sep 5, 2008 | Reply

    อ๋าา ผมใช้ Codigniter อยู่ ที่ชอบ เพราะ ต้องการแค่ url rewrite มันทำได้ง่าย นั่นเอง ใช้แค่นั้นจริงๆ ฮ่าๆ

    อ้อ มีอีกอย่าง มันทำให้ผม hard code ได้เองอิสระ ด้วย

    อ้อ อีกอย่าง ไอ้เจ้า CI โค้ดมันเขียนง่ายๆ เวลาจะ แก้ หรือต่อเติมตัว framework มันก็สามารถแก้ได้ง๊ายง่าย

    แต่ก็มีนิดนึง คือ ถ้าเป็นโปรแกรมเล็กๆ ใช้ไฟล์ไม่กี่ไฟล์ ก็ยัง hardcode เหมือนเดิม

You must be logged in to post a comment.

Editor's Talk!

สวัสดีคนที่หลงเดินทางเข้ามายัง Blog ของผม อาจจะด้วยความไม่ตั้งใจ หรือ ตั้งใจเข้ามาก็ตาม ก่อนอื่นผมก็ต้องขอออกตัวก่อนว่า Blog ของผมมันจะมีสาระบ้าง หรือ ไม่มีสาระเลย ก็แล้วแต่อารมณ์ช่วงไหนอยากเขียนอะไร อย่าเหมาว่า Blog ผมจะต้องมีแต่ความรู้เหมือน Blog ของคนอื่นๆ นะครับ
สำหรับ Blog นี้ ผมสามารถใช้คำพูดใดๆก็ได้ตามที่ผมเห็นสมควร เพราะมันคือ Blog ของกู(ผม) บางครั้งผมเขียนไปกระทบใครก็ขออภัยไว้ ณ. ที่นี้ด้วย ก็ไม่มีอะไรมากครับ ขอบคุณที่เข้ามาอ่าน Blog ของผมนะครับ

นายแม็ค

ค้นหา :