17 kriteeri tutkimuksen käynnistämiselle ja kolmansien osapuolien kirjastojen arvioinnille

Miksi keksiä pyörä uudelleen? Kehittäjinä me usein ajattelemme tätä kysymystä. Aina kun esittelemme uutta toiminnallisuutta, pyrimme yleensä katsomaan ympärilleni, voisiko olemassa olevat työkalut, kirjastot ja kehykset helpottaa työtämme. Loppujen lopuksi onko todella syytä investoida aikaa ja vaivaa jäljentää jotain, joka on jo luotu ja optimoitu? Vai olisiko parempi käyttää olemassa olevaa ratkaisua ja mukauttaa sitä tavoitteemme saavuttamiseksi tehokkaammin?

Suurimman osan ajasta kaikki johtuu siitä, sopivatko nykyiset ratkaisut teknisiin tarpeisiimme ja missä määrin ne vastaavat liiketoimintamme vaatimuksia. Tästä syystä kolmansien osapuolien kirjastojen huolellisesta tutkimisesta ja arvioinnista on tullut erittäin yleinen toiminta kehittäjien keskuudessa. Valitettavasti sopivimman kolmannen osapuolen kirjaston tutkiminen ja tunnistaminen on monimutkainen tehtävä, ja eri kirjastojen vertailu voi usein tulla ylivoimaiseksi.

Panaseerissa huomasimme, että kehitys- ja liiketoimintakriteerien sisältävän arviointikehyksen perustaminen ja hyödyntäminen voi tehdä prosessista sujuvampaa. Tarkkaan määritelty luettelo tutkittavista kriittisistä alueista tarjoaa selkeän suunnan tutkimustoiminnan aikana. Lisäksi useiden kirjastojen arviointi samojen vaatimusten perusteella mahdollistaa avoimemmat ja avoimemmat keskustelut.

Seuraava luettelo on tulosta itsenäisestä tutkimuksesta, jonka avulla olemme yksilöineet joukon kriteerejä, joiden perusteella teemme päätöksen kolmannen osapuolen kirjaston käyttöönottamisesta ja integroimisesta Panaseeriin. Vaikka tämä luettelo heijastaa aloja, joita pidämme välttämättöminä liiketoimintamme ja kehityspinojemme kannalta, toivomme, että se rohkaisee sinua luomaan omat kriteerisi, joka sopii visioosi ja kulttuurisi.

1. Tarkoitus

Mikä on kirjaston tarjoamat ydintoiminnot?

Vaikka eri kolmansien osapuolien kirjastot ratkaisevat saman ongelman, niillä on usein erilliset tarkoitukset mielessä ja tarjoavat siten ainutlaatuisia lisätoimintoja. Huomauttamalla tämän voimme selvittää, mikä sopii parhaiten nykyisen ja tulevaisuuden vaatimuksiin. Esimerkiksi arvioitaessa visualisointikirjastoja pylväskaavioiden luomiseksi, tietty kirjasto saattaa olla sopivampi kuin muut sen tarjoamien lisäkarttatyyppien vuoksi.

2. Teknologia

Mihin tekniikka kirjasto perustuu? Kuinka hyvin se voisi integroitua olemassa olevaan kooditietokantaan?

Haluamme harkita kunkin kirjaston tekniikkaa sen vaikutuksesta käyttäjäkokemukseen ja kehitystyöhön, mukaan lukien integrointi olemassa olevaan tietokantaan. Takaisin visualisointikirjastomme esimerkkiin, kolmannen osapuolen kirjasto voisi tuottaa elementtejä SVG: n kautta, kun taas toinen voi tehdä sen Canvas-sovellusliittymän avulla, mikä voi vaikuttaa sekä toteutustapahtumiin että suorituskykyyn.

3. Kehityspaketti

Mitä kirjasto tarjoaa kehityspaketin suhteen? Nopeuttaako se tai hidastaa kehitysaikaa?

Taustalla olevan tekniikan lisäksi tutkimme todellista kehityspakettia, jonka kumpikin kolmannen osapuolen kirjasto tarjoaa. Esimerkiksi, tarkastelemme, toimitetaanko tietyissä kirjastoissa hyödyllisiä työkaluja vai kattavia sovellusliittymiä, jotka voivat mahdollisesti helpottaa vaaditun ratkaisun toteuttamista.

4. Asiakirjat

Onko kirjaston dokumentaatio kattava? Sisältääkö esimerkkejä ja koodinpätkiä? Onko navigointi helppoa?

Hyvin kirjoitettu, tyhjentävä ja ajan tasalla oleva dokumentaatio on aina arvokasta, etenkin kun kehitetään toimintopaikkaa uuden kolmannen osapuolen kirjaston kanssa. Yksinkertainen selaus kirjaston dokumentaatiossa riittää usein siihen, että voimme tuntea, mitä odottaa, ja ottaa se huomioon lopullisen päätöksenteossa.

5. Kustannukset

Onko se ilmainen tai premium-kirjasto? Mikä olisi arvioitu kustannus, jos sellainen olisi? Mitkä ovat saatavilla olevat vaihtoehdot?

Kirjaston käyttöönottoon liittyvien rahallisten kustannusten määrittäminen on erittäin tärkeää liiketoiminnan kannalta ja voi viime kädessä vaikuttaa päätöksentekoprosessiin. Vaikka premium-kirjastojen hintojen vertailu on suhteellisen suoraviivaista, meidän on samalla otettava huomioon kehitysaika ja siihen liittyvät kustannukset, joita jokainen kirjasto tarvitsee halutun ratkaisun toimittamiseksi.

6. Tiedotteet

Mikä on kirjaston nykyinen versio? Saako kirjasto säännöllisesti päivityksiä? Seuraako se julkaisutrategiaa?

Kolmannen osapuolen kirjaston julkaisuhistoria on hyvä indikaattori sen julkaisustrategiasta, ja se tarjoaa käsityksen siitä, mitä kyseiselle kirjasolle voidaan odottaa päivitysten, virhekorjausten ja suurten muutosten suhteen. Nämä tekijät ovat usein tärkeässä roolissa, kun päätämme, minkä kirjaston valita. Hyvin tuettu kirjasto, jolla on luotettava julkaisustrategia, voi usein pidentää sen kanssa rakennettujen ominaisuuksien käyttöikää.

7. Koko

Mikä on kirjaston todellinen tiedostokoko? Kuinka paljon se lisää olemassa olevaan paketin kokoon?

Vaikka se ei välttämättä ole välttämätöntä, on silti syytä tarkastella kirjastotiedostojen kokoa, etenkin niiden pienennetyissä versioissa, ja pohtia sitä, kuinka paljon tämä vaikuttaa nykyiseen paketin kokoon. Yleensä mitä pienempi, sitä parempi.

8. Yhteisön tuki

Kuinka suuri ja aktiivinen yhteisö on kirjaston ympärillä? Kuinka monta kehittäjää on osallistunut kirjaston lähdekoodiin? Kuinka helppoa on löytää tietoa ja apua verkosta?

Sen mukaan, kuinka suosittu tai viimeaikainen kirjasto on, voi olla enemmän tai vähemmän vaikeaa saada tietoja, neuvoja ja vastauksia kysymyksiin verkossa. Ajatus siitä, mitä ilmaisen tuen suhteen odottaa, voi määrittää, kuinka sopiva kolmannen osapuolen kirjasto todella on. Teemme tämän yleensä keräämällä yksinkertaisia ​​mittareita nopeiden verkkohakujen avulla, kuten GitHub-kirjaston avustajien lukumäärä tai StackOverflow-kirjaston hakutulokset kirjastoon.

9. Ammatillinen tuki

Onko olemassa ammatillista tukea kirjasto-ohjeiden saamiseksi? Tarjoaako tukea kirjastojen luojat tai ulkopuoliset freelancerit ja konsultit?

Tapauksissa, joissa kolmannen osapuolen kirjastot eivät ole avoimen lähdekoodin tietoja, on yleensä vaikeampaa saada tietoja verkkoresurssien, kuten GitHub ja StackOverflow, kautta. Siksi etsimme, mitkä ovat käytettävissä olevat vaihtoehdot tuen saamiseksi työskennellessään kirjaston kanssa, mitä ammatillisia palveluita tarjotaan ja mitkä ovat kustannukset.

10. Lisenssi

Millä lisenssillä kirjasto julkaistaan ​​ja jaellaan? Mitkä ovat vaatimukset?

Avoimen lähdekoodin kirjastoissa on lisenssejä, jotka yleensä sallivat ohjelmistojen vapaan käytön, muokkaamisen ja jakamisen, kun taas premium-kirjastot sisältävät usein tarkan luettelon tiukoista vaatimuksista. Lisenssistä riippuen kolmannen osapuolen kirjasto voi olla enemmän tai vähemmän sopiva tietylle yritykselle, sovellukselle tai toiminnallisuudelle. Siksi arvioimme lisenssinäkökohdat ennen erityisen kirjaston hyväksymistä varmistaaksemme, että ymmärrämme vastaavat velvoitteet ja vältetään mahdolliset juridiset ongelmat tulevaisuudessa.

11. Suorituskyky

Kuinka suorittava kirjasto on? Onko odotettu suorituskyky yhdenmukaistettu teknisten ja käyttäjän vaatimusten kanssa?

Kolmannen osapuolen kirjaston suorituskyvyn arviointi ennen sen integrointia olemassa olevaan kooditietokantaan on todennäköisesti yksi haastavimmista tehtävistä. Yritämme ainakin löytää tietoja ja mittareita tutkimalla verkossa joko kirjaston dokumentaatiossa tai vielä paremmin muiden kehittäjien kokemuksen kautta. Näkemyksemme mukaan kirjaston suorituskyvyn tulisi ainakin vastata ehdotetulle ratkaisulle määritettyjä teknisiä ja käyttäjävaatimuksia

12. Selaimen yhteensopivuus

Mitä selaimia kirjasto tukee? Onko puuttuva kriittinen selain?

Selainten välinen yhteensopivuus edustaa usein kipuhetkeä käyttöliittymäkehittäjille, etenkin kun käytetään ulkopuolisia kirjastoja. Kokemuksemme mukaan tietämisen siitä, mitä selaimia tuki tietty kirjasto tukee, pitäisi olla melko suoraviivainen ja ehdottomasti sen arvoinen.

13. Laitteen yhteensopivuus

Mitä laitteita kirjasto tukee? Mitkä ovat tuetut vuorovaikutustilat?

Selainten välisen yhteensopivuuden lisäksi kolmansien osapuolien käyttöliittymäkirjastoja on usein arvioitava tuettujen laitetyyppien suhteen. Esimerkiksi rakennettavasta erityisratkaisusta riippuen saattaa olla vaatimus valita kirjasto, joka integroi kosketustoiminnot täysin tiettyyn mobiili-käyttöjärjestelmään. Jopa silloin, kun sitä ei nimenomaisesti vaadita, mielestämme on edelleen hyvä idea luetteloida yhteensopivat laitteet, kun käydään läpi kirjastojen luettelo, ellei mikään muu arvioi niiden tulevaisuuden potentiaalia.

14. Tietomuoto

Mitkä ovat kirjaston tietomuotovaatimukset? Yhtyykö kirjasto standardisoidun tietorakenteen kanssa?

Vaikka kaikki kolmansien osapuolien kirjastot käsittelevät jonkin tyyppisiä tietoja tulon ja lähdön kautta, joillakin niistä voi olla tiukat vaatimukset odotettavissa oleville muodoille tai rakenteille. Niiden luetteloiminen ja arviointi meille helpottaa ymmärtämistä, voidaanko kirjasto helposti integroida olemassa olevaan kooditietokantaan datanäkökulmasta.

15. Katso ja tunne

Onko kirjastolla oma erottuva ilme ja tunnelma? Kuinka muokattava se on? Voidaanko se yhdenmukaistaa nykyisen sovelluksen kanssa?

Aina kun kolmannen osapuolen kirjasto sisältää visuaalisen tuotoksen, uskomme, että sen ulkoasun ei pitäisi näyttää liian kaukana nykyisen sovelluksen ulkoasusta. Tästä syystä mielestämme on hyvä idea tutkia, kuinka kirjaston ulkoasu ja tuntuvuus ovat muokattavissa, mihin tekniikkaan tyylit perustuvat ja mikä olisi aikainvestointi, joka vaaditaan halutun ilmeen toteuttamiseksi.

16. Laajennettavuus

Onko mahdollista laajentaa kirjaston toimintoja? Kannustetaanko sitä? Onko kolmansien osapuolien laajennuksia tai laajennuksia jo saatavilla?

Riippuen rakennettavasta ominaisuudesta ja kirjaston tarjoamista toimituksista, voi olla tarpeen laajentaa tai optimoida kirjaston ydinkomponentteja. Kaikki kolmansien osapuolien kirjastot eivät salli sitä, koska tämä todella johtuu lisenssistä, jonka nojalla niitä jaetaan. Ottaen huomioon tietyn kirjaston käyttöönoton pitkän aikavälin vaikutukset meille on kriittistä ymmärtää sen laajennettavuuden oikeudelliset ja tekniset rajoitukset.

17. Tulevaisuuden suunta

Mikä on kirjaston visio? Onko etenemissuunnitelma saatavilla? Onko se yhdenmukainen nykyisen sovelluksen kanssa?

Tiedot kirjaston tulevaisuuden suunnitelmista tulisi aina ottaa huomioon arvioitaessa kolmansien osapuolien kirjastoja. Uskomme, että tämä ei ainoastaan ​​tarjoa yleiskatsausta tulevista ominaisuuksista, parannuksista ja virheenkorjauksista, vaan myös estää kirjaston käyttöönottoa, joka voi pian lopettaa tuen saamisen tai jopa alentaa kokonaan.

Kuten jo mainitsimme, kolmansien osapuolien kirjastojen arviointikriteerien määritteleminen ja niistä sopiminen voi palvelea useita tarkoituksia, ohjeiden tarjoamisesta tiedon tutkimisesta yhteisenä perustana keskusteluille ja päätöksenteolle. Luonnollisesti, jotta näitä tarkoituksia voidaan käyttää täysimääräisesti, luettelon olisi heijastettava sekä arvioitavien kirjastojen luonnetta että ehdotetulle ominaisuudelle asetettuja liiketoiminnallisia ja teknisiä vaatimuksia. Kriteerit voivat siis muuttua riippuen siitä, pyörivätkö arvioinnit etu- tai taustakirjastojen ympärillä, olemassa olevista aikarajoituksista ja tietysti aiemmista arviointiprosesseista opittujen opitusten perusteella.

Siitä huolimatta, että se on yksinkertainen tutkittavien alueiden joukko, tällaisen kehyksen käyttö on jo osoittautunut erittäin arvokkaana uusien käyttöliittymäkirjastojen käyttöönoton kannalta. Ei vain, että joukkueena arvioimme, laajennamme ja optimoimme jatkuvasti kriteerilistaamme jatkuvasti. Loppujen lopuksi tämän kehyksen paras osa on, että se voidaan helposti mukauttaa sopimaan jokaiseen tutkimustarkoitukseen ja kontekstiin.

Entä sinä? Onko sinulla vakiintuneita puitteita kolmansien osapuolien kirjastojen arvioimiseksi? Tuntuuko sinusta puuttuvan asiaankuuluvia kriteerejä? Kerro meille!