เพื่อช่วยให้นักพัฒนาสามารถเขียนโปรแกรมได้เร็วขึ้นจึงมีไลบรารี่ขึ้นมาเพื่อที่นักพัฒนาแต่ละคนจะได้ไม่ต้องมาเขียนโปรแกรมซ้ำๆเพื่อแก้ปัญหาเดียวกัน แต่ในภาพของการพัฒนาแอพพลิเคชั่นนั้นนักพัฒนายังคงต้องพัฒนาโมดูลต่างๆขึ้นมาเอง เช่น การเข้าใช้งาน (authentication) การเชื่อมต่อกับฐานข้อมูล (database interaction) เป็นต้น ถ้าเรามองในภาพรวมจะเห็นว่าแอพพลิเคชั่นต่างๆนั่นก็จะมีส่วนที่เหมือนๆกันอยู่ จึงเป็นที่มาของเฟรมเวิร์คซึ่งเป็นเหมือนตัวแบบ (template) ในการพัฒนาแอพพลิเคชั่น โดยเฟรมเวิร์กเป็นซอฟต์แวร์ที่สามารถนำกลับมาใช้ใหม่ได้ ช่วยอำนวยความสะดวกในการพัฒนาแอพพลิเคชั่นโดยรวมหรือเฉพาะส่วนต่างๆ ของแอพพลิเคชั่น เฟรมเวิร์กประกอบด้วยตัวแบบของโปรแกรมที่มีโครงสร้างและมีฟังก์ชันทั่วไปมาให้อยู่แล้วและเราสามารถเขียนโปรแกมเพื่อขยายความสามารถให้เหมาะกับความต้องการเฉพาะทางของแต่ละแอปพลิเคชันได้ง่าย เฟรมเวิร์กช่วยให้นักพัฒนาสามารถลดเวลาในการเขียนโปรแกรมที่เป็นโมดูลพื้นฐานเพื่อเอาเวลาไปมุ่งเน้นที่ภาพรวมของแอพพลิเคชั่นแทน และเฟรมเวิร์กจะมี API ที่เฟรมเวิร์กให้มาด้วยซึ่งสามารถลดเวลาในการพัฒนาโดยรวมได้อย่างมาก

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

ข้อดีของการใช้เฟรมเวิร์คคือ

  • เราสามารถสร้างแอพพลิเคชั่นต้นแบบได้อย่างรวดเร็ว
  • โครงสร้างของโครงานจะมีมาตรฐานเดียวกันช่วยให้ทำความเข้าใจได้ง่าย
  • เฟรมเวิร์คเป็นที่ยอมรับและใช้งานอย่างสากล
  • มีการแก้ไขข้อผิดพลาดและปัญหาด้านความปลอดภับจากผู้พัฒนาเฟรมเวิร์คอย่างสม่ำเสมอ
  • เฟรมเวิร์คจะมีการปรับปรุงรูปแบบ (pattern) และการปฏิบัติ (practice) ที่ทันสมัยอยู่เสมอ

ข้อด้อยของการใช้เฟรมเวิร์คคือ

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

ในการเลือกเฟรมเวิร์คเราควรเลือกเฟรมเวิร์คที่มีชื่อเสียงและมีเอกสารประกอบที่ดี วิธีนี้จะทำให้การใช้งานง่ายขึ้นอย่างมาก และช่วยให้เราค้นหานักพัฒนาที่คุ้นเคยกับเฟรมเวิร์กนี้อยู่แล้วได้อย่างง่ายดาย เฟรมเวิร์กที่ได้รับความนิยมบางประเภทกลายเป็นมาตรฐาน (de facto standard) สำหรับการพัฒนาแอพพลิเคชั่นบางประเภท ซึ่งเราควรพิจารณาเฟรมเวิร์คดังกล่าวก่อน