ประวัติ jQuery และมรดก

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

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

ประวัติโดยย่อของ jQuery

จอห์น รีซิก (จอห์นเรซิก) สร้างไลบรารีเวอร์ชันแรกในปี 2005 และ ตีพิมพ์ในปี 2006-m ในงาน BarCampNYC บน เว็บไซต์อย่างเป็นทางการของ jQuery ผู้เขียนเขียนว่า:

jQuery เป็นไลบรารี Javascript ตามคำขวัญ: Javascript ควรเป็นเรื่องสนุกในการเขียนโค้ด jQuery ใช้งานทั่วไปที่ซ้ำซ้อน ตัดมาร์กอัปที่ไม่จำเป็นออกทั้งหมด และทำให้งานเหล่านั้นสั้น สวยงาม และสะอาดตา

jQuery มีข้อดีหลักสองประการ อย่างแรกคือ API ที่สะดวกสำหรับการจัดการหน้าเว็บ โดยเฉพาะอย่างยิ่งมีวิธีการที่มีประสิทธิภาพในการเลือกองค์ประกอบ ไม่เพียงแต่คุณสามารถเลือกตาม ID หรือคลาสเท่านั้น jQuery ยังช่วยให้คุณสามารถเขียนนิพจน์ที่ซับซ้อนได้ ตัวอย่างเช่น เพื่อเลือกองค์ประกอบตามความสัมพันธ์กับองค์ประกอบอื่น ๆ:

// Select every item within the list of people within the contacts element
$('#contacts ul.people li');

เมื่อเวลาผ่านไป กลไกการคัดเลือกก็กลายเป็นห้องสมุดที่แยกจากกัน เสียงแฉ่ ๆ.

ข้อได้เปรียบประการที่สองของไลบรารีคือสามารถแยกความแตกต่างระหว่างเบราว์เซอร์ได้ ในช่วงหลายปีที่ผ่านมา การเขียนโค้ดที่สามารถทำงานได้อย่างน่าเชื่อถือในทุกเบราว์เซอร์เป็นเรื่องยาก

การขาดมาตรฐานหมายความว่านักพัฒนาจำเป็นต้องคำนึงถึงความแตกต่างมากมายระหว่างเบราว์เซอร์และเคส Edge ลองดูที่ ซอร์สโค้ด jQuery ยุคแรกนี้ และค้นหา jQuery.browser นี่คือตัวอย่างหนึ่ง:

// If Mozilla is used
if ( jQuery.browser == "mozilla" || jQuery.browser == "opera" ) {
        // Use the handy event callback
        jQuery.event.add( document, "DOMContentLoaded", jQuery.ready );

// If IE is used, use the excellent hack by Matthias Miller
// http://www.outofhanwell.com/blog/index.php?title=the_window_onload_problem_revisited
} else if ( jQuery.browser == "msie" ) {

        // Only works if you document.write() it
        document.write("<scr" + "ipt id=__ie_init defer=true " + 
                "src=javascript:void(0)></script>");

        // Use the defer script hack
        var script = document.getElementById("__ie_init");
        script.onreadystatechange = function() {
                if ( this.readyState == "complete" )
                        jQuery.ready();
        };

        // Clear from memory
        script = null;

// If Safari  is used
} else if ( jQuery.browser == "safari" ) {
        // Continually check to see if the document.readyState is valid
        jQuery.safariTimer = setInterval(function(){
                // loaded and complete are both valid states
                if ( document.readyState == "loaded" || 
                        document.readyState == "complete" ) {

                        // If either one are found, remove the timer
                        clearInterval( jQuery.safariTimer );
                        jQuery.safariTimer = null;

                        // and execute any waiting functions
                        jQuery.ready();
                }
        }, 10);
}

และต้องขอบคุณ jQuery ที่ทำให้นักพัฒนาสามารถเปลี่ยนความกังวลเกี่ยวกับข้อผิดพลาดเหล่านี้ไปเป็นภาระของทีมพัฒนาห้องสมุดได้

ต่อมา jQuery ทำให้การนำเทคโนโลยีที่ซับซ้อนมากขึ้นไปใช้ เช่น แอนิเมชั่นและ Ajax เป็นเรื่องง่ายยิ่งขึ้น ไลบรารีได้กลายเป็นแหล่งอ้างอิงมาตรฐานสำหรับเว็บไซต์อย่างมีประสิทธิภาพ และในปัจจุบันนี้มีส่วนขับเคลื่อนส่วนแบ่งมหาศาลของอินเทอร์เน็ต W3Techs เชื่อเช่นนั้น 74% ของเว็บไซต์ในปัจจุบันใช้ jQuery.

การควบคุมการพัฒนา jQuery ก็มีความเป็นทางการมากขึ้นเช่นกัน เมื่อปี 2011 ทีมงาน สร้างบอร์ด jQuery. และในปี 2012 jQuery Board เปลี่ยนเป็นมูลนิธิ jQuery.

ในปี 2015 มูลนิธิ jQuery ได้รวมเข้ากับมูลนิธิ Dojo เพื่อสร้างมูลนิธิเจเอสซึ่งต่อมาได้รวมเข้ากับ Node.js Foundation เข้าไป 2019-m เพื่อสร้าง มูลนิธิ OpenJSซึ่งภายใน jQuery เป็นหนึ่งใน “โครงการที่ก้าวหน้า".

สถานการณ์ที่เปลี่ยนแปลง

อย่างไรก็ตาม ในช่วงไม่กี่ปีที่ผ่านมา jQuery สูญเสียความนิยมไป. GitHub ลบไลบรารีออกจากส่วนหน้าของไซต์ของฉัน. บูทสแตรป v5 กำจัด jQueryเพราะมันเป็นของเขา"การพึ่งพาไคลเอนต์ที่ใหญ่ที่สุดสำหรับ JavaScript ปกติ"(ปัจจุบันมีขนาด 30 KB ย่อขนาดและแพ็ก) แนวโน้มหลายประการในการพัฒนาเว็บทำให้จุดยืนของ jQuery ในฐานะเครื่องมือสำคัญอ่อนแอลง

เบราว์เซอร์

ด้วยเหตุผลหลายประการ ความแตกต่างและข้อจำกัดของเบราว์เซอร์จึงมีความสำคัญน้อยลง ประการแรก มีการปรับปรุงมาตรฐาน นักพัฒนาเบราว์เซอร์รายใหญ่ (Apple, Google, Microsoft และ Mozilla) กำลังทำงานร่วมกันเพื่อพัฒนา มาตรฐานเว็บ ภายใน คณะทำงานเทคโนโลยีแอปพลิเคชันไฮเปอร์เท็กซ์เว็บ.
แม้ว่าเบราว์เซอร์จะยังคงมีความแตกต่างกันในหลายๆ วิธีที่สำคัญ แต่อย่างน้อยผู้ขายก็มีวิธีในการค้นหาและสร้างฐานข้อมูลทั่วไปแทน สงครามถาวร ด้วยกัน. ด้วยเหตุนี้ API ของเบราว์เซอร์จึงได้รับความสามารถใหม่ๆ เช่น, เรียก API สามารถแทนที่ฟังก์ชัน Ajax จาก jQuery:

// jQuery
$.getJSON('https://api.com/songs.json')
    .done(function (songs) {
        console.log(songs);
    })

// native
fetch('https://api.com/songs.json')
    .then(function (response) {
        return response.json();
    })
    .then(function (songs) {
        console.log(songs);
    });

วิธีการ ตัวเลือกแบบสอบถาม и ข้อความค้นหาตัวเลือกทั้งหมด ตัวเลือก jQuery ที่ซ้ำกัน:

// jQuery
const fooDivs = $('.foo div');

// native
const fooDivs = document.querySelectorAll('.foo div');

ตอนนี้คุณสามารถจัดการคลาสองค์ประกอบโดยใช้ คลาสลิสต์:

// jQuery
$('#warning').toggleClass('visible');

// native
document.querySelector('#warning').classList.toggle('visible');

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

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

เหตุผลที่สองคือเบราว์เซอร์ได้รับการอัปเดตเร็วกว่าเมื่อก่อนมาก ส่วนใหญ่ใช้ กลยุทธ์การต่ออายุ "เอเวอร์กรีน"ยกเว้น Apple Safari สามารถอัปเดตในเบื้องหลังได้โดยไม่ต้องให้ผู้ใช้มีส่วนร่วม และไม่เชื่อมโยงกับการอัปเดตระบบปฏิบัติการ

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

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

ในปี 2016 Microsoft ได้เร่งการเลิกใช้งาน IE จะหยุดสนับสนุน เวอร์ชันสิบและก่อนหน้า ซึ่งจำกัดการสนับสนุนเฉพาะ IE 11 และยิ่งนักพัฒนาเว็บมีความหรูหราในการเพิกเฉยต่อความเข้ากันได้ของ IE

แม้แต่ jQuery ก็หยุดรองรับ IE 8 และต่ำกว่าตั้งแต่นั้นเป็นต้นมา เวอร์ชัน 2.0เผยแพร่ในปี 2013 และแม้ว่าในบางกรณียังจำเป็นต้องมีการสนับสนุน IE เช่นในไซต์เก่า ๆ แต่สถานการณ์เหล่านี้เกิดขึ้นไม่บ่อยนัก

กรอบการทำงานใหม่

นับตั้งแต่ jQuery ถือกำเนิดขึ้น ก็มีการสร้าง framework มากมาย รวมถึงผู้นำยุคใหม่ด้วย เกิดปฏิกิริยา, เชิงมุม и ดู. พวกเขามีข้อดีที่สำคัญกว่า jQuery สองประการ

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

ในทางกลับกัน ส่วนประกอบ React, Angular และ Vue ช่วยให้คุณสามารถจับคู่ HTML, โค้ดและแม้แต่ CSS ได้อย่างแน่นหนา เช่นเดียวกับที่เราแบ่งฐานโค้ดออกเป็นฟังก์ชันและคลาสที่มีอยู่ในตัวเอง ความสามารถในการแบ่งอินเทอร์เฟซออกเป็นส่วนประกอบที่นำมาใช้ซ้ำได้ทำให้การสร้างและบำรุงรักษาไซต์ที่ซับซ้อนทำได้ง่ายขึ้น

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

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

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

เมื่อใดจึงควรใช้ jQuery?

ดังนั้นเมื่อ ควร ใช้ jQuery?

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

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

อีกด้านหนึ่งของมาตราส่วนคือไซต์ธรรมดาๆ ที่ต้องการการโต้ตอบหรือเนื้อหาแบบไดนามิกเพียงเล็กน้อยเท่านั้น ฉันจะไม่ตั้งค่าเริ่มต้นเป็น jQuery ในกรณีเหล่านี้เช่นกัน เนื่องจากมีอีกมากมายที่คุณสามารถทำได้กับ Native API

แม้ว่าฉันต้องการบางสิ่งที่ทรงพลังกว่านี้ แต่ฉันก็จะมองหาห้องสมุดเฉพาะเช่น Axios สำหรับอาแจ็กซ์หรือ Animate.css สำหรับภาพเคลื่อนไหว วิธีนี้จะง่ายกว่าการโหลด jQuery ทั้งหมดสำหรับฟังก์ชันเล็กๆ

ฉันคิดว่าเหตุผลที่ดีที่สุดสำหรับการใช้ jQuery ก็คือมันมีฟังก์ชันการทำงานที่ครอบคลุมสำหรับส่วนหน้าของเว็บไซต์ แทนที่จะเรียนรู้ API ดั้งเดิมหรือไลบรารีเฉพาะทางที่หลากหลาย คุณสามารถอ่านแค่เอกสาร jQuery และทำงานได้อย่างมีประสิทธิภาพทันที

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

นอกจากนี้ jQuery ยังดีหากคุณมั่นใจว่าไซต์ของคุณจะไม่ซับซ้อนเมื่อเวลาผ่านไป และหากคุณไม่สนใจฟังก์ชันการทำงานแบบเนทิฟ ซึ่งแน่นอนว่าจะต้องเขียนโค้ดมากกว่า jQuery

คุณยังสามารถใช้ไลบรารีนี้ได้หากต้องการรองรับ IE เวอร์ชันเก่า จากนั้น jQuery จะให้บริการคุณเหมือนที่เคยทำในสมัยที่ IE เป็นเบราว์เซอร์ที่ได้รับความนิยมมากที่สุด

มองไปสู่อนาคต

jQuery จะไม่หายไปในเร็วๆ นี้ เธอ การพัฒนาอย่างแข็งขันและนักพัฒนาจำนวนมากต้องการใช้ API ของตน แม้ว่าจะมีวิธีการดั้งเดิมก็ตาม ไลบรารีได้ช่วยนักพัฒนารุ่นต่อรุ่นสร้างเว็บไซต์ที่ทำงานบนเบราว์เซอร์ใดก็ได้ แม้ว่าไลบรารี เฟรมเวิร์ก และกระบวนทัศน์ใหม่จะเข้ามาแทนที่ในหลาย ๆ ด้าน แต่ jQuery ก็มีบทบาทเชิงบวกอย่างมากในการสร้างเว็บสมัยใหม่

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

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

ที่มา: will.com

เพิ่มความคิดเห็น