ที่นี่ jquery ถูกกล่าวถึงภายใต้หมวดหมู่กรอบ: http://en.wikipedia.org/wiki/Comparison_of_JavaScript_frameworks
jquery เป็นไลบรารี javascript หรือกรอบหรือไม่
ที่นี่ jquery ถูกกล่าวถึงภายใต้หมวดหมู่กรอบ: http://en.wikipedia.org/wiki/Comparison_of_JavaScript_frameworks
jquery เป็นไลบรารี javascript หรือกรอบหรือไม่
คำตอบ:
ห้องสมุด. ตามหน้าแรกและที่ฉันเห็นด้วย
เฟรมเวิร์กคือสิ่งที่มักจะบังคับให้ใช้วิธีการแก้ปัญหาในขณะที่ jQuery เป็นเพียงเครื่องมือในการปรับใช้สิ่งที่คุณต้องการทำได้ง่ายขึ้น
แน่นอนว่ามันเป็นไลบรารีจาวาสคริปต์ แต่เรื่องการเป็นกรอบหรือไม่ฉันแค่คิดว่ามันไม่ใช่กรอบ ดูคำจำกัดความของซอฟต์แวร์เฟรมเวิร์กของวิกิพีเดีย :
เป็นชุดของไลบรารีซอฟต์แวร์ที่จัดเตรียมอินเทอร์เฟซการเขียนโปรแกรมแอปพลิเคชันที่กำหนดไว้
และ jQuery เป็นเพียงไลบรารีเดียว หลังจากนั้นก็พูดว่า:
เฟรมเวิร์กมีคุณสมบัติการแยกแยะที่สำคัญที่แยกออกจากไลบรารีปกติ:
- การผกผันของการควบคุม - ในกรอบซึ่งแตกต่างจากในไลบรารีหรือแอปพลิเคชันผู้ใช้ทั่วไปขั้นตอนการควบคุมโดยรวมของโปรแกรมไม่ได้ถูกกำหนดโดยผู้เรียก แต่เป็นกรอบงาน
ดังนั้นฉันคิดว่ามันไม่ใช่กรอบ
อ้างอิงจากเว็บไซต์ angularjs
- ไลบรารี - ชุดของฟังก์ชันที่มีประโยชน์เมื่อเขียนเว็บแอป รหัสของคุณเป็นผู้รับผิดชอบและจะเรียกเข้าห้องสมุดเมื่อ
เห็นสมควร เช่น jQuery- เฟรมเวิร์ก - การใช้งานเว็บแอปพลิเคชันโดยเฉพาะโดยที่โค้ดของคุณกรอกรายละเอียด เฟรมเวิร์กมีหน้าที่รับผิดชอบและเรียกเข้าสู่โค้ดของคุณเมื่อต้องการบางแอพเฉพาะ เช่น durandal ถ่าน ฯลฯ
Framework และ libarry ไม่จำเป็นต้องมีเงื่อนไขพิเศษร่วมกัน โดยทั่วไป Framework เป็นไลบรารีหรือกลุ่มของไลบรารี
พูดอย่างเคร่งครัด jQuery เป็นไลบรารี แต่ในระดับหนึ่งจะตรงตามความหมายของกรอบงานซอฟต์แวร์ แม้ว่าหลายคนจะโต้แย้งว่า jQuery ไม่ตรงตามคำจำกัดความของเฟรมเวิร์กซอฟต์แวร์อย่างเคร่งครัดเพียงพอ แต่ความจริงก็คือไม่มีเฟรมเวิร์ก JavaScript อื่นที่ตรงตามนิยามของเฟรมเวิร์กอย่างสมบูรณ์
หนึ่งในคุณสมบัติที่กำหนดของเฟรมเวิร์กซอฟต์แวร์คือโค้ดของมันได้รับการปกป้องจากการดัดแปลง ใน JavaScript นี่ไม่ใช่กรณีอย่างชัดเจน ไลบรารีหรือเฟรมเวิร์กใด ๆ ที่สามารถเรียกเข้าไปในโค้ดฝั่งไคลเอ็นต์ของคุณสามารถแก้ไขได้แม้ว่าจะขัดกับแนวทางปฏิบัติที่ดีที่สุดในการแก้ไขก็ตาม ดังนั้นหากอนุญาตให้เรียก Bootstrap หรือ AngularJS framework ได้ก็ไม่มีเหตุผลว่าทำไม jQuery จึงไม่สามารถเรียกว่า framework ได้ ลิงค์นี้มีคำอธิบายโดยละเอียดเพิ่มเติมว่า jQuery ตรงตามเกณฑ์ที่เรียกว่ากรอบงานได้อย่างไร
บางทีคำอธิบายที่ดีที่สุดว่าทำไม jQuery จึงมีกรอบมากกว่าไลบรารีก็คือความจริงที่ว่าในฐานะนักพัฒนาคุณสามารถเลือกที่จะไม่ใช้ฟังก์ชันใด ๆ ที่คล้ายกับเฟรมเวิร์กได้ ตัวอย่างเช่นคุณสามารถผสมคำสั่ง jQuery ธรรมดากับคำสั่ง JavaScript มาตรฐานในบรรทัดเดียวกันได้ AngularJS และ Bootstrap มักไม่อนุญาตให้คุณทำสิ่งนี้ ดังนั้นคำตอบที่ถูกต้องว่า jQuery เป็นเฟรมเวิร์กหรือไม่คือ "ขึ้นอยู่กับว่าคุณเลือกใช้เป็นเฟรมเวิร์กหรือไม่"
ฉันเห็นด้วยกับคำตอบทั้งหมดที่นี่ว่า jQuery นั้นเป็นไลบรารีไม่ใช่กรอบ ตามที่ระบุไว้ในคำตอบของ Saeed คุณสมบัติเด่นประการหนึ่งที่สำคัญคือการผกผันการควบคุม อย่างไรก็ตามคุณสามารถใช้ฟังก์ชันการทำงานของ jQuery เพื่อสร้างกรอบงานของคุณเองได้
ตัวอย่าง: มีโปรเจ็กต์ที่สร้างขึ้นบน jQuery ที่กำหนดเป็นเฟรมเวิร์ก: jQuery Mobile: Touch-Optimized Web Framework , JavaScriptMVCและsammy.jsเพื่อตั้งชื่อไม่กี่
นอกจากนี้ยังมีไลบรารีอื่น ๆ ที่สร้างขึ้นบน jQuery เช่นjQuery UI
บางส่วนดูเหมือนว่าความหมายเมื่อกำหนดว่าไลบรารีคืออะไรกับเฟรมเวิร์ก แต่ตัวอย่างเหล่านั้นช่วยขีดเส้นให้ฉัน
ถ้าเราพูดถึง Inversion of control ซึ่งเกือบทุกคนในกระทู้ข้างบนพูดถึง jQuery ก็คือ FRAMEWORK
มันมี IOC เช่นเมื่อเราเขียนฟังก์ชัน$ (document) .ready {} ... มันคือคอนเทนเนอร์ที่เรียกเมธอดนี้และเราใส่รหัสของเราไว้ในวงเล็บปีกกา เราไม่ใช่ผู้เรียกใช้วิธีนี้และด้วยเหตุนี้ "Inversion of Control"
วิธีนี้ jQuery เป็น FRAMEWORK
ready()
.