Framework คืออะไร

Framework ในที่นี้หมายถึง ชุดคำสั่ง เครื่องมือ หรือโครงสร้างอย่างใดอย่างหนึ่งที่ถูกสร้างขึ้นมาเพื่ออำนวยความสะดวกแก่ผู้พัฒนาโปรแกรม ซึ่งเหมาะกับการเขียนโปรแกรมที่มีขนาดใหญ่ มีผู้พัฒนาหลายคน โปรแกรมเมอร์ส่วนใหญ่ใช้เวลาส่วนมากของการพัฒนา web application ไปกับการเขียนโปรแกรมโดยทั่วไปมากกว่าฟังก์ชันพิเศษ ดังนั้นการนำชิ้นส่วนของ code เดิมกลับมาใช้ (Reusable) จึงได้รับความนิยม ในการสร้าง web application โดยตัว Component ที่นำกลับมาใช้ใหม่นี้ จะเรียกว่า “framework” Framework ที่ดีต้องง่ายในการเพิ่ม แก้ไข เปลี่ยนแปลง ในส่วนของ application แต่ความยากง่ายนั้นก็ขึ้นอยู่กับความชำนาญทางด้านการเขียนโปรแกรมของผู้พัฒนาด้วย

Framework สำคัญอย่างไร

Framework ที่ดีมักจะง่ายต่อการเข้าใจและนำไปใช้ ซึ่งเป็นสิ่งสำคัญสำหรับผู้เชี่ยวชาญด้านการพัฒนาซอฟต์แวร์ เช่น นักเขียนโค้ดและวิศวกรซอฟต์แวร์ Framework มักช่วยให้นักพัฒนาซอฟต์แวร์สามารถค้นหาจุดบกพร่องในโค้ดของตนได้ พวกเขายังช่วยให้นักพัฒนาทำงานเสร็จเร็วขึ้นอีกด้วย Framework มักจะง่ายต่อการบำรุงรักษาเช่นกัน เนื่องจากผู้เชี่ยวชาญสามารถแก้ไขโค้ดภายใน Framework ได้ตลอดเวลา

ประโยชน์ของ Framework

Framework เป็นเครื่องมือที่เป็นประโยชน์สำหรับโปรแกรมเมอร์และนักพัฒนาเพื่อใช้ในการสร้างเว็บไซต์และแอพพลิเคชันอื่นๆ ประโยชน์บางประการของ Framework มีดังต่อไปนี้

  • ประหยัดเวลาและแรงงานของผู้พัฒนาซอฟต์แวร์
  • Framework ได้จัดเตรียมชุดคำสั่งพื้นฐานเพื่อให้โปรแกรมเมอร์นำไปพัฒนาต่อยอดได้
  • ช่วยให้ผู้พัฒนาสามารถมุ่งเน้นไปที่งานที่เฉพาะเจาะจงมากขึ้นสำหรับโปรเจกต์ของผู้พัฒนา
  • สร้างชุดคำสั่งที่เป็นระเบียบและสามารถปรับเปลี่ยนได้
  • ช่วยลดค่าใช้จ่ายโดยย่นระยะเวลาในการพัฒนาโปรแกรม

ตัวอย่าง Framework ที่รองรับภาษาคอมพิวเตอร์ต่างๆ

ภาษาคอมพิวเตอร์ตัวอย่าง Framework
PHPLaravel, Laminas, Symfony, CodeIgniter, CakePHP
JavaScriptReact, VueJS, Angular, jQuery
JavaSpring Boot, Struts, Maven, Vert.x, Hibernate
ASP.NET CoreABP Framework, Mono, Spring.NET, ASP.NET Boilerplate, CoreFX
Node.jsExpress.js, Koa.js, Meteor.js, Socket.io
PythonDjango, Flask, Plone, Pyramid
RubyRuby on Rails, Sinatra, Hanami, Padrino, Cuba

ผู้เขียน

ปวรุตม์ พงศ์พฤฒานนท์
ฝ่ายระบบสารสนเทศ
สำนักคอมพิวเตอร์
pavarudh@g.swu.ac.th