ห้องสมุดกรอบและ API ต่างกันอย่างไร พวกเขาทั้งหมดดูเหมือนฉัน ฉันต้องการได้ยินคนคิดเรื่องนี้
ห้องสมุดกรอบและ API ต่างกันอย่างไร พวกเขาทั้งหมดดูเหมือนฉัน ฉันต้องการได้ยินคนคิดเรื่องนี้
คำตอบ:
ไลบรารี่คือชุดของฟังก์ชั่น / วัตถุที่ทำหน้าที่หนึ่งในวัตถุประสงค์เฉพาะ คุณสามารถใช้ห้องสมุดในหลายโครงการ
เฟรมเวิร์กคือชุดของรูปแบบและไลบรารีเพื่อช่วยในการสร้างแอปพลิเคชัน
API เป็นอินเทอร์เฟซสำหรับโปรแกรมอื่น ๆ เพื่อโต้ตอบกับโปรแกรมของคุณโดยไม่ต้องเข้าถึงโดยตรง
หากต้องการกล่าวอีกอย่างหนึ่งให้คิดว่าไลบรารีเป็นส่วนเสริม / ชิ้นส่วนของแอปพลิเคชันกรอบงานเป็นโครงกระดูกของแอปพลิเคชันและ API เป็นส่วนที่หันหน้าออกด้านนอกของแอปดังกล่าว
คำตอบที่ดีเพื่อให้ห่างไกล แต่พวกเขาพลาดจุดสำคัญอย่างหนึ่ง - กรอบใช้IoC รหัสของคุณล้อมรอบด้วยกรอบ มันอาศัยอยู่ข้างใน ในทางตรงกันข้ามรหัสของคุณใช้ไลบรารีหรือ API มันอาศัยอยู่นอกมัน IoC คือความแตกต่าง
ห้องสมุดคือชุดของรหัสที่สร้างขึ้นเพื่อดำเนินงานทั่วไป รหัสห้องสมุดมีแนวโน้มที่จะค่อนข้างเสถียรและไม่มีข้อบกพร่อง การใช้ไลบรารีที่เหมาะสมสามารถลดจำนวนรหัสที่จำเป็นต้องเขียน มีแนวโน้มที่จะลดจำนวนบรรทัดของรหัสสำหรับแอปพลิเคชันซึ่งจะเพิ่มอัตราการส่งมอบฟังก์ชันการทำงาน ในกรณีส่วนใหญ่ควรใช้รูทีนไลบรารีมากกว่าเขียนโค้ดของคุณเอง
API (Application Programming Interface) เป็นอินเทอร์เฟซสำหรับฟังก์ชันการทำงานบางอย่างซึ่งอนุญาตให้แอปพลิเคชันเข้าถึงฟังก์ชันการทำงานที่มีอยู่ API อาจถูกอ้างถึงเป็นส่วนต่อประสาน API มีอยู่ในหลายระดับรวมถึงระบบไลบรารีกรอบงานโปรแกรมและแอปพลิเคชัน ควรกำหนด API ก่อนที่จะใช้งานโค้ด
API ควรมีความเสถียรแม้ว่าบางส่วนของ API สามารถเลิกใช้ได้ด้วยเหตุผลหลายประการ ยิ่งใช้ API ในวงกว้างมากเท่าไหร่การเปลี่ยนก็จะยิ่งยากขึ้นเท่านั้น ส่วนใหญ่หากไม่ใช่ Java 1.0 API ทั้งหมดยังคงมีอยู่แม้ว่าจะมีวิธีการมากมายที่เลิกใช้แล้ว
Framework คือชุดของ API ที่ออกแบบมาเพื่อให้การสร้างแอปพลิเคชันง่ายขึ้น เฟรมเวิร์กจัดเตรียมการใช้งานสำหรับส่วนประกอบที่นำมาใช้ซ้ำได้ กรอบงานที่ดีมักมีความเชี่ยวชาญในการใช้งาน
Java Collections Framework เป็นชุดของ API ไปยังวัตถุประเภทต่างๆที่สามารถใช้ในการจัดการคอลเลกชัน มันจัดลำดับชั้นของ API ให้กับคอลเลกชันต่างๆ ใน Java Collections Framework อินเตอร์เฟส SortedSet จะขยายการตั้งค่าอินเตอร์เฟสซึ่งจะขยายอินเตอร์เฟสการรวบรวม API เหล่านี้เป็นอินเทอร์เฟซแบบนามธรรมและการใช้งานจริงมีชื่อแตกต่างกัน Framework Collections ทำให้การใช้งานคอลเลคชันง่ายและลดความยุ่งยากในการปรับใช้ระหว่างการพัฒนา
Framework สามารถสร้างได้จากเฟรมเวิร์กขนาดเล็กดังที่เห็นใน Java Spring Framework ที่มีเป้าหมายในการพัฒนา J2EE ฤดูใบไม้ผลิประกอบด้วยเฟรมเวิร์กมากกว่าโหลซึ่งหลายเฟรมสามารถใช้ด้วยตนเองหรือแทนที่ด้วยเฟรมเวิร์กอื่น
การใช้ไลบรารี API และกรอบงานที่เหมาะสมสามารถทำให้การพัฒนาง่ายขึ้น ส่วนประกอบเหล่านี้ดูแลปัญหาทั่วไปและอนุญาตให้ทีมพัฒนามุ่งเน้นไปที่ปัญหาเฉพาะของแอปพลิเคชัน
เฟรมเวิร์กเป็นขั้นตอนหนึ่งจากไลบรารี หากกล่องเครื่องมือของคุณเป็นห้องสมุดการประชุมเชิงปฏิบัติการของคุณจะเป็นกรอบ
Wikipedia พูดว่า
API คือสิ่งที่เป็นนามธรรมซึ่งอธิบายถึงอินเทอร์เฟซสำหรับการโต้ตอบกับชุดของฟังก์ชันที่ใช้โดยส่วนประกอบของระบบซอฟต์แวร์
ความแตกต่างที่สำคัญระหว่าง API และส่วนต่อประสานกับผู้ใช้คือ API จะช่วยให้ซอฟต์แวร์ / บริการอื่น ๆ โต้ตอบกับโซลูชันของคุณอย่างเป็นระบบ
API สามารถสร้างได้ทั้งสำหรับแอปพลิเคชัน (ผ่าน dll หรือปลั๊กอิน) หรือเว็บไซต์และบริการ (ผ่าน REST และ webservices)
API กำหนดวิธีการใช้อย่างอื่นในแง่ของวัตถุและวิธีการที่สามารถใช้งานได้จากแหล่งที่มา ตัวอย่างเช่นการรวม Twitter หรือ Facebook เข้ากับเว็บไซต์ใช้ API จาก Twitter หรือ Facebook เพื่อให้แน่ใจว่ามีการอัปเดตข้อมูลที่เหมาะสม
กรอบการทำงานมีแนวโน้มที่จะค่อนข้างหนาในแง่นี้เกือบจะสามารถสร้างภาษาของตัวเองได้ตลอดเวลา jQuery เป็นตัวอย่างของเฟรมเวิร์กที่มีไวยากรณ์ของตัวเองและมีน้ำหนักเพิ่มขึ้นเล็กน้อยในแง่ของการรับโค้ดของฉันในแง่หนึ่ง เฟรมเวิร์กอาจเป็นแพลตฟอร์มที่ทำให้พวกเขาคล้ายกับ API ในแง่หนึ่งเช่น Win32API หรือ. Net Framework แต่ละวิธีมีหลายวิธีในการสร้างแอปพลิเคชันเพื่อให้สามารถมี Frameworks ที่มี API ในพวกเขาและ APIs
ไลบรารีมีแนวโน้มที่จะเป็นไฟล์ไบนารีที่ใช้ API หรือ Framework และเป็นบิตที่คุณต้องใช้ API หรือ Framework ในบางกรณี อย่างน้อยนั่นเป็นวิธีที่ฉันเห็นข้อกำหนดเหล่านี้และความแตกต่างระหว่างพวกเขา
ไปที่ห้องสมุดและเริ่มอ่านหนังสือ หากคุณเป็นแอพพลิเคชั่นคอลเล็กชันหนังสือคือห้องสมุด ชั้นวางของตู้และสารประกอบที่บ้านทั้งหมดนี้ถือเป็นกรอบ ทุกสิ่งที่คุณสัมผัสขณะปฏิบัติงานการอ่านหนังสือคือ API
ไลบรารีคือชุดของรหัสที่ใช้เพื่อลดความซับซ้อนของงานทั่วไป - สามารถเป็นคลาสฟังก์ชันหรือสิ่งที่เฉพาะเจาะจงกับภาษาหรือแพลตฟอร์มของคุณ ตัวอย่างที่ดีอาจเป็นไลบรารีการจัดการสตริงที่จัดเตรียมผู้ช่วยสำหรับงานทั่วไป (การสร้างการแยกการค้นหาหรือการเรียงลำดับสตริง ฯลฯ )
API (อินเทอร์เฟซการเขียนโปรแกรมประยุกต์) คือคำจำกัดความ ('อินเทอร์เฟซ') ของวิธีทำงานกับแอปพลิเคชันระบบหรือเทคโนโลยีอื่น มันเป็นตัวกำหนดการดำเนินงานที่มีอยู่เพื่อโต้ตอบกับระบบอื่นนั้น API อาจเป็นไลบรารี (หมายถึง API ถูกห่อในไลบรารีหรือชุดของคลาส) แต่ความแตกต่างคือ API อ้างอิงถึงระบบภายนอกเสมอ - ไม่ว่าจะเป็นฐานข้อมูลบริการเว็บแอปพลิเคชันอื่นหรือระบบปฏิบัติการ ตัวเอง
Framework เป็นแนวคิดที่ใหญ่กว่าปกติแล้วจะประกอบด้วยไลบรารีและ API จำนวนมากเพื่อทำงานทั่วไป มันมีอยู่ในระดับแนวคิดที่สูงขึ้น - ไม่ใช่แค่ชุดเครื่องมือ แต่ยังรวมถึงรูปแบบการออกแบบแนวปฏิบัติที่ดีที่สุดและวิธีการ ซอฟต์แวร์ Framework เป็นส่วนเสริมของกรอบทั่วไป- ความหมายของมันรวมถึงการเป็นรากฐานที่สิ่งต่าง ๆ ถูกสร้างขึ้นให้การสนับสนุนและโครงสร้างและให้คำแนะนำและคำจำกัดความความต้องการ
แอปพลิเคชันได้รับการพัฒนาโดยใช้ไลบรารีตามกรอบงานและสื่อสารผ่าน API
หากคุณสร้างแอปพลิเคชั่นจะพูดแอปพลิเคชันการประมวลผลภาพออนไลน์
เมื่อมีสายเข้ามายังแอปพลิเคชันของคุณ
ไปยังบุคคลที่โทร
เหตุผลที่มีอยู่: