ปัญหา

เรื่องมีอยู่ว่า ในสายงานโปรแกรมเมอร์นั้น เวลาเราเขียนโค๊ดหรือโปรแกรมด้วยภาษาอะไรสักอย่างมักจะมุ่งเน้นความเป็นส่วนตัว หมายความว่า เรามีไอเดียต่างกัน   สไตล์การเขียนต่างกัน รูปแบบในการเขียน การวางโฟลเดอร์ ฯลฯ  เยอะแยะมากมาย  ถ้าเป็นโปรเจ็คที่่ต้องดูแลคนเดียว ก็โอเคเลย  สบาย อารมร์อาร์ตได้เต็มที่ ไม่มีใครมายุ่งยากกับเรา แต่ถ้าเป็นกรณีที่่ต้องใช้หลายคนในการพัฒนา   กลายเป็นทีม  เราจะมีอะไรที่จูนกันได้ จะเลือกวิธีการเขียนของใคร  ใครจะเป็นคนขึ้นโครงสร้าง  มันเลือกยาก แล้วถ้าเลือกของคนใดคนหนึ่ง และหลาย ๆ คนก็ต้องมานั่งดูวิธีการรูปแบบอีก ความขัดแย้งในบางประเด็นก็จะถูกยกขึ้นมาขัดแย้งกัน    และถามว่า ทำไมเราถึงไม่ทำอะไรให้มันเป็นมาตรฐานเดียวกันตั้งแต่แรก จะได้ไปในทิศทางเดียวกัน ไม่ว่าจะเป็นการเขียน โครงสร้าง และการจัดการ และเพื่อแก้ปัญหาเหล่านี้แหละ จึงเกิดตัว source code ที่เอาพวกเครื่องมือพื้นฐานที่ต้องใช้ และคิดว่าต้องใช้ มารวมเป็นชุด ๆ หนึ่ง เพื่อให้เราได้ใช้งานเหมือนกัน ที่เรียกว่า framework

Framework คืออะไร

เพราะฉะนั้นตัว Framework ก็จะหมายถึงชุดคำสั่ง เครื่องมือเสร็จสรรพ์ที่พร้อมใช้งาน  หรืออาจจะหมายถึงโครงสร้างอย่างใดอย่างหนึ่ง  เพราะขึ้นอยู่กับชนิด ประเภทของ Framework ด้วย  อ้างอิงจาก  http://en.wikipedia.org/wiki/Framework

Framework กับการเขียนโปรแกรม

เนื่องด้วยปัญหาข้างบน ภาษาต่าง ๆ ก็พยายามจะมี Framework ออกมา บางภาษามีด้วยกันหลายยี่ห้อเลยแหละ ^^  บางทีก็เลือกยาก ทั้งนี้ทั้งนั้นก็ขึ้นอยู่กับความเหมาะสมเป็นหลัก อันนี้ต้องขึ้นอยู่กับประสบการณ์การใช้งาน  ใครใช้หลากหลายตัว  ก็จะรู้ข้อดีข้อเสีย ของแต่ละตัว ก็สามารถเอามาประยุกต์เข้ากับงานเราได้  ปล. Framework เป็นโครงสร้างการจัดการ ไม่ใช่ภาษา  เราอาจจะได้ยินว่า PHP Framework , CSS Framework   อันนั้นเป็นการพัฒนาโครงสร้างด้วยภาษานั้น  ๆ

ข้อดีของ Framework

ถ้ามองจากปัญหาข้างบนจะรู้ว่า framework นั้นให้อะไรกับเราได้บ้าง

  • รวดเร็ว
  • ทำงานเป็นทีมได้
  • เหมาะกับองค์กรใหญ่ ๆ

ข้อเสียของ Framework

ทุกสิ่งทุกอย่างมีดีย่อมมีเสียเสมอ ยิ่งมีประโยชน์มาก ยิ่งมีโทษมากเช่นกัน

  • มีขนาดของ source โดยรวมใหญ่กว่าที่ควรจะเป็น เพราะบางอย่างเราไม่จำเป็นต้องใช้ แต่ว่ามันดันมีใน Framework
  • อาจจะทำให้ผู้ไม่ประสงค์ดีโจมตีได้ง่ายขึ้น เพราะว่า โครงสร้างของ Framework  ใคร ๆ ก็รู้ (ถ้าศึกษา)

อ้างอิง

  • wikipedia.org