Framework คืออะไร

Framework คืออะไร
เรื่องมีอยู่ว่า ในสายงานโปรแกรมเมอร์นั้น เวลาเราเขียนโค๊ดหรือโปรแกรมด้วยภาษาอะไรสักอย่างมักจะมุ่งเน้นความเป็นส่วนตัว หมายความว่า เรามีไอเดียต่างกัน สไตล์การเขียนต่างกัน รูปแบบในการเขียน การวางโฟลเดอร์ ฯลฯ เยอะแยะมากมาย ถ้าเป็นโปรเจ็คที่่ต้องดูแลคนเดียว ก็โอเคเลย สบาย อารมร์อาร์ตได้เต็มที่ ไม่มีใครมายุ่งยากกับเรา แต่ถ้าเป็นกรณีที่่ต้องใช้หลายคนในการพัฒนา กลายเป็นทีม เราจะมีอะไรที่จูนกันได้ จะเลือกวิธีการเขียนของใคร ใครจะเป็นคนขึ้นโครงสร้าง มันเลือกยาก แล้วถ้าเลือกของคนใดคนหนึ่ง และหลาย ๆ คนก็ต้องมานั่งดูวิธีการรูปแบบอีก ความขัดแย้งในบางประเด็นก็จะถูกยกขึ้นมาขัดแย้งกัน และถามว่า ทำไมเราถึงไม่ทำอะไรให้มันเป็นมาตรฐานเดียวกันตั้งแต่แรก จะได้ไปในทิศทางเดียวกัน ไม่ว่าจะเป็นการเขียน โครงสร้าง และการจัดการ และเพื่อแก้ปัญหาเหล่านี้แหละ จึงเกิดตัว 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 ใคร ๆ ก็รู้ (ถ้าศึกษา)

อ้างอิงจาก
http://www.konkeanweb.com/tag/framework

บทความที่เกี่ยวข้อง