jQuery -
ነገር ግን ከቅርብ ዓመታት ወዲህ ለድር ልማት ዋና መሣሪያነት ደረጃው ተሸርሽሯል። jQuery ለምን ተወዳጅ ሆነ እና ለምን ፋሽን እንደወጣ እና እንዲሁም በምን ጉዳዮች ላይ ዘመናዊ ድረ-ገጾችን ለመፍጠር አሁንም መጠቀም ተገቢ እንደሆነ እንይ።
የ jQuery አጭር ታሪክ
ጆን ሬሲግ (እ.ኤ.አ.
jQuery በሚለው መሪ ቃል ላይ የተመሰረተ የጃቫስክሪፕት ቤተ-መጽሐፍት ነው፡ ጃቫ ስክሪፕት ኮድ ማድረግ አስደሳች መሆን አለበት። jQuery የተለመዱ፣ ተደጋጋሚ ስራዎችን ይወስዳል፣ ሁሉንም አላስፈላጊ ምልክቶችን ያስወግዳል እና አጭር፣ የሚያምር እና ንጹህ ያደርጋቸዋል።
jQuery ሁለት ዋና ጥቅሞች አሉት. የመጀመሪያው ድረ-ገጾችን ለመቆጣጠር አመቺ ኤፒአይ ነው። በተለይም ንጥረ ነገሮችን ለመምረጥ ኃይለኛ ዘዴዎችን ያቀርባል. በመታወቂያ ወይም በክፍል መምረጥ ብቻ ሳይሆን jQuery ውስብስብ አገላለጾችን እንዲጽፉ ይፈቅድልዎታል ፣ ለምሳሌ ፣ ከሌሎች አካላት ጋር ባላቸው ግንኙነት መሠረት ክፍሎችን ለመምረጥ።
// Select every item within the list of people within the contacts element
$('#contacts ul.people li');
በጊዜ ሂደት, የመምረጫ ዘዴው የተለየ ቤተ-መጽሐፍት ሆነ
ሁለተኛው የቤተ መፃህፍቱ ጥቅም በአሳሾች መካከል ያለውን ልዩነት ማጠቃለሉ ነው። በእነዚያ ዓመታት በሁሉም አሳሾች ውስጥ በአስተማማኝ ሁኔታ ሊሠራ የሚችል ኮድ መጻፍ አስቸጋሪ ነበር።
ደረጃውን የጠበቀ አለመሆኑ ገንቢዎች በአሳሾች እና በጠርዝ ጉዳዮች መካከል ብዙ ልዩነቶችን ግምት ውስጥ ማስገባት አለባቸው ማለት ነው። ተመልከት
// 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 እንደ እነማ እና አጃክስ ያሉ ውስብስብ ቴክኖሎጂዎችን ተግባራዊ ለማድረግ ቀላል አድርጎታል። ቤተ መፃህፍቱ ውጤታማ በሆነ መልኩ ለድር ጣቢያዎች መደበኛ ጥገኛ ሆኗል። እና ዛሬ የበይነመረብ ከፍተኛ ድርሻን ያንቀሳቅሳል. W3Techs ያምናል።
በ jQuery ልማት ላይ ቁጥጥርም የበለጠ መደበኛ ሆኗል። በ 2011 ቡድኑ
በ2015፣ jQuery Foundation ከዶጆ ፋውንዴሽን ጋር ተዋህዷል፣
ሁኔታዎችን መለወጥ
ይሁን እንጂ በቅርብ ዓመታት 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
const fooDivs = $('.foo div');
// native
const fooDivs = document.querySelectorAll('.foo div');
አሁን በመጠቀም የንጥል ክፍሎችን ማቀናበር ይችላሉ።
// jQuery
$('#warning').toggleClass('visible');
// native
document.querySelector('#warning').classList.toggle('visible');
በጣቢያው ላይ
ቤተኛ ባህሪያትን መጠቀም የገጽ አፈጻጸምን ያሻሽላል። ብዙ
ሁለተኛው ምክንያት አሳሾች ከበፊቱ በበለጠ ፍጥነት ይሻሻላሉ. አብዛኛዎቹ ይጠቀማሉ
ይህ ማለት አዲስ የአሳሽ ባህሪያት እና የሳንካ ጥገናዎች በጣም በፍጥነት ይሰራጫሉ, እና ገንቢዎች እስኪሰሩ ድረስ መጠበቅ አያስፈልጋቸውም
ሦስተኛው ምክንያት ኢንተርኔት ኤክስፕሎረር ሙሉ በሙሉ ወደማይገባበት ሁኔታ እየተቃረበ ነው. IE በዓለም ዙሪያ የድረ-ገጽ ልማት ከረዥም ጊዜ ጀምሮ ነበር። ስህተቶቹ በጣም ተስፋፍተው ነበር፣ እና IE በ2000ዎቹ ላይ ስለተቆጣጠረ እና ሁልጊዜ አረንጓዴ የማዘመን ስልት ስላልተጠቀመ፣ የቆዩ ስሪቶች አሁንም የተለመዱ ናቸው።
እ.ኤ.አ. በ 2016 ማይክሮሶፍት የ IE ን ማቋረጥን አፋጠነ ፣
jQuery እንኳን ከ IE 8 እና ከዚያ በታች መደገፍ አቁሟል
አዲስ ማዕቀፎች
ከ jQuery መምጣት ጀምሮ ዘመናዊ መሪዎችን ጨምሮ ብዙ ማዕቀፎች ተፈጥረዋል።
በመጀመሪያ የተጠቃሚውን በይነገጽ ወደ ክፍሎች ለመለየት ቀላል ያደርጉታል. ማዕቀፎች የተነደፉት የገጽ አተረጓጎም እና ማዘመንን ለመቆጣጠር ነው። እና jQuery አብዛኛውን ጊዜ ለማዘመን ብቻ ጥቅም ላይ ይውላል, የመጀመሪያውን ገጽ ለአገልጋዩ የማቅረብ ተግባር ይተዋል.
በሌላ በኩል፣ React፣ Angular እና Vue ክፍሎች ኤችቲኤምኤልን፣ ኮድን እና ሲኤስኤስን ሳይቀር እንዲያጣምሩ ያስችሉዎታል። የኮድ መሰረቱን ወደ ብዙ የራስ-ተኮር ተግባራት እና ክፍሎች እንደምንከፋፈለው ሁሉ በይነገጹን እንደገና ጥቅም ላይ በሚውሉ ክፍሎች የመከፋፈል ችሎታ ውስብስብ ቦታዎችን ለመገንባት እና ለመጠገን ቀላል ያደርገዋል።
ሁለተኛው ጥቅም በጣም የቅርብ ጊዜ ማዕቀፎች ገላጭ ዘይቤን ያከብራሉ ፣ በዚህ ውስጥ ገንቢው በይነገጹ ምን መምሰል እንዳለበት ይገልፃል እና የሚፈለገውን ለማሳካት ሁሉንም አስፈላጊ ለውጦችን ለማድረግ ወደ ማዕቀፉ ይተወዋል። ይህ አካሄድ የ jQuery ኮድን ከሚገልጸው አስገዳጅ አካሄድ ጋር የሚቃረን ነው።
በ jQuery ውስጥ ማንኛውንም ለውጦች ለማድረግ ደረጃዎቹን በግልጽ ይጽፋሉ። እና በማወጅ ማዕቀፍ ውስጥ "በዚህ መረጃ መሰረት, በይነገጹ ይህን መምሰል አለበት." ይህ ከስህተት የጸዳ ኮድ መጻፍ በጣም ቀላል ያደርገዋል።
ገንቢዎች ለድር ጣቢያ ልማት አዳዲስ አቀራረቦችን ወስደዋል፣ ለዚህም ነው የ jQuery ተወዳጅነት የቀነሰው።
jQuery መቼ መጠቀም ይቻላል?
ታዲያ መቼ ይገባል jQuery ይጠቀሙ?
የፕሮጀክቱ ውስብስብነት ከጨመረ, ውስብስብነትን ትርጉም ባለው መልኩ ለማስተዳደር በሚያስችል ሌላ ቤተ-መጽሐፍት ወይም ማዕቀፍ መጀመር ይሻላል. ለምሳሌ, በይነገጹን ወደ ክፍሎች ይከፋፍሉት. በእንደዚህ አይነት ድረ-ገጾች ላይ jQueryን መጠቀም መጀመሪያ ላይ ጥሩ ሊመስል ይችላል ነገርግን በፍጥነት ወደ ስፓጌቲ ኮድ ያመራል የትኛው ክፍልፋይ የትኛውን የገፁን ክፍል እንደሚነካ እርግጠኛ ካልሆኑት ነው።
በእንደዚህ ዓይነት ሁኔታ ውስጥ ነበርኩ, ማንኛውንም ለውጥ ለማድረግ ስሞክር, እንደ ከባድ ስራ ይሰማኛል. የ jQuery መምረጫዎች በአገልጋዩ በሚፈጠረው የኤችቲኤምኤል መዋቅር ላይ ስለሚመሰረቱ ምንም እንደማይሰብሩ እርግጠኛ መሆን አይችሉም።
በመለኪያው ሌላኛው ጫፍ ላይ ትንሽ መስተጋብር ወይም ተለዋዋጭ ይዘት ብቻ የሚያስፈልጋቸው ቀላል ጣቢያዎች አሉ። በነዚህ ጉዳዮችም ቢሆን በ jQuery ነባሪ አላደርግም ምክንያቱም ብዙ ተጨማሪ በቤተኛ ኤፒአይዎች ማድረግ ስለሚችሉ ነው።
የበለጠ ኃይለኛ ነገር ብፈልግ እንኳ፣ ልዩ ቤተ-መጽሐፍት እፈልጋለሁ፣ ለምሳሌ.
እኔ እንደማስበው jQuery ን ለመጠቀም በጣም ጥሩው ምክንያት ለድር ጣቢያ የፊት ለፊት ክፍል ሁሉን አቀፍ ተግባራትን የሚሰጥ መሆኑ ነው። የተለያዩ ቤተኛ ኤፒአይዎችን ወይም ልዩ ቤተ-መጻሕፍትን ከመማር ይልቅ የ jQuery ዶክመንቱን ብቻ ማንበብ እና ወዲያውኑ ውጤታማ መሆን ይችላሉ።
አስፈላጊው አቀራረብ በደንብ አይለካም, ነገር ግን ከሌሎች ቤተ-መጻህፍት ገላጭ አቀራረብ ለመማር ቀላል ነው. በግልጽ የተገደበ አቅም ላለው ጣቢያ jQuery ን መጠቀም እና በረጋ መንፈስ መስራት የተሻለ ነው፡ ቤተ መፃህፍቱ ውስብስብ ስብሰባ ወይም ማጠናቀር አያስፈልገውም።
በተጨማሪም፣ ጣቢያዎ በጊዜ ሂደት እንደማይወሳሰብ እርግጠኛ ከሆኑ እና ስለ ቤተኛ ተግባር ግድ የማይሰጡ ከሆነ jQuery ጥሩ ነው።
የቆዩ የ IE ስሪቶችን መደገፍ ከፈለጉ ይህንን ቤተ-መጽሐፍት መጠቀም ይችላሉ። ከዚያ jQuery IE በጣም ታዋቂው አሳሽ በነበረበት ጊዜ እንደነበረው ያገለግልዎታል።
የወደፊቱን ይመልከቱ
jQuery በቅርቡ አይጠፋም። እሷ
የjQuery ተግባር በከፍተኛ ሁኔታ ካልተቀየረ በስተቀር፣ በሚቀጥሉት ጥቂት ዓመታት ውስጥ የቤተ-መጻህፍት አጠቃቀም ቀስ በቀስ ግን እየቀነሰ ሊቀጥል ይችላል። አዳዲስ ድረ-ገጾች ከመጀመሪያው የበለጠ ዘመናዊ ማዕቀፎችን በመጠቀም መገንባት ይቀናቸዋል፣ እና ለ jQuery ተስማሚ አጠቃቀም ጉዳዮች ከጊዜ ወደ ጊዜ ብርቅ እየሆኑ መጥተዋል።
አንዳንድ ሰዎች የድረ-ገጽ ማጎልበቻ መሳሪያዎች ጊዜ ያለፈባቸውበትን ፍጥነት አይወዱም ነገር ግን ለእኔ ፈጣን እድገት ማረጋገጫ ነው። jQuery ብዙ ነገሮችን በተሻለ ሁኔታ እንድንሰራ አስችሎናል። ለተተኪዎቿም ተመሳሳይ ነው።
ምንጭ: hab.com