13 faktorů, které je třeba zvážit při výběru knihovny mapování JavaScriptu

Než začnete hledat grafickou knihovnu, musíte vědět, že vytvoření dobré vizualizace dat (dataviz) je obrovskou časovou investicí, pokud plánujete vybudovat seriózní aplikaci. Jasné odpovědi na otázky, jako je čeho přesně vaše dataviz dosáhne, na jakých zařízeních se bude používat, kolik času budete mít na sestavení aplikace atd., vám pomůže co nejlépe využít pokyny uvedené níže.

Kompatibilita mezi různými prohlížeči

To, zda potřebujete grafickou knihovnu, která je kompatibilní se všemi prohlížeči, nebo pouze s moderními prohlížeči, závisí na vaší cílové skupině. Pokud stavíte pro státní správu nebo pro podnikové klienty, je velmi velká šance, že stále používají starší verze IE. Grafické knihovny, které fungují pouze s moderními prohlížeči, tedy nemusí být dobrou volbou.

Řešit problémy s kompatibilitou mezi různými prohlížeči je těžké a věřím, že knihovna, kterou si vyberete, by to měla udělat za vás.

Kompatibilita mezi zařízeními

Bude vaše aplikace sloužit primárně na desktopu nebo cílíte i na mobilní uživatele? Pokud je to jen pro prohlížení na velké obrazovce, většina knihoven grafů bude fungovat pro vaši komponentu dataviz, ale pokud chcete zajistit konzistentní práci i na ručních zařízeních, měla by vámi vybraná knihovna grafů reagovat. To je stále důležitější kvůli měnícím se uživatelským zvyklostem v poslední době.

Formát vstupních dat

Přestože se JSON (JavaScript Object Notation) postupně stává standardním formátem, zejména pokud jde o knihovny grafů, stále existuje mnoho případů, kdy se budete muset vypořádat s XML. Pokud potřebujete data XML pro svou dataviz, bude dobré vědět, zda je vaše knihovna grafů podporuje.

Přizpůsobitelnost

To je, alespoň pro mě, největší rozhodovací faktor. Je knihovna grafů dostatečně flexibilní, abych ji mohl přimět, aby dělala, co chci, nebo bude vypadat dobře ve výchozím nastavení a budete na to sami, pokud se ji pokusíte přizpůsobit?

Existují stovky věcí, se kterými si rád hraji, jako je přidávání vlastních tvarů, konfigurace legend, připojování událostí (kliknutí, najetí myší, stisknutí klávesy), využití rozbalení dat a použití motivů atd. Pokud chcete vytvořit krásnou designu, bude dobré mít knihovnu, kterou lze snadno přizpůsobit, abyste ji mohli tvarovat podle návrhu vaší aplikace.

Rozsah dostupných grafů

Tohle je bez přemýšlení. Jakákoli dataviz, kterou chcete vytvořit, by měla být součástí knihovny. Ale není to tak snadné, protože různé knihovny grafů mají společné balíčky, ve kterých jsou podobné grafy seskupeny jako mapy, widgety a akciové grafy. Takže v závislosti na případu použití můžete chtít použít pouze konkrétní typ grafu, nebo můžete získat kompletní balíček.

Pokud chcete porovnat různé knihovny grafů na základě řady dostupných grafů, bude tento zdroj velmi užitečný.

Křivka učení

Některé knihovny vizualizace dat, jako je D3.js, mají strmou křivku učení. Není pochyb o tom, že D3.js je velmi výkonný, ale pokud běžíte v napjatém termínu nebo používáte grafickou knihovnu poprvé, nedoporučoval bych to.

Na druhou stranu, pokud začínáte s datavizem a máte spoustu času na experimentování, měli byste rozhodně vyzkoušet knihovny, které jsou krásné, ale vyžadují určitou časovou investici.

Kompatibilita s ostatními částmi kódu

Představte si, že jste PHP nebo ASP.NET ninja a nejste příliš obeznámeni s JavaScriptem. Nebylo by skvělé, kdybyste mohli vytvářet grafy bez psaní kódu JavaScript? Některé knihovny mají bezplatné pluginy a obaly, které za vás vygenerují požadovaný kód JavaScript a HTML, který se pak použije k vykreslení grafů na stránce prohlížeče. Příklady zde a zde.

Výkon

Výkon závisí na mnoha faktorech, jako je velikost knihovny, využití paměti při vykreslování, sběr odpadu a počet cyklů překreslení prohlížeče. Velmi si cením výkonu, ale optimalizace pouze pro výkon není vždy nejlepší nápad. To může znít protichůdně, takže mi dovolte vysvětlit svůj názor na příkladu.

Předpokládejme, že vytváříte řídicí panel, který bude použit na místním intranetu. Myslíte si, že zde má smysl používat knihovnu s nejmenší velikostí balíčku? V tomto případě vyberu knihovnu, která vychází nejlépe na základě dalších zde diskutovaných faktorů. Úspora velikosti knihovny bude tou nejmenší starostí.

Exportování

Tento bod se nevztahuje na každý případ použití, ale pouze na případy, jako jsou sestavy a řídicí panely. Pokud vytváříte řídicí panel pro obchodní publikum, mohou vaši uživatelé chtít exportovat grafy do PDF nebo obrázků. Bude lepší, když knihovna grafů, kterou si vyberete, podporuje funkci exportu hned po vybalení. Běžné formáty exportu, které je třeba hledat, jsou JPEG, PNG, PDF a SVG.

Design a interaktivita

Design je víc než jen vzhled a dojem z grafu. Měl by nejen dobře vypadat (témata, barevné schéma), ale měl by mít smysluplnou interaktivitu. Pokud například vytváříte výsečový graf, kliknutím na výseč by se měl ve výchozím nastavení vytáhnout (nebo přidat ohraničení na obvodu). Vlastní kód by k tomu neměl být vyžadován. Kliknutím na ikonu legendy ve víceřadovém spojnicovém grafu by se měla přepnout viditelnost souvisejícího datového grafu.

Cenové a licenční podmínky

Většina knihoven nyní poskytuje svůj zdrojový kód, když si koupíte licenci, ale to neznamená, že si můžete dělat, co chcete. Je důležité vědět, jaká všechna oprávnění budete pro svůj projekt potřebovat a zakoupit si příslušnou licenci. Podmínky a ceny se liší v závislosti na faktorech, jako je počet uživatelů, typ aplikace (SaaS, intranet, web) a počet serverů.

Podpora

Pokud vytváříte aplikaci, dataviz nemusí být vaší hlavní předností. Takže když se setkáte s problémem, možná budete potřebovat nějakou externí podporu, abyste jej vyřešili. Podpora může mít mnoho forem, jako jsou osobní, diskusní nebo komunitní weby, jako je StackOverflow. Pokud máte napjatý rozvrh, nebudete chtít čekat na odpověď na StackOverflow. V tomto případě by byla velmi užitečná osobní podpora nebo vyhrazené fórum.

V případě populárních knihoven je většina odpovědí na obecné otázky snadno dostupná. Ale při testování okrajových případů jsem několikrát čelil slepým uličkám. Pokud si myslíte, že byste mohli potřebovat specializovanou podporu, doporučoval bych koupit komponentu pro vytváření grafů namísto použití řešení s otevřeným zdrojovým kódem (vzhledem k tomu, že splňuje všechny ostatní požadavky).

Otevřený zdroj

Mám rád open-source, ale věřím, že to není to správné řešení pro všechno. Zejména pokud jde o řešení mapování, na GitHubu je k dispozici spousta malých otevřených knihoven s otevřeným zdrojovým kódem. Ale buďte opatrní, než se pokusíte implementovat jednu z nich ve svém projektu.

Můj přítel kdysi použil malou open-source knihovnu ve svém komerčním projektu, protože se mu líbila jen málo jejích funkcí. Po roce se zasekl, když se pokusil implementovat některé pokročilé funkce. Když se pokusil kontaktovat tvůrce, zjistil, že projekt je dávno opuštěný. Jsem si jistý, že se to nestane u velkých open source projektů, jako je D3.js, Google Charts nebo morris.js, ale je lepší zvážit tuto možnost, než se později kát.

Zde je velmi dobrý článek, který odpovídá na to, kdy má komerční knihovna smysl před knihovnou s otevřeným zdrojovým kódem.

To jsou všechny faktory, o kterých si myslím, že je důležité znát, abychom se mohli informovaně rozhodnout. Pokud si myslíte, že jsem přehlédl nějaké faktory, uveďte je v komentářích.