от Ib Green

Основната идея зад днешния ден, като вземем най-популярните рамки за визуализация с отворен код на Uber и съгласуваме техните уебсайтове, документация и примери и предоставим връзки между уебсайтовете, можем да направим нашите различни рамки значително по-лесни за откриване и използване както за нови, така и за опитни потребители.

Рамките

Рамките за визуализация, които са част от нашия първоначален пакет, са:

  • deck.gl — Високопроизводителни слоеве, поддържани от WebGL, за случаи на използване на геопространствени и информационни технологии.
  • react-map-gl — React компоненти за Mapbox GL (интегрира се безпроблемно с deck.gl)
  • react-vis — Обширен набор от компоненти за диаграми на React.
  • luma.gl — WebGL2 компоненти, захранващи deck.gl

Защо да разработим Framework Suite?

Въпреки че всяка рамка в пакета има различен фокус, те са доста допълващи се една към друга (всъщност в Uber сме разработили редица приложения, които използват всички тези рамки), така че има ясна стойност в улесняването на откриването и научете тези рамки.

Натискане на документация и примери

За да създадем пакета, трябваше да доведем всички рамки до едно и също ниво на завършеност и полиране и положихме значителни усилия за подобряване на уебсайтовете, документацията и примерите за тези рамки.

Страхотният софтуер трябва да има страхотна документация. Направихме голям тласък върху документацията при пускането на deck.gl преди около 3 месеца и отговорът беше изключително добър. Затова решихме да приложим едни и същи стандарти към всички рамки в пакета.

Стартирането на пакета рамки означава, че всички рамки имат съгласувани уебсайтове, с документация, примерна галерия и т.н., сега всички са организирани по един и същи начин и се поддържат при сходни стандарти за изчистеност и пълнота.

Потребителите често използват няколко от рамките. Използването на deck.gl, luma.gl и react-map-gl е може би най-честата комбинация. Преди това потребителите трябваше да се справят с документация с много различна структура и качество, разпределена в множество сайтове.

Всяка рамка в пакета вече има падащо меню в заглавната лента, за да позволи лесна навигация до другите рамки.

Освен това на всяка рамка е присвоена цветова схема, която дава на потребителя визуална подсказка къде се намира той или тя в пакета (т.е. кои документи на рамката се показват в момента). Това трябва да е полезно сега, когато различните рамки следват един и същ стил на документиране.

Нови издания

В съгласие с обединяването на уебсайтовете с документация за рамката, ние също пускаме нови версии на някои от рамките в пакета.

реакция-карта-gl v3

Основно вътрешно надграждане, това издание също прави повече функции на Mapbox GL достъпни за потребителите на React, значително укрепва React капсулирането на Mapbox GL, опростява инсталацията и добавя поддръжка за някои разширени случаи на употреба.

Акценти в изданието:

  • Документацията и уебсайтът са напълно пренаписани (и направени част от пакета, разбира се)
  • Вече се поддържа мултитъч (щипнете за мащабиране и завъртане и т.н.) (напр. за мобилни устройства)
  • Налични са нови компоненти на React (маркери, изскачащи прозорци и т.н.), съответстващи на родния API.
  • Новата архитектура поддържа някои усъвършенствани случаи на използване, като автоматично скриване на картата при накланяне над ограничението от 60 градуса на mapbox, нещо, което използваме в „хибридни“ приложения, които наслояват 3D визуализации върху mapbox (използвайки deck.gl, разбира се).

luma.gl v4

v4 предоставя пълна поддръжка за WebGL2 (което представлява основно надграждане на WebGL API). Но има редица други значителни подобрения, които завършват тази основна версия.

Акценти в изданието:

  • Пълна поддръжка на WebGL2
  • Управление на възможностите на WebGL
  • Управление на състоянието на WebGL
  • GLSL модулна система
  • Поддръжка за отстраняване на грешки и профилиране
  • Оптимизация на размера на библиотеката

Въпреки това много потребители вероятно ще оценят драстично подобрената документация на luma.gl повече от която и да е отделна функция.

deck.gl v4.1 вече е базиран на luma.gl v4. Публикацията в блога представяне на deck.gl v4 споменава нашите планове за въвеждане на повече GPU базирани изчисления в бъдещите версии deck.gl (напр. GPU базирана обработка и агрегиране на данни), а включването на luma.gl v4 е основен фактор за това усилие .

Новата версия също добавя няколко предишни „закачени“ примерни слоеве WebGL2, слоевете Карта на вятъра. Тези слоеве вече се предлагат като част от самостоятелен пример за многократна употреба.

реагират спрямо 1.7

Приоритетът на React-vis версия 1.7 е документацията. Всяка страница с документация е написана от нулата, изцяло пренаписана или прегледана от версия 1.6. От версия 1.5 публикуваме react-vis като пакет, което го прави лесен за използване в среди с пясък като codepen или codesandbox за бързо експериментиране. Ние също обединихме стила на документация, въведен от deck.gl v3.

Какво следва за пакета?

Очакваме постепенно да изведем нови рамки и когато има смисъл, да ги добавим към пакета. Въпреки това бихме искали да поддържаме висока летва за членство в този пакет. Рамките в пакета трябва да са от общ интерес за общността на визуализацията.

Като пример имаме и други поддържащи рамки с отворен код с по-специално предназначение (напр. viewport-mercator-project или разширението за отстраняване на грешки в Chrome seer), но те не са толкова често достъпни директно от потребителите и не планираме да ги създаваме част от взаимосвързания документационен пакет.

Една от най-големите цели на новия пакет е да направи тези рамки по-лесни за използване и по-лесни за откриване за вас.

Ще се радваме да чуем от вас, ако имате идеи за пакета и как бихме могли да го подобрим, за да ви помогнем. Просто ни изпратете ping в раздела за проблеми на някое от хранилищата на рамката в github и ни кажете какво мислите.

Наслади се!

Сътрудници

Този пакет от рамки е създаден от екипа за визуализация на Uber. Това е резултат от сътрудничеството между редица невероятни сътрудници, включително: Xiaoji Chen, Anh Mai, Ib Green , Shan He, Eric Socolofsky, Balthazar Gronon, Yang Wang, Ravi Akkenapally, Jerome Cukier, Andrew McNutt, Shaojing Li, Николас Гарсия Белмонте,

Първоначално публикувано в deck.gl на 25 юли 2017 г.