autocomplete.js: galingas ir lengvas automatinis užbaigimas
autocomplete.js, tai šios dienos žodis. Norėčiau jums pristatyti automatinį užbaigimą, kurį neseniai sukūriau ir kurį dabar galite rasti projektui skirtame puslapyje bei „GitHub“ puslapyje.
Kadangi esu Symfony kūrėjas, man nuolat tenka ieškoti naujų sprendimų tiek optimizuoti savo PHP kodą, tiek sukurti draugiškesnes ir kuo lengvesnes sąsajas. Deja, šis paskutinis punktas yra neteisingas, nes čia ir ten yra scenarijų, skirtų veiksmams atlikti labiau „kikou“ nei kiti. Pastaruoju metu man prireikė paprasto nuotolinio tipo automatinio užbaigimo (AJAX). Manau, kad visi žino jQuery biblioteką. Šioje bibliotekoje galite rasti kitų įrankių rinkinių, pvz., „jQuery-UI“, siūlančių daugybę paslaugų, įskaitant automatinio užbaigimo valdiklį. Be kitų dalykų, galėsite rasti automatinį užbaigimą, kurį ką tik susiejau su jumis, ir jo garsiąją dokumentaciją, dėl kurios aš asmeniškai labai skeptiškai žiūriu į siūlomų funkcijų tinkamumą. Ir pripažinkime, kad visos funkcijos yra naudingos, jei vis tiek turėtume jas visas įvaldyti.
autocomplete.js
Tada man kilo mintis parašyti biblioteką, kuri būtų naudojama tik a automatiškai užbaigti, kuris būtų šviesa ir visų pirma kas būtų be priklausomybės ! Šis automatinis užbaigimas siūlo tik „nuotolinio“ tipo automatinio užbaigimo sprendimą. Internete gausu automatinio užbaigimo be AJAX, tačiau retai yra tokių, kurie siūlo „visą žiniatinklio“ versiją.
Ar jūsų automatinio užbaigimo funkcija tikrai lengva?
Gana paprasta apskaičiuoti tarp mūsų dviejų produktų. Siūlau greitai palyginti dviejų kodų svorius.
autocomplete.js
Tai labai lengva apskaičiuoti, automatinis užbaigimas neturi priklausomybių, o šio rašymo metu naujausia versija, kurią išleidau kaip stabilią (v 1.4.0), sveria tik 4 Kb mėnesį.
„jQuery-UI“ automatinis užbaigimas
Jam tai gana paprasta apskaičiuoti. Jei paimsime tik reikalingus valdiklius, vartotojo sąsaja sveria maždaug 34 Kb, prie kurių turime pridėti „jQuery“ priklausomybę. Priklausomai nuo pasirinktos versijos, svoris skirsis. Čia paimsiu su vartotojo sąsaja pateiktos versijos svorį, t. y. 1.11.1 versiją, kurios svoris yra 93 Kb. Tai yra 127 Ko bendras svoris, norint atlikti paprastą automatinį užbaigimą. Asmeniškai aš taip pat įsivaizduoju, kad poveikis našumui turi būti toks pat neproporcingas…
autocomplete.js yra „Plug-and-Play“.
Tai beveik atrodo kaip nepaprastai nukopijuota reklama, kurioje po šiuo terminu slepiasi pardavėjas, stebuklinga savybė. Ir ne, kaip matysite autocomplete.js dokumentacijoje, pakanka tiesiog įkelti JavaScript scenarijų, o paleisti, kai įkeliama biblioteka, scenarijų. Visa dokumentacija pateikiama autocomplete-js.com API puslapyje.
Alternatyva
Nors mano sukurtas scenarijus nėra per daug išbandytas, jis jau puikiai pasitarnavo profesionaliuose projektuose. Todėl būtų gerai, kad jQuery tipo gamykloms atsirastų alternatyvių scenarijų tiek automatiniam užbaigimui, tiek kitiems galimiems valdikliams.
Šiandien Google nesiūlo jokios alternatyvos ir ją galima pamatyti tik paieškos metu.
- „Google“ turi labai mažai „jQuery-UI“ automatinio užbaigimo atitikmenų…
- ...nors šiam automatiniam užbaigimui yra patikimų alternatyvų!
Lengvas automatinis užbaigimas, bet tik nuotolinis
Dabar perspėju, nes, kaip sakiau aukščiau, autocomplete.js yra „nuotolinis“ automatinio užbaigimo tipas, o tai reiškia, kad negalėsite pateikti informacijos, iš anksto įkeltos į jūsų DOM. Yra labai gerų bibliotekų, tokių kaip typehead.js arba AutoCompleteJS. Užuot įdėję daugybę nuotolinio ar vietinių funkcijų, taip pat galite pasirinkti konkretų produktą, kuriame bus tik būtinos funkcijos.
Nuotolinio automatinio užbaigimo naudojimo trūkumas
Žinoma, yra ne tik privalumų, be to, aš nebandau jus įtikinti naudoti autocomplete.js, o tik apginti nuo sprendimų daryti viską.
Akivaizdu, kad autocomplete.js naudojimas privers jus visada būti prisijungus prie žiniatinklio, o atsako laikas gali būti daugiau ar mažiau greitas, atsižvelgiant į naudojamą serverį.
Privalumas naudojant nuotolinį automatinį užbaigimą
Dabar nauda!
- Tai iškraus jūsų DOM informacijos ir jūsų naršyklė šiek tiek greitai sukurs jūsų puslapį.
- Taip iš naršyklės iškraunamas visas „JavaScript“ apdorojimas ir jūsų puslapis vėl tampa lengvesnis.
- Paieškos gali būti sudėtingesnės ir jas bus lengviau sukurti žiniatinklio serverio dalyje.
- Automatinis užbaigimas grąžins serverio informaciją, todėl galėsite lengvai atnaujinti PHP ar kitą programą neatnaujindami JavaScript scenarijaus.
Na, laikas man nutraukti šį straipsnį ir padėti šiam automatiniam užbaigimui skirtą klaviatūrą. Dabar, jei jums reikia automatinio užbaigimo, žinote, kad galite pasikliauti autocomplete.js, o jūsų kolegos taip pat gali naudoti autocomplete.js, užtikrindami, kad jis veikia.
O pavalgius automatinio užbaigimo pusryčiams, pavalgius automatinio užbaigimo vidurdienį, pavalgius automatinio užbaigimo lašintuvą ir automatinį užbaigimą vakarienei, linkiu gero automatinio užbaigimo!