17 kritérium a kutatás elindításához és a harmadik fél könyvtárainak értékeléséhez

Miért találta fel újra a kereket? Fejlesztõként gyakran találkozunk azzal a kérdéssel. Amikor egy új funkcionalitást mutatunk be, hajlamosak körülnézni, hogy megkönnyítsük munkánkat a rendelkezésre álló eszközök, könyvtárak és keretek. Végül is tényleg érdemes időt és erőfeszítést fektetni valami olyan megismételésére, amelyet már létrehoztak és optimalizáltak? Vagy jobb lenne a meglévő megoldás kihasználása és adaptálása a cél hatékonyabb megvalósításához?

A legtöbb esetben az a kérdés, hogy a meglévő megoldások megfelelnek-e műszaki igényeinknek, és mennyiben igazodnak az üzleti követelményeinkhez. Ezért a harmadik felek könyvtárainak alapos kutatása és értékelése a fejlesztők körében nagyon gyakori tevékenységgé vált. Sajnos a legmegfelelőbb harmadik féltől származó könyvtár kutatása és azonosítása összetett feladat, és a különféle könyvtárak összehasonlítása gyakran meglehetősen nehézkes lehet.

A Panaseernél rájöttünk, hogy a fejlesztési és üzleti kritériumokból álló értékelési keret létrehozása és felhasználása simábbá teheti a folyamatot. A vizsgált kritikus területek jól definiált listája egyértelmű irányt mutat a kutatási tevékenység során. Ráadásul a több könyvtár ugyanazon követelményekkel történő értékelése nyitottabb és átláthatóbb beszélgetéseket tesz lehetővé.

A következő lista egy saját kutatás eredménye, amelyen keresztül meghatároztuk azokat a kritériumkészleteket, amelyek alapján döntést hozunk a harmadik fél könyvtárának a Panaseernél történő elfogadásáról és integrálásáról. Noha ez a lista tükrözi azokat a területeket, amelyeket alapvető fontosságúnak tartunk üzleti és fejlesztési szempontból, reméljük, hogy ösztönzi Önt arra, hogy hozzon létre saját kritériumkészletet, amely megfelel a jövőképének és kultúrájának.

1. Cél

Milyen alapvető funkciókat kínál a könyvtár?

Noha a különféle külső könyvtárak ugyanazt a problémát megoldják, gyakran eltérő céljaikat szem előtt tartják, és így további egyedi funkciókat kínálnak. Ennek megfigyelésével meghatározhatjuk, melyik illeszkedik a legjobban a jelen és a jövő követelményeihez. Például, ha a vizualizációs könyvtárakat sávdiagramok előállítása céljából értékeli, egy adott könyvtár megfelelőbb lehet, mint mások, az általa biztosított további diagramtípusok miatt.

2. Technológia

Milyen technológián alapul a könyvtár? Mennyire tudna integrálni a meglévő kódbázissal?

Meg szeretnénk vizsgálni az egyes könyvtárak technológiáját annak a felhasználói élményre és fejlesztési munkára gyakorolt ​​hatása miatt, beleértve a meglévő kódbázissal való integrációt is. Visszatérve a vizualizációs könyvtárak példájához, egy harmadik féltől származó könyvtár elemeket jeleníthet meg az SVG-n keresztül, míg egy második ezt a Canvas API használatával teheti meg, ami befolyásolhatja mind a megvalósítási tevékenységeket, mind a teljesítményt.

3. Fejlesztő készlet

Mit nyújt a könyvtár a fejlesztési csomag szempontjából? Valószínűleg felgyorsítja vagy lelassítja a fejlesztési időt?

Az alapul szolgáló technológia mellett megvizsgáljuk a tényleges fejlesztőkészletet, amelyet minden harmadik fél könyvtára biztosít. Például azt vizsgáljuk meg, hogy vannak-e bizonyos könyvtárak hasznos eszközökkel vagy átfogó API-kkal, amelyek potenciálisan megkönnyítik a szükséges megoldás megvalósítását.

4. Dokumentáció

Teljes a könyvtár dokumentációja? Tartalmaz példákat és kódrészleteket? Könnyű navigálni?

A jól megírt, kimerítő és naprakész dokumentáció mindig értékes, még inkább, ha egy funkcionalitást egy új gyártói könyvtárral fejlesztenek ki. A könyvtár dokumentációjának egyszerű böngészése gyakran elegendő ahhoz, hogy megfontoljuk, mire számíthatunk, és ezt figyelembe tudjuk venni a végső döntés meghozatalakor.

5. Költség

Ingyenes vagy prémium könyvtár? Mekkora lenne a becsült költség? Melyek a beszerzési lehetőségek?

Az üzleti szempontból nagyon fontos annak meghatározása, hogy milyen költségek merülnek fel a könyvtár elfogadásában, és ez végül megváltoztathatja a döntéshozatali folyamatot. Bár a prémium könyvtárárak összehasonlítása viszonylag egyszerű, ugyanakkor figyelembe kell venni a fejlesztési időt és az ahhoz kapcsolódó költségeket, amelyek az egyes könyvtáraknak szükségesek lennének a kívánt megoldás eléréséhez.

6. Kiadások

Mi a könyvtár jelenlegi verziója? Rendszeresen frissül-e a könyvtár? Követi a kiadási stratégiát?

A harmadik féltől származó könyvtárak kiadási előzményei jól mutatják a kiadási stratégiát, betekintést nyújtva a könyvtárra várható frissítések, hibajavítások és jelentős változások szempontjából. Ezek a tényezők gyakran játszanak jelentős szerepet, amikor eldöntjük, hogy melyik könyvtárat válasszuk ki. A megbízható kiadási stratégiával ellátott, jól támogatott könyvtár gyakran meghosszabbíthatja a vele épített szolgáltatások élettartamát.

7. Méret

Mekkora a könyvtár fájlmérete? Mennyit fog hozzáadni a meglévő csomagmérethez?

Annak ellenére, hogy nem feltétlenül döntő jelentőségű, mégis érdemes megnézni a könyvtári fájlok méretét, különös tekintettel azok tömörített verzióira, és megfontolni, hogy ez mennyire befolyásolja a meglévő csomag méretét. Általában minél kisebb, annál jobb.

8. Közösségi támogatás

Mennyire és aktív a könyvtár körüli közösség? Hány fejlesztő járult hozzá a könyvtár forráskódjához? Mennyire könnyű információt és segítséget megtalálni online?

Attól függően, hogy mennyire népszerű vagy nemrégiben áll a könyvtár, többé-kevésbé nehéz lehet információk, tippek és kérdésekre adott válaszok megszerzése online módon. Ha elképzelése van arról, hogy mire számíthat az ingyenes támogatás szempontjából, meghatározhatja, hogy valóban megfelelő-e egy harmadik fél könyvtára. Ezt általában egyszerű mutatók gyűjtésével gyors online keresésekkel végezzük, például a GitHub könyvtár-közreműködők számát vagy a StackOverflow könyvtárának keresési eredményeit.

9. Szakmai támogatás

Van-e szakmai támogatás a könyvtárral kapcsolatos segítségért? Támogatást nyújtanak-e a könyvtár készítői, vagy külső szabadúszók és tanácsadók?

Azokban az esetekben, amikor a harmadik féltől származó könyvtárak nem nyílt forráskódúak, általában nehezebb információt beszerezni olyan online erőforrásokon keresztül, mint a GitHub és a StackOverflow. Mint ilyen, megvizsgáljuk, hogy milyen lehetőségek állnak rendelkezésre a támogatáshoz a könyvtárral való együttműködés során, milyen professzionális szolgáltatásokat nyújtunk és milyen költségek merülnek fel.

10. Engedély

Milyen licenc alapján adják ki és terjesztik a könyvtárat? Melyek a kapcsolódó követelmények?

A nyílt forráskódú könyvtárak olyan licencekkel érkeznek, amelyek általában lehetővé teszik a szoftverek szabad használatát, módosítását és megosztását, míg a prémium könyvtárak nagyon gyakran tartalmazzák a szigorú követelmények pontos listáját. Az engedélytől függően egy harmadik féltől származó könyvtár többé-kevésbé alkalmas lehet egy adott társasághoz, alkalmazáshoz vagy egy adott funkcióhoz. Ezért egy adott könyvtár elfogadása előtt kiértékeljük az engedély szempontját, hogy megbizonyosodjunk arról, hogy megértjük a vonatkozó kötelezettségeket, és elkerüljük a lehetséges jogi problémákat a jövőben.

11. Teljesítmény

Mennyire előadó a könyvtár? Összehangolják a várt teljesítményt a műszaki és felhasználói követelményekkel?

Valószínűleg az egyik legnehezebb feladat egy külső gyártó könyvtár teljesítményének értékelése, mielőtt integrálná azt a meglévő kódbázisba. Legalább az információkat és a mutatókat megkíséreljük megismerni online kutatással, akár a könyvtár dokumentációjában, akár, vagy még jobb, más fejlesztők tapasztalata alapján. Szempontból nézve a könyvtár teljesítményének legalább meg kell felelnie a javasolt megoldás technikai és felhasználói követelményeinek

12. A böngésző kompatibilitása

Milyen böngészőket támogat a könyvtár? Hiányzik egy kritikus böngésző?

A böngészők közötti kompatibilitás gyakran fájdalompontot jelent a front-end fejlesztők számára, még inkább, ha harmadik féltől származó könyvtárakat használnak. Tapasztalataink szerint meggyőzően egyszerűnek kell lennie annak, hogy megtudja, mely böngészőket támogat egy adott könyvtár.

13. Készülék kompatibilitás

Milyen eszközöket támogat a könyvtár? Melyek a támogatott interakciós módok?

A böngészők közötti kompatibilitás mellett a harmadik fél gyártói front-end könyvtárait is gyakran ki kell értékelni a támogatott eszköztípusok alapján. Például, az építendő konkrét megoldástól függően szükség lehet olyan könyvtár kiválasztására, amely teljes mértékben integrálja az érintőképesség funkcióit egy adott mobil operációs rendszerhez. Még akkor is, ha erre kifejezetten nincs szükség, úgy gondoljuk, hogy továbbra is jó ötlet a kompatibilis eszközök felsorolása a könyvtárak rövid listáján történő felvétel során, ha semmi más nem jelenti a jövőbeli potenciáljuk felbecsülését.

14. Adatformátum

Melyek a könyvtár adatformátum-követelményei? A könyvtár igazodik-e a szabványos adatszerkezethez?

Míg az összes külső könyvtár valamilyen típusú adatot kezel bemeneti és kimeneti módon, néhányuknak szigorú követelményei lehetnek a várt formátumok vagy struktúrák tekintetében. Nekünk a felsorolása és kiértékelése megkönnyíti annak megértését, hogy egy könyvtár adat szempontból könnyen integrálható-ea meglévő kódbázisba.

15. Nézd és érezd

Megkülönböztető megjelenése és érzése van-e a könyvtárnak? Mennyire testreszabható? Összehangolható-ea meglévő alkalmazással?

Ha egy harmadik fél könyvtára vizuális kimenetet tartalmaz, úgy gondoljuk, hogy megjelenésének nem szabad túl messze mutatnia a meglévő alkalmazás megjelenésétől. Ezért gondoljuk, hogy jó ötlet megvizsgálni, hogy testreszabható-e a könyvtár kinézete és érzése, milyen technológián alapszik a stílus, és hogy mennyi időre lenne szükség a kívánt megjelenés megvalósításához.

16. Bővíthetőség

Bővíthető a könyvtár funkcionalitása? Bátorítják? Van-e már harmadik féltől származó bővítmény vagy bővítmény?

Az építendő funkciótól és a könyvtár által a dobozból nyújtott funkcióktól függően szükség lehet a könyvtár alapvető alkotóelemeinek kibővítésére vagy optimalizálására. Nem minden harmadik fél könyvtára engedélyezi ezt, mivel ez valójában annak a licencnek a következménye, amely alapján terjesztik. Számunkra, tekintettel egy adott könyvtár elfogadásának hosszú távú hatásaira, kritikus jelentőséggel bír a jogi és technikai korlátok megértése.

17. Jövőbeli irány

Mi a jövőképe a könyvtárnak? Rendelkezésre áll egy ütemterv? Összehangolódik a meglévő alkalmazáséval?

A könyvtárak jövőbeli terveivel kapcsolatos információkat mindig figyelembe kell venni a harmadik fél könyvtárainak értékelésekor. Úgy gondoljuk, hogy ez nemcsak áttekintést nyújt a közelgő funkciókról, fejlesztésekről és hibajavításokról, hanem megakadályozza minden olyan könyvtár elfogadását, amely hamarosan leállíthatja a támogatás igénybevételét, vagy akár akár teljesen le is kedvezményes lehet.

Mint már említettük, a harmadik féltől származó könyvtárak értékelési kritériumainak azonosítása és megállapodása többféle célra szolgálhat, az útmutatások megadásától kezdve az információk kutatásához, a közös vitának és a döntéshozatalnak a alapjául szolgálva. Természetesen e célok teljes körű teljesítése érdekében a listának magának tükröznie kell az értékelni kívánt könyvtárak természetét, valamint a javasolt szolgáltatáshoz felállított üzleti és műszaki követelményeket. A kritériumok ezért változhatnak attól függően, hogy az értékelés a front-end vagy a back-end könyvtárak köré fordul-e, a meglévő időkorlátozásoktól és természetesen a korábbi értékelési folyamatokból levont tanulságokat.

Annak ellenére, hogy a vizsgált területek egyszerű csoportja, a Panaseernél az ilyen keretrendszer használata már nagyon értékesnek bizonyult új front-end könyvtárak elfogadásához. Nemcsak csapatként folyamatosan értékeljük, bővítjük és optimalizáljuk a kritérium-listánkat. Végül is, ennek a keretnek a legjobb része az, hogy könnyen adaptálható az egyes kutatási célokhoz és összefüggésekhez.

És veled mi van? Létezik-e kialakított kerete a harmadik fél könyvtárainak értékeléséhez? Úgy érzi, hogy hiányozunk releváns kritériumokról? Tudasd velünk!