หลายๆคนยังสับสนกับความหมายของคำว่า Framework และ Library ว่าสองตัวนี้มันแตกต่างกันยังไง บทความต่อไปนี้จะสรุปให้สั้นๆ ดังนี้
Library กับ Framework โปรแกรมเมอร์แทบทุกคนคงเคยได้ยินสองคำนี้เป็นประจำ เพราะไม่มีโปรแกรมเมอร์คนไหนหรอกที่จะพัฒนาทุกสิ่งทุกอย่างด้วยตัวเองตั้งแต่ต้นโดยไม่หยิบยืมเอา Library หรือ Framework คนอื่นมาใช้
Library
แต่ความหมายในการเขียนโปรแกรม คือ การรวม Function มาอำนวยความสะดวกต่างๆ เช่น เรามีฟังก์ชั่นที่เขียนเองเอาไว้อำนวยความสะดวก ถ้าเราจะต้องมานั่งเขียนใหม่ทุกครั้ง ก็จะมีผลเสียหลายๆอย่าง ก็เลยมีการแยกพวกฟังก์ชั่นเหล่านี้ออกมา เป็นไฟล์ ถ้าจะใช้ก็สามารถ include เข้าไปเรียกใช้ได้ง่ายๆ
Framework
คือ การนำ Library หลายตัว ที่ทำงานในด้านเดียวกัน หรือเกื้อหนุนกัน เอามาวางเป็นกลุ่มก้อน เพื่ออำนวยความสะดวกให้กับผู้ใช้ เช่น ถ้าเราต้องการดึงข้อมูลมาแสดงบนเว็บ เราจะต้องเขียนโค๊ดเยอะแยะมากมาย มีการตรวจสอบ Error ฯลฯ กว่าที่จะได้ content page ขึ้นมาซักหนึ่งหน้า แต่ถ้าเราใช้ Framework เราอาจจะสั่งแค่ $News->getPage(13); ก้อได้จะ content page ที่ id = 13 มาแล้ว ซึ่งในการทำงานของ Framework จริงๆแล้วจะมีการเรียกฟังก์ชั่นเยอะแยะมากมายเพื่อทำงานให้ได้ผลตามคำสั่ง
สรุปง่ายๆ
- Framework เราต้องเขียน code ให้มันมาเรียกใช้เรา
- Library เราต้องเรียกใช้ code ที่มันเขียนมาให้เราใช้