If you're seeing this message, it means we're having trouble loading external resources on our website.

Եթե գտնվում ես վեբ զտիչի հետևում, խնդրում ենք համոզվել, որ *.kastatic.org և *.kasandbox.org տիրույթները հանված են արգելափակումից։

Հիմնական նյութ

JavaScript-ի որ գրադարանը պետք է օգտագործես

Կան հսկայական քանակությամբ գրադարաններ, և ցանկացած ֆունկցիոնալության համար, հավանական է, որ բազմակի գրադարանների կհանդիպես, որոնք իրականացնում են այդ գործառույթը: Ինչպես նաև կան տվյալների ընտրության բազմաթիվ գրադարաններ և հոդվածներ, ինչպիսին, օրինակ՝ սա է. "Top 15 jQuery DatePickers", որոնք օգնում են ծրագրավորողներին ընտրություն կատարել։
Սակայն չափազանց շատ տարբերակների առկայության դեպքում ծրագրավորողները դժվարանում են որոշում կայացնել։ Ինչպե՞ս կարող ենք իմանալ, թե որն է ամենալավը։ Ի՞նչ կպատահի, եթե սխալ ընտրություն կատարենք։
Հիմնականում չկա միայն մեկ "best choice"(ամենալավ տարբերակ) ծրագրավորման ոլորտում։ Սակայն միանշանակ կան ավելի նախընտրելի տարբերակներ, և ստորև ներկայացված նկատառումներին ուշադրություն դարձնելով՝ կարող ես ավելի լավ ընտրություն կատարել:
Քանի որ JavaScript գրադարանը հաճախ օգտագործվում է, երբ ծրագրում ենք օգտատիրոջն ուղղված արտադրանք, այս նկատառումները կգոհացնեն երկու լսարանների՝ ծրագրավորողներին, որոնք պետք է կոդավորեն և պահպանեն այդ կոդը, որը գրադարանն է օգտագործում (ինչպես որ քո դեպքում), և օգտատերերը, որոնք կշփվեն նրանց հետ։

Դա հաջողակ ծրագրավորման փորձարկում է արդյոք

  • Well documented (Լավ փաստագրված)։ Ֆունկցիայի հղումը, փաստացի օգտագործման ցուցադրությունը և ավելի շատ պատմողական ուղեցույց փնտրելը պետք է բավականաչափ հեշտ լինի։ Եթե գրադարանը չունի որևէ փաստաթղթավորում, ապա դա նշան է, որ վերջինս ծրագրավորողներին հարմար տարբերակ չէ։
  • Flexible (Ճկուն)։ Փաստաթղթավորման ցուցադրությունները միգուցե ունենան հրաշալի տեսք, սակայն հնարավոր է, որ գրադարանը օգտագործեն մի փոքր այլ կերպ՝ ի տարբերություն մյուս ցուցադրությունների։ Փնտրիր ճկունության նշաններ։ Ավելի հե՞շտ է ուղարկել կոնֆիգուրացիայի տարբերակներ։ Կա՞ վավերագրված plugin (միացման տեսք)։ Այն խթանո՞ւմ է տարբեր պատահույթների ստեղծմանը, որտեղ կարող ես տեղադրել քո կոդը։
  • Actively maintained (Ակտիվ պահպանում)։ Բրաուզերները հաճախ են փոխվում։ Լավ աշխատող գրադարանները կարող են հանկարծակի դադարել աշխատել, որովհետև դրանք հիմված են եղել բրաուզերի ինչ-որ հստակ օպերացիոն համակարգի վրա, որը այժմ միգուցե փոխվել է։ Սա հատկապես ստույգ է հետևյալ դեպքում. HTML5 shims and polyfills, որովհետև բրաուզերները հաճախ են թողարկում HTML5 տարրերի նոր՝ բարելավված տարբերակներ։ Կարող ես պարզել, թե երբ է վերջին անգամ գրադարանը թարմացվել՝ ստուգելով տվյալները այստեղ՝ changelog: Եթե մուտքի տվյալների փոխումը (changelog) չկա, և գրադարանը հոսթ է արված (ցուցադրված) բաց կոդի պահեստում, ինչպես, օրինակ՝ Github-ը, ապա կարող ես ստուգել կատարման վերջին ամսաթիվը։
  • Future thinking (Հետագա պատկերացումներ)։ Եթե փնտրում ես HTML5 "shim", ապա նախընտրելի է ընտրել "polyfill" (պոլիֆիլ), որը API-ը նմանակող shim է(գրադարան, որը միջամտում է API- ի կանչերին և փոփոխում է ընդունված փաստարկները)։ Տեսականորեն, եթե բոլոր օգտատերերը օգտագործեին այնպիսի բրաուզերներ, որոնք հիմնված էին տեխնոլոգիայի վրա, կկարողանայիր դադարեցնել գրադարանի օգտագործումը ամբողջությամբ՝ առանց կոդերիցդ որևէ մեկի փոոփոխման։ Օրինակ, եթե օգտագործում ես գրադարան, որպեսզի քո կայքէջում կարողանաս տեսանյութերից օգտվել, ապա օգտագործիր polyfill , որի միջոցով կկարողանաս կիրառել HTML5 video թեգը, որն էլ կփոխարինի այն fallback տեխնոլոգիայով, ինչպես, օրինակ՝ Flash-ը ավելի հին բրաուզերներում։
  • Tested (Թեստավորված)։ Բոլոր լավ գրադարանները պետք է ներառեն իրենց ֆունկցիոնալությունը ստուգող թեստեր։ Երբ գրադարանը ստուգվում է, ապա կարող ես վստահ լինել, որ գրադարանի նոր տարբերակներում որոշակի հետընթաց համատեղելիություն կլինի։
  • Clean code (Մաքուր կոդ)։ Կարող ենք բաց կոդով գրադարանների հետ վարել՝ ասես սև արկղերի, և նրանց ներքինը չուսումնասիրել, բայց երբեմն կարիք կլինի զննել գրադարանի ներսը՝ նոր ֆունկցիոնալություն ավելացնելու կամ որևէ խնդիր վրիպազերծելու համար։ Նայիր կոդին և տես, թե որքան հեշտ է այն կարդացվում, և արդյոք առկա են կարմիր նշումներ, ինչպես, օրինակ՝ երկար տողեր՝ լի մեկնաբանված կոդերով։
  • Responsive community (Արձագանքող համայնք): Հավանաբար կառաջանան տարբեր հարցեր, և կհանդիպես տարբեր խնդիրների, որոնք, ամենայն հավանականությամբ, կլուծես ծրագրավորողների՝ կոդերը ստեղծողների կամ օգտատերերի հետ միասին։
Եթե գրադարանը հոսթ է արված (ցուցադրված) փոփոխությունների կառավարման կայքում, ինչպես, օրինակ՝ Github-ն է, ապա կարող ես ուսումնասիրել հետևյալը.
  • Number of forks (Ճյուղավորումների քանակը): Բազմաթիվ ճյուղավորումների կամ աստղերի առկայությունը նշանակում է, որ շատ ծրագրավորողներ բավականաչափ մտածել են գրադարանները ճյուղավորելու համար։ Սա, իհարկե, չի նշանակում, որ վերջիններս կօգնեն քեզ, բայց դա լավ սկիզբ է։ Մեծ գրադարանները հաճախ հազարավոր ճյուղավորումներ են պարունակում, իսկ ավելի փոքրերը ունեն հարյուրավոր կամ տասնյակ ճյուղավորումներ։
  • Number of issues (Առաջացած խնդիրների քանակը)։ Կա՞ն բազմաթիվ բաց հարցեր։ Դա նշանակում է, որ ընդհանուր համայնքի հետ կապ և հարց ու պատասխան չկա, որն էլ կլուծեր խնդիրները։ Դա նաև նշանակում է, որ այն, ինչ ստեղծում ես, բավականին հայտնի նախագիծ է, որն իր մեջ ներառում է բարելավման տարբեր մտքեր, այսպիսով՝ անցիր հաջորդ կետին։
  • Vibe on issues (Խնդիրների վիճակը)։ Մի քանի խնդիր աչքի անցկացրու և հարցումներ կատարիր։ Արդյո՞ք կոդ ստեղծողները ընդունում են մեկնաբանությունները։ Պատասխանո՞ւմ են օգտագործման հետ կապված հարցերին։ Խոսակցություններում տիրում է դրակա՞ն, թե՞ բացասական մթնոլորտ։
  • External community (Արտաքին համայնքը)։ Գրադարանի վերաբերյալ հարցերին պատասխանե՞լ են են StackOverflow-ում։ Կա՞ն գրադարաններ, որ կառուցվել են գրադարանի վերևի հատվածում։ Շատ փոքր գրադարանները բավականաչափ տարածք չունեն, որպեսզի ներառեն տեսանելի արտաքին համայնք, սակայն մեծ գրադարանները, ինչպես, օրինակ՝ Modernizr-ը կամ Backbone-ը, բավականաչափ մեծ տարածք ունեն, և դա կարևոր խթան է հանդիսանում, որպեսզի օգտագործենք վերջիններս։ Կարող ես համացանցում փնտրել ցանկացած գրադարանի անունը և տեսնել՝ ինչպիսի արդյունքներ են հայտնվում։

Դա լավ փորձ կլինի՞ օգտատիրոջ համար

Եթե JavaScript գրադարանը չի ստեղծում UI բաղադիրչ, ապա մի քանի դրույթներ էական դեր ունեն։
  • File size (Նիշքի չափը)։ Որքա՞ն JavaScript քո օգտատերերը պետք է ներբեռնեն՝ կախված նիշքի չափից։ Համատեքստում, gzipped/կրճատած և minified /փոքրացված Query-ն 18 հազար է և Select2-ը՝ 7 հազար։
  • Performance (Կատարումը)։ Չափից բացի, JavaScript գրադարանի այլ ասպեկտները կարող են ազդել նրա կատարողականության վրա, օրինակ, եթե այն ծանր DOM պարզեցումներ կատարի, գրաֆիկների թարգմանում, հաշվարկում, կանչերի միաժամանակյա պահպանում և այլն։ Կատարողականության լավ տեսակներ փնտրիր փաստաթղթավորման մեջ և, իհարկե, փորձարկիր։
  • Browser support (Բրաուզերի աջակցում)։ Ստուգիր, որ այն ընդունի բոլոր այն բրաուզերները, որոնք նախընտրում ես։ Մեր օրերում շատ գրադարաններ նպատակայնորեն չեն ընդունում հին բրաուզերներ (որը քո կայքէջը միգուցե պետք է ընդունի), որովհետև դրանք ստեղծված են միայն բջջային բրաուզերների համար և շատ թեթև են։
  • Accessibility (Հասանելիություն)։ UI բաղադրիչների համար ստեղծված շատ գրադարաններ հրաշալի տեսք ունեն, սակայն դրանք հասանելի չեն (լավ չեն աշխատում տեսողության հետ խնդիրներ ունեցող օգտատերերի համար)։ Վերջինս արագ ստուգելու համար կարող ես WAVE-ը տեղադրել գրադարանի ցուցադրման էջում։
  • Responsive (Արագ արձանանք)։ Եթե քո օգտատերերը օգտագործեն UI բաղադրիչը գրադարանից բջջային բրաուզերում, ապա այն, ամենայն հավանականությամբ, լավ կաշխատի։ Կոճակները բավականաչափ մե՞ծ են։ Օգտագործվո՞ւմ են հպման պատահույթներ։ Համապատասխանո՞ւմ է այն փոքր էկրանների չափերին։
Եթե բոլոր չափանիշները հաշվի ես առել և դեռևս չես կարողանում որոշել, թե այս բազմաթիվ գրադարաններից որն ընտրես, ապա միգուցե փորձես կանչել ընկերոջ օգնություն. հարցրու գործընկերներիդ կամ ծրագրավորող ընկերներիդ, թե ինչ գրադարաններ են նրանք օգտագործում։ Միգուցե պարզես մի ամբողջ խմբի նախընտրելի տարբերակները։
Հիշիր։ Չկա պարզապես մեկ ճիշտ պատասխան, և չկա պարզապես մեկ ամենալավ տարբերակ։ Ինչպես նաև պարտադիր չէ կրկնել բոլոր JavaScript գրադարանները, որոնք կարծում ես, որ օգտագործելու ես՝ հատկապես, եթե աշխատում ես քո սեփական նախագծերի վրա։ Կարող ես պարզապես ընտրել մի գրադարան և օգտագործելու ընթացում պարզես, թե ինչն է քեզ գրավում այդ գրադարանում։ Այս կերպ կսկսես մտովի մի ցուցակ ստեղծել, որոնք կներառեն քո նախընտրելի գրադարանները, և, իհարկե, քո սեփական չափորոշիչները կձևավորես դրանց վերաբերյալ, ինչն էլ կօգնի քեզ հետագա որոշումների և քայլերի ընթացքում։

Ուզո՞ւմ ես միանալ խոսակցությանը։

Առայժմ հրապարակումներ չկան։
Անգլերեն հասկանո՞ւմ ես: Սեղմիր այստեղ և ավելի շատ քննարկումներ կգտնես «Քան» ակադեմիայի անգլերեն կայքում: