როდესაც თქვენ ყიდულობთ ჩვენს საიტზე ბმულების საშუალებით, ჩვენ შეიძლება მივიღოთ შვილობილი საკომისიო. აი, როგორ მუშაობს.

როდესაც jQuery პირველად დაინერგა, მან შეცვალა სამყარო. ეს გვაძლევდა ყველა შესაძლებლობას მივმართოთ ელემენტები გვერდზე JavaScript-დან, როგორც ეს CSS-ში შეგვეძლო. არა მხოლოდ ეს, არამედ მოგვცა API ამ ელემენტებისთვის, რომელიც ბრაუზერს ჰქონდა მილი წინ. ჩვენ შეგვიძლია დავმალოთ ისინი, დავამატოთ და წავშალოთ კლასები და კიდევ დავწეროთ ჩვენი საკუთარი დანამატები უპრეცედენტო რამის გასაკეთებლად.

ის ასევე მალავდა ჩვენგან ბრაუზერების იმ ეპოქასთან გამკლავების სირთულეს. უმტკივნეულო გამოსწორების გზით, ყველა სხვადასხვა შეცდომა, რომელიც შედიოდა ამ ბრაუზერში, დამუშავდა, სანამ არ იქნებით დარწმუნებული, რომ თუ რამე გაკეთდება jQuery-ით, ის იმუშავებს.

ძალიან დიდი ხნის წინ, jQuery გახდა ინტერნეტის ხალხური ენა. უამრავმა ადამიანმა ისწავლა ეს მანამ, სანამ თავად DOM-ს ისწავლიდნენ: ის ნაგულისხმევი დამოკიდებულება გახდა ყველა ბიბლიოთეკაში და ხელსაწყოში. jQuery ყოველთვის იყო.

მაგრამ ყველაფერი მას შემდეგ განვითარდა. jQuery აყვავდა იმ დროს, როდესაც ბრაუზერები გატეხილი იყო და ნელა იცვლებოდა, მაგრამ ეს თავად იცვლება.

IE8-დან მოყოლებული ბრაუზერებში შედის document.querySelector მეთოდი, რომელიც გვაძლევს jQuery-ის მკვლელობის ყველა მახასიათებელს. IE9 მოგვცა დაამატეთEventListener, გვათავისუფლებს დააწკაპუნეთ და მაუსის თავზე. IE10-ში JavaScript პროგრამისტებს მიენიჭათ კლასის სია ობიექტი, რომელიც საშუალებას გვაძლევს დავამატოთ და წავშალოთ კლასები რთული სტრიქონების მანიპულაციის გარეშე.

და ეს არის ყველა იმ გასაოცარ რამეზე შეხების გარეშე, რისი გაკეთებაც CSS-ს შეუძლია ჯავასკრიპტის გარეშე. CSS საბოლოოდ ხდება საკმარისად ძლიერი, რათა მართლაც ხელი შეუწყოს JavaScript ლოგიკის გამოყოფას მისი პრეზენტაციისგან. თანამედროვე ბრაუზერებში კლასებს შეუძლიათ წარმოადგინონ მდგომარეობა, რომელშიც არის და CSS-ს შეუძლია განსაზღვროს რას ნიშნავს ეს ვიზუალურად – მაგრამ ამას ვერ გააკეთებთ, თუ თქვენი კოდი სავსეა ზარებით. დამალვა ().

და ამ ყველაფრის გარდა, არის ახალი, ძლიერი API-ები, რომლებზეც დამოუკიდებლად წვდომა არ შეგიძლიათ jQuery-ის საშუალებით: ისეთი რამ, როგორიც არის ახალი MutationObserver და WebRTC, მოითხოვს, რომ თავად ესაუბროთ ბრაუზერს. და, თურმე, ეს არც ისე ცუდია.

გამოიყენეთ იგი: ნუ იქნებით მასზე დამოკიდებული

ჩვენ შეიძლება აღარ გვჭირდება jQuery, მაგრამ რა ზიანს აყენებს მის გამოყენებას, თუ ეს გაადვილებს თქვენს საქმეს? არ არსებობს! განაგრძეთ jQuery-ის გამოყენება თქვენი საიტებისა და აპების შესაქმნელად. მაგრამ თუ თქვენ აშენებთ ბიბლიოთეკას, იფიქრეთ იმაზე, რომ არ გადააქციოთ იგი დამოკიდებულებად.

რატომ? რადგან jQuery არის დიდი, მონოლითური ბიბლიოთეკა. იგი მოიცავს Ajax-ს, DOM-ის მანიპულირებას და შერჩევას, მოვლენებს, დაპირებებს, ეფექტებს და კომუნალურ პროგრამებს. ამ ყველაფრის ერთ პაკეტში ქონა ყველას გვბლოკავს საქმეების კეთების jQuery ხერხში – რომელიც ასევე არის საქმის კეთების 10 წლიანი გზა.

ალტერნატიული გადაწყვეტილებები

რა შეგვიძლია გამოვიყენოთ ამის ნაცვლად? აკეთებს ბრწყინვალე საქმეებს მიჯაჭვული დაპირებებით და გამონაკლისების დამუშავებით. CSS ანიმაციები ბევრად უფრო გლუვია, ვიდრე ყველაფერი, რისი გაკეთებაც შეგიძლიათ JavaScript-ით. მალე, მორგებული ელემენტები აპირებენ უზრუნველყონ მრავალჯერადი გამოყენების კომპონენტების აშენების საუკეთესო გზა. თუ ჩვენ ვცხოვრობთ სამყაროში, სადაც შეგიძლიათ აირჩიოთ და აირჩიოთ რომელი DOM მანიპულაციის ბიბლიოთეკა გსურთ, ან გსურთ თუ არა გამოიყენოთ RSVP.js ან Q დაპირებისთვის, ჩვენ შეგვიძლია მივიღოთ უკეთესი ღია კოდის გადაწყვეტილებები ყველა ამ პრობლემისთვის.

ამ ყველაფრის გარდა, jQuery დანამატის სტილი ათავსებს თქვენს ყველა ბიბლიოთეკას იმავე, მუდმივად მზარდ სახელთა სივრცეში. Ყველაფერი არის $(el).colorPicker(), ან $(el).რჩეული(). ეს კარგად არ არის დაკავშირებული მომავალთან, რომელშიც ჩვენ გვაქვს რეალური მოდულები. მოდულები საშუალებას მოგვცემს განვასხვავოთ ჩვენი დამოკიდებულებები და შევქმნათ ოპტიმიზირებული ნაგებობები უფრო მარტივად. იყენებთ Browserify-ს, RequireJS-ს თუ ECMAScript 6-ით დამატებულ მოდულებს, ეს მომავალია. ერთი, გლობალური სახელთა სივრცე არ არის.

მაშ, როგორ მივაღწიოთ ამ მამაც ახალ სამყაროს? პირველი ნაბიჯი არის ყველა ბიბლიოთეკისთვის, რომელიც ჩვენ გვჭირდება, გავათავისუფლოთ მათი სიკვდილი jQuery-ზე. თუ ისინი გახდებიან დამოკიდებულებისგან თავისუფალი, ჩვენ შეგვიძლია წარმოვიდგინოთ თანამედროვე ვებ აპლიკაციის აშენება მის გარეშე.

არსებობს ერთი მნიშვნელოვანი გაფრთხილება: თუ თქვენ მიმართავთ ძველ ბრაუზერებს, მათ შორის IE6 და 7 ან Android 2.3, თქვენ ჯერ არ ხართ მზად ამ მამაცი ახალი სამყაროსთვის. ისიამოვნეთ jQuery საზღვრამდე და იოცნებეთ მომავალზე, როდესაც საბოლოოდ შეძლებთ ბრაუზერის ენაზე საუბარი.

სიტყვები: ზაკ ბლუმი

ზაკ ბლუმი თანადამფუძნებელი მონდომებული.ioდა მუშაობს იმისთვის, რომ ღია კოდის ინსტრუმენტები ყველასთვის ხელმისაწვდომი გახდეს. Მან შექმნა YouMightNotNeedjQuery.com თავის მეგობართან ერთად ადამ შვარცი. ეს სტატია თავდაპირველად გამოჩნდა net ჟურნალი ნომერი 255.