15 страница30 июня 2020, 12:11

Глава 10: Источники данных

Все вышеописанные примеры объединяет одна отличительная черта — это внешние данные. Бывают и собственные данные, но давайте по порядку, так как кроме внешних данных бывают и другие.

———

Внешние мастер-данные

Из названия понятно, что данные живут у кого-то другого, на каком-то далёком и неизвестном сервере. И этот кто-то готов с вами делиться данными, но не за красивые глаза. Так уж устроен этот мир. Отбросив финансовый вопрос в сторону, мы обнаружим необычную аббревиатуру — API (Application Programming Interface). По сути это мостик, по которому в обе стороны (но не всегда) ходят данные, которые вызываются по определённым запросам обеими сторонами. Ассортимент данных определён тем, что заложили в API. Если вам не хватает каких-либо данных в API, то их добавление туда не происходит по щелчку пальцев, увы. Это долгая и неприятная работа.

Стоит отметить, что на самом деле данные от вашего сервера к вашему приложению тоже ходят по своему мостику, но это уже внутренние дрязги разработчиков и вам туда, скорее всего, не надо, пусть сами развлекаются.

———

Кстати, о мастер-данных

Мастер-данные — это те данные, которые, можно сказать, являются последними и правильными. Чтобы проще было понять, представьте себе следующее: сотни тысяч юридических лиц со своими способами внутреннего учёта, бумажками, какашками и бухгалтершами. И есть налоговая, все данные в которой и являются последними и единственно верными (пока через суд не доказано обратное).

Если бы налоговая не считала свои данными последними и единственно верными, то был бы хаос. Потому им приходится всех жучить по срокам сдачи отчётности и форме сдачи тех самых данных дабы соблюсти консистентность тех самых данных. Не все системы разрешают менять мастер-данные, но если вы получили эти данные по API, то можете ими жонглировать как вам захочется, не забывая про договорённости, персональные данные и секретность той или иной информации.

———

Собственные данные

Это те данные, которые храните вы в вашем Dropbox или данные на серверах вашего работодателя. Хоть и звучит не так пафосно, но это ваши мастер-данные, пока вы не разрешите их модифицировать другим приложениям по средствам API. На базе этих данных функционирует ваше приложение — оно их скачивает и отображает, модифицирует и записывает изменения на сервер, делится частью данных с другими приложениями либо импортирует данные из них. В общем, так работают 100% «облачных» приложений.

———

А что же такое «облако»?

Наверняка слышали, но лучше лишний раз повторить. «Облако», оно же и Cloud, и SaaS (Software as a Service), и PaaS (Platform as a Service) — некое количество серверов в какой-то точке мира, где владелец приложения арендует терабайты вычислительных мощностей для хранения своих и пользовательских данных. Такие ребята как Amazon, Microsoft и Google держат 90% всего мирового «облачного» рынка. Но не путайте хостинг с SaaS! Хоститься сайт может и на собственных серверах, и в «облаке» компании, и на Amazon. Apple iCloud и Dropbox — тоже «облака», только в большей мере для простых людей и малого бизнеса (там они хранят фоточки, файлики, рабочие документы и прочие милые сердцу данные), тогда как SaaS-решения созданы для работы вашего приложения. Чувствуете разницу? Хорошо!

———

Локальные данные

Не путайте с персональными данными. Локальные данные — данные, которые хранятся на вашем смартфоне, компьютере, навигаторе, магнитоле, пластиковой карте. В качестве примера возьмём Photoshop, Sketch, Excel. Все они хранят данные на вашем жёстком диске (либо в Dropbox, который также хранит слепок данных и в «облаке», и на вашем жёстком диске). Калькулятор и игры также могут служить хорошими примерами. Но кроме хранения данных на устройстве, хитрый разработчик владеет ещё одним фокусом — можно хранить данные, пока нет интернета, а затем отгружать эти данные на сервер. Фокус этот актуален, в первую очередь для тех приложений, которые позволяют редактировать документы (Medium, Google Drive, Ulysses, Microsoft Office 365 и т.п.). Для веб-приложений такой фокус почти бесполезен ввиду того, что живёт приложение в браузере, а браузер не умеет хранить большие данные на жёстком диске. Хотя попытки, безусловно, были у Google Drive для браузера Google Chrome и соответствующим плагином.

Для чего вам вся эта информация о разных типах данных? Например, берёте вы халтуру. Вы сразу же можете понять, будет ли приложение работать только на локальных данных, которые будут теряться при удалении app, или оно будет работать с «облачными» данными. От этого очень сильно будет зависеть дизайн приложения, ибо если данные локальные, то можно добавлять новые в угоду красоте, или же наоборот — жить только с тем данными, что заложено в API, и ни шагу в сторону.

15 страница30 июня 2020, 12:11

Комментарии