В процессе изложения расскажу как быстро развернуть RESTful backend на Google Apps Script. Кроме того познакомлю с двумя очень простыми frontend приложениями на AngularJS и Ember.js, наглядно демонстрирующими возможности сервиса GAS-REST, который транслирует RESTful запросы в адрес скрипта Google Apps Script, развернутого в качестве веб-приложения с целью его использования в роли сервера, раздающего данные, размещенные в таблице на Google Drive в формате JSON.
Для начала еще раз поясню, какой во всем этом смысл, и вообще для чего это может быть полезным.
К примеру у нас есть данные - коллекция котов, которая хранится в таблице на Диске Google:
Также у нас имеется скрипт, развернутый в качестве веб-приложения
с ID = AKfycbwEw9l-DeT3Qfv5CmRm60k0RALu2iVIyvyAuaWZbHp2we7xi1E
С помощью сервиса GAS-REST мы можем:
- получить список всех котов:
- создать нового кота:
- отредактировать кота:
- получить кота по ID:
- удалить кота:
Теперь расскажу, как создать подобный backend:
- открываем таблицу, которую я использую в качестве серверной части демонстрационных приложений, о которых расскажу чуть позже
- создаем копию таблицы:
- открываем редактор скриптов:
- вставляем ID нашей таблицы (которую только что создали путем создания копии исходной):
- выполняем функцию doGet один раз - для того, чтобы авторизовать скрипт:
- не обращаем внимание на сообщение об ошибке:
- сохраняем новую версию скрипта:
- разворачиваем скрипт в качестве веб-приложения:
Вот и все. Теперь мы можем создавать приложения, которые будут потреблять данные, используя RESTful API.
В завершение пару слов о демонстрационных приложениях:
Оба приложения хостятся на Диске Google, в качестве источника данных используют упомянутую выше таблицу, в качестве серверной части - встроенный в эту самую таблицу скрипт.
На клиенте работают соответствующие фреймворки, которые потребляю данные с помощью своих стандартных адаптеров: в AngularJS - ngResource, в Ember.js - RESTAdapter.
А "дружит" эти стандартные адаптеры, а точнее RESTful запросы, которые они используют, со скриптом, встроенным в таблицу, который повторюсь играет роль серверной части, сервис GAS-REST, который я собственно специально для того, чтобы подружить этих (и не только) товарищей и написал.
Сервис написан на Node.js с использованием четвертой версии фреймворка Express, ничего такого сложного в нем нет - обычный переводчик с человеческого на олбанский и обратно :).
Исходники демок, а также самого сервиса есть на GitHub, так что при желании вам ничто не мешает разобраться как все это работает, на самом деле все довольно просто, и написать нечто подобное.
Не стесняемся "поиграться" с демками - попробовать добавить/отредактировать/удалить "котов" - хуже не будет :).
Не стесняемся "поиграться" с демками - попробовать добавить/отредактировать/удалить "котов" - хуже не будет :).
На этом прощаюсь, ваши комменты, письма, мелким почерком... Всем мир.
Комментариев нет:
Отправить комментарий
Комментарий будет опубликован после модерации