Douglas Crockford หมายถึงอะไรเมื่อเขาพูดว่า jQuery ไม่ได้ขยายขนาด [ปิด]


32

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


การอภิปรายเพิ่มเติมเกี่ยวกับเรื่องนี้ได้ที่ JavaScript reddit: reddit.com/r/javascript/comments/h21vr/ …
MatrixFrog

หากไม่ได้ดูวิดีโอทั้งหมดฉันสามารถพูดได้ว่าการใช้ jQuery ด้วยตัวของมันเองนั้นไม่ได้ปรับขนาดให้เหมาะกับแอปพลิเคชันหน้าเดียว เหตุผลก็คือคุณไม่ได้รับเฟรมเวิร์กโมเดลมุมมองเพื่อจัดระเบียบโค้ดของคุณ รวม jQuery กับเฟรมเวิร์กโครงสร้างเช่นBackbone.js , Knockout.jsและ / หรือSammy.jsแม้ว่าจะปรับขนาดได้ดีมาก
user16764

ยังไม่เห็นการพูดคุย แต่ 2c ของฉันที่นี่คือธรรมชาติของปลั๊กอินสัตว์เป็นศูนย์กลางรวมกับการขาดคำแนะนำและเครื่องมือสำหรับการโหลดการอ้างอิงนำไปสู่แอปที่คุณมีซุปปลั๊กอิน jQuery เป็นบางคนในทีมต้องการ ปลั๊กอินสำหรับงานเฉพาะกล่าวว่าปลั๊กอินได้รับการรวมทั้งแอปและในที่สุดคุณก็โหลดปลั๊กอิน jQuery 342 ชุดที่แตกต่างกันทั่วทั้งแอป มันเป็นธรรมชาติของสัตว์ร้าย - มันถูกออกแบบมาเพื่อทำให้สิ่งที่มีขนาดเล็กลงได้อย่างง่ายดายโดยที่ไม่ต้องมีแนวคิดต้นน้ำที่ใหญ่โต
ไวแอตต์บาร์เน็ตต์

4
เป็นเรื่องแปลกที่ 3 จาก 4 คำตอบเริ่มต้นด้วย "ฉันไม่เห็นวิดีโอ" คุณจะอธิบายได้อย่างชัดเจนว่าสิ่งที่ Mr. Crockford หมายถึงโดยไม่ต้องดูวิดีโอ
คอร์บิน

เขาไม่ได้พูดอะไรมาก ดังที่ผู้ตอบคนหนึ่งตอบมามันเป็นคำพูดฉับพลันในหัวข้อถามตอบท้ายเรื่อง แต่คุณทำได้ดี
MatrixFrog

คำตอบ:


41

หากคุณดูวิดีโอเขาจะไม่พูดถึง jQuery อย่างเป็นทางการ เป็นการตอบสนองอย่างรวดเร็วต่อคำถามที่ไม่น่าสนใจจากใครบางคนหลังจากการนำเสนอ .... ในตอนท้ายของงานนำเสนอประมาณนาที 1:29

เขาบอกว่าสิ่งดีๆมากมายเกี่ยวกับ jQuery ส่วนที่เกี่ยวกับมันไม่ได้ปรับขนาดได้ดีเขาบอกว่าเขาไม่คิดว่า jQuery ปรับขนาดได้ดีมากสำหรับการใช้งานที่ซับซ้อนมาก (เปรียบเทียบกับสิ่งอื่น ๆ เช่น YUI) .


29
+1 สำหรับการดูวิดีโอก่อนโพสต์คำตอบ (-:
KM.

3

มันยากสำหรับฉันที่จะพูดโดยไม่ได้ดูวิดีโอ แต่ฉันเดาว่าเพราะjQueryไม่ได้มีคุณสมบัติทั้งหมดของไลบรารีอื่น ๆ ส่วนใหญ่ที่ทำให้การเขียนโปรแกรม JavaScript ง่ายขึ้น วัตถุประสงค์ของ jQuery คือการทำให้การจัดการDOMง่ายขึ้นโดยการระบุที่อยู่ขององค์ประกอบให้ง่ายขึ้นผ่านตัวเลือกCSSและให้กรอบการทำงานที่ง่ายสำหรับการแก้ไของค์ประกอบเหล่านั้น มันมี feautes อื่น ๆ เช่นคำขอAjax , การจัดการเหตุการณ์พื้นฐาน, templating และฟังก์ชั่นพื้นฐานอื่น ๆ แต่ก็เกี่ยวกับมัน

ห้องสมุดอื่น ๆ เช่นต้นแบบ , MooTools , Ext JSและDojoให้โหลดของการทำงานอื่น ๆ สำหรับการสร้างวัตถุจัดการอาร์เรย์และคอลเลกชัน, การจัดการสตริงและทำทุกสิ่งที่พ่อหนุ่มอื่น ๆ ที่เราเป็นโปรแกรมเมอร์ที่คาดหวังว่าจะสามารถที่จะทำ

กล่าวโดยย่อ jQuery ขาดเครื่องมือที่ต้องการสำหรับแอปพลิเคชัน JavaScript ขนาดใหญ่ มันค่อนข้างแปลกที่จะพบไซต์ JavaScript ขนาดใหญ่มาก ๆ ที่ใช้ jQuery ด้วยเหตุผลนี้ ยกตัวอย่างเช่น Mint.com ถูกสร้างขึ้นบนยูอิ บริการเว็บMobileMeของ Apple ทำงานบนSproutCore (ไซต์หลักของ Apple ใช้ Prototype)

อย่างน้อยนั่นคือสิ่งที่ฉันคิดว่าเขาหมายถึง


1
ฮึ่ม ฉันค่อนข้างคุ้นเคยกับ jQuery แต่ไม่ค่อยคุ้นเคยกับ YUI หรือเฟรมเวิร์ก JS อื่นใดเลย ดังนั้นบางทีฉันควรถามว่ามันเกี่ยวกับ YUI, Prototype และอื่น ๆ ที่ทำให้มันดีสำหรับการสร้างเว็บแอปขนาดใหญ่ แทนที่จะถามว่า jQuery ไม่มี ...
MatrixFrog

6
"มันค่อนข้างแปลกที่จะพบไซต์ JS ขนาดใหญ่มาก ๆ ที่ใช้ jQuery" .... ในขณะที่เราทำสิ่งต่างๆคุณสามารถทำบางสิ่งบางอย่างเกี่ยวกับ YUI ที่ต้องการไฟล์น้อยกว่า 10mb หรือไม่?
เคน

@ken หากคุณโหลดไลบรารี YUI ทั้งหมดลงบนหน้าเว็บของคุณแสดงว่าคุณทำผิด มีเหตุผลที่ Yahoo เสนอตัวโหลดแบบไดนามิก และถ้าคุณไม่เห็นด้วยกับการประเมินของฉันให้ยกตัวอย่างไปในทางตรงกันข้าม แสดงแอปพลิเคชันขนาดใหญ่ที่สร้างขึ้นบน jQuery
ChiperSoft

4
กำหนด "ขนาดใหญ่" แล้ว สแต็ก SE ใช้ jQuery
เคน

SE ไม่ได้ขับเคลื่อนด้วย JS เป็นหลัก แต่ใช้ jQuery ในวิธีที่ทุกคนใช้ jQuery: การเชื่อมเหตุการณ์พื้นฐานการร้องขอ AJAX แบบง่ายการจัดการ DOM บางอย่าง ขนาดใหญ่หมายถึงแอปพลิเคชันทั้งหมดที่สร้างขึ้นบน JS ทั้งหมด; ไซต์ที่ไม่ใช่หน้าเว็บ เรากำลังพูดถึงสิ่งที่ฉันพูดถึงข้างต้น (Mint.com & MobileMe), Cloud9 Editor, gMail, Mockingbird ไซต์ที่มีโค้ด JS ที่มีขนาดอย่างน้อย 1MB ขึ้นไป
ChiperSoft

2

jQuery ไม่อนุญาตให้คุณจำนวนมากนำมาใช้ใหม่เช่นMooToolsเช่น

มันเป็นการตัดสินใจเชิงปรัชญา / การออกแบบ: jQuery ไม่ได้เป็นรหัสจำนวนมากสำหรับสถานการณ์ที่เกิดไฟไหม้และลืม

เมื่อคุณสร้างประสบการณ์JavaScript ที่ไม่เป็นการรบกวน (โดยปกติจะเป็นการปรับปรุงหน้าเท่านั้น) สิ่งนี้ทำงานได้ดีมากและต้องใช้รหัสน้อยมาก เมื่อคุณสร้างGoogle เอกสาร ... ไม่มาก คุณจะต้องการแนวความคิด OOP เพิ่มเติมที่โครงการอื่นเปิดเผยเช่นการสืบทอดกลไกอินเทอร์เฟซ ฯลฯ ...

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.