Glide конструктор приложений уроки

Обновлено: 19.04.2024

Перевод: Лебедев Даниил

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

Пользователи могут просматривать расписание мероприятий, покупать билеты онлайн и отправлять их организаторам по электронной почте.

Для начала, я перечисляю части, которые хочу построить:

• Обзор информации и деталей о событиях

• Тип билета, цена и оплата

• Состав спикеров, фото и биография профиля

• Расписание мероприятий, время и тема сессии

• Список часто задаваемых вопросов

• Связаться со службой поддержки

Перейдите на Glide и создайте бесплатный аккаунт. Затем перейдите на Google Sheet и создайте новый файл " виртуальная база данных событий ". После того, как вы войдете в систему и аутентифицируете оба аккаунта:

• Создайте новое приложение на Glide из Google Sheet.

• Вы увидите пользовательский интерфейс приложения с выходными данными, связанными с электронной таблицей.

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

Если вы не хотите начинать с нуля, вы можете скопировать мою электронную таблицу.

Создавайте новые листы в том же файле. Каждый лист содержит базу данных (в скобках), необходимую для приложения событий:

• Описание (показанное изображение, название события, описание, ссылки).

• Докладчик (название, компания, фото, биография, тема заседания)

• Партнер (название компании, логотип)

• Расписание (время заседания, тема, имя выступающего)

• Билеты (тип билета, цена, подробности, касса)

• Введите FAQ (полное имя пользователя, электронная почта и вопрос)

Нам нужно создать 4 отдельные страницы приложения: Описание, Расписание, Докладчик и Часто задаваемые вопросы. Каждая страница будет содержать ссылки на соответствующие листы и данные, которые мы создали на Шаге 3.

Убедитесь, что вы обновили базу данных " Перезагрузите лист " в Glide. Это заново синхронизирует вывод Glide с данными электронной таблицы, которые вы обновили.

• Перейдите в " Tabs " на левой боковой панели в "Glide".

• Добавить новую вкладку (или переименовать), т.е. "About".

• Укажите данные "Source" на листе "About".

Повторите вышеописанные шаги для других вкладок (например, Расписание, Докладчик и FAQ). Вам необходимо убедиться, что каждый "Tab" указывает на нужный источник данных в электронной таблице. Например:

Давайте построим страницу "Описание(About)". Вы можете добавить изображение обложки, заголовок события, описание и кнопки. Начните с нажатия кнопки "Layout" на левой боковой панели в окне Glide. Стиль макета экрана можно задать в режиме "Details":

Например: Изображение, заголовок, основной текст, кнопка, разделитель, заголовок, богатый текст (и другие элементы, которые вы считаете подходящими).

Каждый компонент представляет собой конструкторский блок, связанный с данными из листа "About".

Форматируем название и описание главного события

Добавьте компонент " Title " из " + ".

Указать источник данных на колонку листа ("event_title_title" "event_title_sub").

Продолжайте на странице "About". Теперь мы хотим создать кнопку покупки билетов, которая будет ссылаться на различные заказы билетов (General vs. Expert Admission).

• Выбирает 2 типа билетов (Выбор просмотра " Билеты)

• Щелкните по 1-му варианту билета (Общий вид входа)

• Видит кнопку "Купить билет" (общий вид входа)

• Заходит на внешнюю платежную страницу (касса билетов)

• Добавить компонент "Кнопка" на странице "Описание".

• Отредактируйте кнопку "Features(Особенности)", выберите "Action(Действие)" ("Link to screen(Ссылка на экран)").

• Укажите источник данных на лист ("Tickets(Билеты)").

• Стиль оформления экрана с помощью режима "List(Список)".

• Выводите все источники данных, связанные с информацией о билетах (тип, цена, подробности).

Соедините кнопку покупки билета, используя Gumroad в качестве кассы. Убедитесь, что вы установили Gumroad с билетами общего и специального назначения.

• В просмотре приложения "General Admission(Общий допуск)" добавьте компонент "Button(Кнопка)" из "+".

• Отредактируйте кнопку "Feautures(Особенности)", выберите "Action(Действие)" ("Opem link(Открыть ссылку)").

• Наведите курсор "Target(Цель)" на "Tickets checkout(Выдача билетов)", который содержит ссылку Gumroad.

В качестве альтернативы можно также использовать встроенную кассу Glide, Stripe или PayPal.

На странице расписания будут перечислены программа и темы мероприятий. Для построения представления расписания укажите источник данных на лист "Schedule(Расписание)". Вот как настроить мобильный пользовательский интерфейс на Glide:

• Стиль макета экрана с помощью режима "List(Список)".

• Вытащите данные, которые Вы хотите отобразить (тема, время).

• Компонент "Title(Название)", включающий название темы, время и обложку изображения.

• Компонент "Rich text(Богатый текст)" и название "Speaker(Спикера)".

• Компонент "List Relation" для связи существующей базы данных по спикерам (это не сработает, пока мы не сделаем следующий шаг).

Тема каждого заседания соответствует докладчику, который представляет эту тему. Вы можете создать базу данных докладчиков (имя, биография, тема, заголовок) и повторно использовать эту базу данных в базе данных Расписания.

• Перейдите к иконке "Data(Данные)" на левой боковой панели в меню Glide.

• Перейдите на вкладку "Schedule(Расписание)" в базе данных.

• Добавьте колонку+ из верхнего правого угла, отредактируйте настройки ниже.

В этот раздел можно включить часто задаваемые вопросы, такие как покупка билетов, возврат денег и т.д. Для создания этой страницы вы можете указать источник данных на лист "Часто задаваемые вопросы" и стиль отображения соответственно.

Пользователи могут задать дополнительные вопросы, не включенные в FAQ. Поэтому для этого можно создать контактную форму.

• Добавить элемент "Form Button(Кнопка заполнения формы)" на странице FAQ.

• Отредактируйте кнопку "Feautures(Особенности)", выберите "Action(Действие)" ("Show Form(Показать форму)").

• Наведите кнопку формы на источник данных "Ввод: ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ"

• Создайте 3 поля формы (полное имя, электронная почта и вопрос).

Каждый раз, когда пользователь задает свой вопрос, входные данные автоматически обновляются в этой электронной таблице " Ввод: ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ". Например:

Чтобы создавать мобильные приложения, не нужно проводить часы за учебниками по программированию и жечь глаза в Notepad. По крайней мере, в большинстве случаев. Собрать MVP нового приложения или, например, корпоративный таск−трекер можно быстро и просто с помощью no-code-инструментов. Некоторые из них, такие, как Glide, делают это за несколько минут.

Общие сведения

Glide — платформа для быстрой разработки MVP и прогрессивных веб-приложений на основе Гугл таблиц. Прогрессивное веб-приложение (PWA) работает через браузер, но его можно установить на домашний экран смартфона. Интерфейс PWA доступен работает даже без интернета, но для доступа к данным все-таки понадобится сеть.


«Обычная» мобильная страница (слева) и PWA (справа) на iOS без включенной сети

Особенность Glide — доступный интерфейс и низкий порог вхождения. По утверждению основателей, разработчик может создать на нем приложение на за семь секунд.

Платформу в 2018 году основали Дэвид Сигел и Джейсон Смит из Microsoft. Стартап собрал $3,8 млн в трех раундах инвестиций. Сайт платформы ежемесячно посещает примерно 300 тыс. человек.

Что умеет Glide

Изначально Glide собирает приложения на основе Google−таблиц, но недавно появилась возможность использовать внутреннюю БД Glide, что еще больше упростило разработку. Проект можно создать с нуля или использовать шаблоны из библиотеки Glide. Их более 300 и почти половина — бесплатные. Есть готовые решения для образования, финансов, здоровья, путешествий и других сфер. Это уже наполовину готовые приложения, которые после некоторых доработок можно применять в бизнесе.

Создать проект в Glide можно за четыре шага.

Шаг 1. Сначала заполняем таблицу данными. Сделать это можно в Google или непосредственно в Glide. Формат простой: первая строка — название свойства, а все, что ниже — данные. Редактируем данные и создаем новые таблицы там же. Внешне напоминает MySQL или аналогичную СУБД.


Чтобы изменения вступили в силу, таблицу нужно обновить вручную. Обратите внимание: лист Google-таблицы соответствует таблице в Glide, а вся таблица Google — это база данных приложения.

Шаг 2. Когда таблицы сформированы и БД подключена, создаем вкладки в разделе TABS. Для каждой вкладки определяем название, иконку, источник данных (один из листов в таблице) и стиль. Приложение отображается в виде эмуляции телефонного экрана: iPhone или смартфона на Android. Между вкладками можно переключаться прямо там.


Шаг 3. Для каждой вкладки настраиваем стиль. Он определяет не только внешний вид, но и функционал. Всего есть восемь стилей:

  • список
  • плитка
  • календарь
  • карта
  • чек-лист
  • карточки
  • свайп
  • детальная настройка.

Самый интересный — с детальной настройкой. В нем можно наполнять экран всеми необходимыми для мобильного приложения компонентами: кнопками, текстовыми полями, картами, изображениями и т.д. Чтобы добавить элемент, нужно на него кликнуть — он появится на экране и вкладке SCREEN. Компоненты в SCREEN выводятся списком. В той же последовательности они отображаются на экране приложения. Компоненты нельзя передвигать или вручную менять их размеры.


Остальные стили настраиваются по-минимуму. Например, в режиме плитки можно поменять стиль текста, количество отображаемых объектов и источник данных для текстовых элементов.

Шаг 4. Заключительный этап — публикация приложения. В бесплатной версии проект хостится на домене glideapp.io с QR-кодом для скачивания. Обратите внимание: в бесплатном тарифе нет десктопной или планшетной версии — приложение отображается в мобильном экране. Такой вариант подойдет для знакомства с платформой и MVP. Чтобы привязать проект к своему домену, нужно купить один из платных тарифов.


Тарифы в Glide

Тарифная сетка в Glide — гибкая и демократичная. Цена популярного плана Pro App составляет всего 32$. При этом он позволяет размещать проект на пользовательском домене, подключать Google Analytics и Zapier.

Если нужно приложение с повышенной безопасностью, Glide предлагает план Private Pro App. Он включает все опции Pro App, а также позволяет делить полномочия разработчиков по ролям и создавать «белый список» регистрации. Это значит, что получить доступ к вашему приложению смогут только пользователи, чьи email−адреса вы пометили как разрешенные. По умолчанию доступно 20 пользователей, но можно купить дополнительных по 2$.

В таблице собраны основные опции тарифов. С полной информацией можно познакомиться на странице Glide.


Есть еще тариф Enterprise — это гибкий и настраиваемый план для тех, кому нужно больше функций. Помимо опций из Private он предоставляет приоритетную техническую поддержку и выделенного менеджера. В теории, если у вас возникнет ошибка во время обновления данных, служба поддержки бросит другие дела и займется проблемой. Минимальный ценник — 999$. Точная стоимость и прочие условия обсуждаются персонально с компанией.

Ограничения Glide

В Glide нельзя создавать нативные приложения. Это значит, что собрать проект под конкретную ОС и залить его в сторы не получится. Готовый результат размещают либо на домене Glide, либо на пользовательском. Можно делиться ссылкой на страницу и переходить по QR-коду. Кстати, с 2019 года Play Market принимает PWA. А вот, чтобы разместить веб−приложение в App Store, нужна нативная обертка. Например, Cordova.

В Glide нельзя создавать игры. Инструмент решает бизнес-задачи, но функционал для геймдева не предусмотрен.

В отличие от конкурентов в Glide нет drag and drop — компоненты экрана выстраиваются в список, и их нельзя передвигать вручную. Хотя это не столько ограничение, сколько особенность разработки. Строгий порядок необходим, чтобы создавать приложения было легко и быстро.

Glide и программирование

Часто, чтобы отстроится от конкурентов или упростить взаимодействие с клиентами, компании нужно приложение. Как правило, речь идет о стандартных механиках: сделать заказ, найти место на карте, собрать данные о клиентах и т.д. Но даже за такую простую работу студия мобильной разработки попросит круглую сумму. Минимальная цена приложения для одной из ОС — 300 000 рублей. Добавим время, которого всегда не хватает. На согласование ТЗ уйдет минимум 1−2 недели, на разработку — еще минимум 3−4 недели. И это не считая правок и долгих согласований конечного продукта.

Такие платформы, как Glide — настоящая палочка−выручалочка для малого бизнеса. Чтобы собрать работоспособный сервис на основе ваших данных, достаточно 1−2 недели. Профессиональный зерокодер справится с задачей за несколько дней. При этом компания выигрывает в деньгах: заказ у зерокодера обходится минимум в 3−4 раза дешевле, чем у фрилансера-программиста.

Сравнение Glide с конкурентами

У Glide много конкурентов. Самые заметные из них — Adalo, Bubble и отечественный Directual. В таблице сравнили платформы по опциям и скорости обучения.


Главное достоинство Glide — необычайно высокая скорость разработки. Это ракета среди платформ зерокодинга. Чтобы собрать стандартный продукт, достаточно подключить БД и выбрать шаблон, в то время как на других платформах, чтобы собрать что-то стоящее, придется поработать руками. Glide отлично подходит для знакомства с мобильным зерокодингом. Научиться в нем работать куда проще чем, например, в Bubble и даже Adalo.

Сообщество и сертификация экспертов

В Glide есть целое комьюнити разработчиков с общим чатом и экспертами. Эксперты — это люди, которые хорошо знают платформу и разработали в ней уже не один проект. Лучшие становятся сертифицированными экспертами. С любым из них можно созвониться и обсудить стратегию создания приложения или договориться о сопровождении проекта. Некоторые берут за звонок до 20$.

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

Примеры приложений на Glide

MAKE. Мобильная методичка по макияжу по подписке на Glide

Время на разработку: 2 недели (большая часть — наполнение базы данных)

Затраты: 32$ (базовый тариф в Glide).

Как-то раз профессиональный программист Игорь помогал жене перевести бизнес в онлайн. Сначала автоматизировал на Integromat, потом перешел на Glide. А в пандемию за 3 недели назерокодил приложение для обучения макияжу MAKE.

Приложение интегрировано с ЮKassой, Integromat и GetCourse, можно выбрать свой цветотип, форму лица и глаз, найти инструменты и средства для макияжа, а также получить советы — где их лучше купить, чтобы не попалась подделка.


Если пользователь оплатил подписку с помощью банковской карты, информация о ней сохраняется. За 3 дня до окончания подписки пользователя предупредят о предстоящем списании. После автооплаты система пришлет результат — успешно прошло списание или денег на карте не оказалось. Эта логика собрана на GetCourse.

Проекция. Онлайн-фотошкола с элементами соцсети и админкой

Сколько времени заняло: 3 недели

Сколько денег потратили: 32$ по базовому тарифу.

«Проекция» — приложение для учеников одноименной онлайн-фотошколы. В нем ученики делают домашние задания, получают оценки и общаются друг с другом в тематических чатах. Администраторы приложения размещают обучающие материалы и упражнения через панель управления. Можно оформить подписку и получить доступ к закрытым материалам и курсам.

Есть задания в виде тестов (чек-листы) и такие, к которым нужно приложить фото или написать развернутый ответ. Преподаватель видит результаты и выставляет оценки. Учеников, которые сделали задание лучше других, можно хвалить «знаком отличника».

Благодаря приложению и сообществу ученики сильнее погружаются в обучение, а преподавателям проще размещать материалы и общаться с учениками. Каталог учеников и чаты помогают фотографам нарабатывать профессиональные связи.

WOM. Аналог Airbnb для поиска недвижимости в Вене

Время на разработку: 70 часов

Потраченные деньги: около 32$ (базовый тариф в Glide)

Путешествуя по Вене, digital-стратег Олег Ширяев обнаружил, что арендовать на короткий срок квартиру в центре города практически невозможно. Если и удавалось найти вариант, то квартира была едва пригодна для жилья. Все объекты контролировались риэлторами и разного рода посредниками.

Когда Олег нашел способ арендовать жилье без посредников, к нему пришла идея мобильного приложения.

WOM — это площадка, которая помогает найти и забронировать жилье в центре Вены напрямую у владельца. Если уже пользовались Airbnb, то и в WOM разберетесь. У приложений даже схожие интерфейсы — чтобы пользователи не переучивались и заново не привыкали к новому меню.

WOM получился полноценным приложением с каталогом квартир, картой, разделами «Вам может быть интересно» и «Сейчас просматривают». Олегу понадобилась ночь на изучение интерфейса Gilde и 2−3 дня на создание экранов и заполнение базы данных.


Сервис хоть и разрабатывался любителем, выглядит аккуратно и современно. Это еще одно достоинство зерокод приложений: у разработчика большой набор готовых шаблонов, которые можно кастомизировать, не угробив стиль. Поэтому получается профессиональный дизайн без дизайнера. Сейчас версия на немецком тестируется в Вене.

Где поучиться и что почитать

Хотя Glide прост в освоении, придется потратить время, чтобы профессионально овладеть платформой. Можно разбираться методом тыка: собрать с нуля свое приложение или простой клон популярного сервиса. Если знакомы с основами UX/UI и программирования, то уже через 2−3 дня сможете собирать серьезные приложения.

Полноценный курс на русском есть у нас в университете зерокодинга — «Зерокодер мобильных приложений». Что изучаем помимо Glide:

  • работа с Adalo,
  • основы UX/UI,
  • проектирование приложений и баз данных,
  • управление проектами,
  • заработок и поиск клиентов.

Обучение длится 2 месяца и стоит от 42 до 150 тыс. рублей в зависимости от выбранного тарифа. На выходе можно конкурировать со студиями и зарабатывать 200−300 тыс. рублей в месяц.

Интересные и подробные туториалы есть на Learn to Glide. В почти 60 обучающих видео эксперты рассказывают о базовых вещах, работе с данными, интеграциях и других инструментах для создания полноценного приложения. Все туториалы — на английском языке, но подача простая и не требует технических знаний.

Glide — лучшее решение, если на создание приложения нет ни времени, ни денег. Малый бизнес все чаще обращаются к услугам профессиональных зерокодеров, потому что выбирает эффективность и скорость. Конечно, для сложных проектов типа Яндекс.Go или Тинькоф Glide не подойдет, но для MVP или приложений с базовыми механиками — самое то.

Технический консультант: Сергей Горелов, эксперт по Glide и Adalo.

Изучить платформу можно на нашем курсе «Зерокодер мобильных приложений» — в первом на территории СНГ университете ZEROCODER. Вместо долгих поисков информации на англоязычных форумах можно за 2-3 недели освоить платформу без опыта в программировании и зарабатывать круглые суммы.

Игорь шесть лет работал программистом, пока не столкнулся с проблемой, которую надо было решить за пару дней. Так он познакомился с зерокодингом. Сначала использовал Integromat, а потом перешел на более тяжелую зависимость — Glide. Он рассказал, как назерокодил приложение для обучения макияжу MAKE.

Почему именно макияж?

Моя жена занимается макияжем, и в пандемию ей пришлось полностью переводить бизнес в онлайн. Сначала мы запустили курсы — и к нам пришло 2000 активных пользователей. Но почти сразу стало понятно — надо расширяться. Тогда я помог ей выпустить онлайн-тетрадь по макияжу. За 4 дня ее скачали и оплатили 500 человек, а мы задумались над созданием своего приложения.

Хотел, чтобы приложение решало ту же проблему, что и рабочая тетрадь. То есть помогать в выборе косметики и аксессуаров для определенного типа лица и советовать, где все это заказать, чтобы не купить подделку. Эти задачи я быстро решил с помощью MVP на Glide.

Что под капотом

Первый экран — авторизация, потом сразу открывается экран оплаты. Приложение доступно только по подписке: 399 руб/мес, или 1990 руб/год. Оплатить можно через ЮКаssу или с помощью банковской карты.

Цепочка действий в Integromat

После оплаты открывается встроенный в приложение лендинг с GetCourse. Почему выбрал именно его:

  • там уже собрана пользовательская база;
  • все материалы приложения сверстаны на этой платформе;
  • настроена работа с Юкаssа;
  • можно подключить автоплатежи.

Про автоплатеж

Если пользователь оплатил подписку с помощью банковской карты, информация о ней сохраняется. За 3 дня до окончания подписки пользователя предупредят о предстоящем списании. После автооплаты система пришлет результат — успешно прошло списание или денег на карте не оказалось.

У процесса оплаты подписки есть нюанс: тайм-аут между самим платежом, и моментом когда обновится Google-таблица, из которой берет информацию Glide. Чтобы это решить, я добавил мгновенное подключение триального периода после оплаты. Теперь пользователю не нужно ждать — ему сразу открывается полный доступ, даже если платежная информация еще не поступила в Glide.

Пользовательский интерфейс

Кроме советов, как сделать макияж, приложение предлагает средства и инструменты, которые помогают правильно его нанести. В Glide работает поиск — и можно найти любой бренд среди 400 позиций.

Сколько потратил на разработку

Я 3 часа смотрел уроки по Glide, а потом за 4 вечера продумал структуру и основной функционал приложения. Дольше всего вносил 400 продуктов в систему (средства для макияжа, аксессуары и информация о них) — просидел над этой задачей 2 недели :)

Сейчас хочу проверить гипотезу — есть ли job story, которые можно решить этим приложением и какую еще ценность может дать пользователям MAKE. Когда заработаю достаточно, буду расширять команду и сделаю стартап в сфере макияжа по сборке make up-приложений, для загрузки в официальные сторы.

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

Смотреть кейс на видео

Изучить платформу можно на нашем курсе «Зерокодер мобильных приложений» — в первом на территории СНГ университете ZEROCODER. Вместо долгих поисков информации на англоязычных форумах можно за 2-3 недели освоить платформу без опыта в программировании и зарабатывать круглые суммы.

Игорь шесть лет работал программистом, пока не столкнулся с проблемой, которую надо было решить за пару дней. Так он познакомился с зерокодингом. Сначала использовал Integromat, а потом перешел на более тяжелую зависимость — Glide. Он рассказал, как назерокодил приложение для обучения макияжу MAKE.

Моя жена занимается макияжем, и в пандемию ей пришлось полностью переводить бизнес в онлайн. Сначала мы запустили курсы — и к нам пришло 2000 активных пользователей. Но почти сразу стало понятно — надо расширяться. Тогда я помог ей выпустить онлайн-тетрадь по макияжу. За 4 дня ее скачали и оплатили 500 человек, а мы задумались над созданием своего приложения.

Хотел, чтобы приложение решало ту же проблему, что и рабочая тетрадь. То есть помогать в выборе косметики и аксессуаров для определенного типа лица и советовать, где все это заказать, чтобы не купить подделку. Эти задачи я быстро решил с помощью MVP на Glide.

Первый экран — авторизация, потом сразу открывается экран оплаты. Приложение доступно только по подписке: 399 руб/мес, или 1990 руб/год. Оплатить можно через ЮКаssу или с помощью банковской карты.

После оплаты открывается встроенный в приложение лендинг с GetCourse. Почему выбрал именно его:

  • там уже собрана пользовательская база;
  • все материалы приложения сверстаны на этой платформе;
  • настроена работа с Юкаssа;
  • можно подключить автоплатежи.

Если пользователь оплатил подписку с помощью банковской карты, информация о ней сохраняется. За 3 дня до окончания подписки пользователя предупредят о предстоящем списании. После автооплаты система пришлет результат — успешно прошло списание или денег на карте не оказалось.

У процесса оплаты подписки есть нюанс: тайм-аут между самим платежом, и моментом когда обновится Google-таблица, из которой берет информацию Glide. Чтобы это решить, я добавил мгновенное подключение триального периода после оплаты. Теперь пользователю не нужно ждать — ему сразу открывается полный доступ, даже если платежная информация еще не поступила в Glide.

Кроме советов, как сделать макияж, приложение предлагает средства и инструменты, которые помогают правильно его нанести. В Glide работает поиск — и можно найти любой бренд среди 400 позиций.

Я 3 часа смотрел уроки по Glide, а потом за 4 вечера продумал структуру и основной функционал приложения. Дольше всего вносил 400 продуктов в систему (средства для макияжа, аксессуары и информация о них) — просидел над этой задачей 2 недели :)

Сейчас хочу проверить гипотезу — есть ли job story, которые можно решить этим приложением и какую еще ценность может дать пользователям MAKE. Когда заработаю достаточно, буду расширять команду и сделаю стартап в сфере макияжа по сборке make up-приложений, для загрузки в официальные сторы.

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

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

Chike Mgbemena

Chike Mgbemena Feb 28, 2017

Russian (Pусский) translation by Ellen Nelson (you can also view the original English article)

What You'll Be Creating

1. Что такое Glide?

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

2. Так зачем использовать Glide?

Разработка своего собственного функционала для отображения и загрузки медиа на Java может оказаться настоящей головной болью: вам нужно будет позаботиться о кешировании, декодировании, управлении сетевых соединений, потоков, обработке исключений и о многом другом. Glide — это простая в использовании, хорошо спланированная, хорошо документированная и тщательно протестированная библиотека, которая поможет сохранить вам уйму времени — и избавить вас от головной боли.

В этом уроке, мы будем изучать Glide 3, создавая на нем простую галерею изображений. Изображения будут загружаться из интернета и отображаться миниатюрами в RecyclerView; пользователь нажимает на изображение и открывается детальная активити с изображением побольше.

3. Создаём проект в Android Studio

Запустите Android Studio и создайте новый проект с пустой активити под названием MainActivity .

Android Studio new project screenshot
Android Studio new project screenshot
Android Studio new project screenshot

2. Объявление зависимостей

После создания нового проекта, укажите следующие зависимости в build.gradle .

Или с помощью Maven:

Убедитесь, что вы синхронизации ваш проект после добавления зависимостей Glide.

Интеграция библиотек

Volley

Вы можете посетить официальное руководство по интеграции библиотек Glide для получения дополнительной информации.

3. Добавляем разрешение на использование Интернета

Так как Glide выполняет сетевой запрос для загрузки изображений через Интернет, нам нужно включить разрешение на INTERNET в нашем AndroidManifest.xml.

4. Создаём макет

Начнем с создания нашего RecyclerView .

Создание пользовательских элементов макета

Далее создадим структуру XML, которая будет использоваться для каждого элемента ( ImageView ) внутри RecyclerView .

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

5. Создание модели данных

Мы определим простую модель данных для наших RecyclerView . Эта модель реализует Parcelable для высокой производительности передачи данных из одного компонента в другой. В нашем случае данные будут переноситься из SpaceGalleryActivity в SpacePhotoActivity .

6. Создаем адаптер

Создадим адаптер для заполнения RecyclerView данными. Также реализуем прослушиватель нажатия, чтобы открывалась активити с детализацией — SpacePhotoActivity , передавая экземпляр SpacePhoto в дополнение. Актвити детализации будет показывать изображение крупным планом. Мы создадим его в следующем разделе.

7. Загрузка изображения по URL

Вот тут нам и понадобится Glide, чтобы получить изображения из Интернета и отобразить их в отдельных ImageView , используя наш метод onBindViewHolder() в RecyclerView, когда пользователь прокручивает содержимое приложения.

Шаг за шагом, как мы будем применять Glide:

  • with(Context context) : мы начинаем процесс загрузки с передачи нашего первого содержимого в метод with() .
  • load(String string) : источник изображения указан либо как путь к каталогу, URI или URL адреса.
  • placeholder(int resourceId) : идентификатор локального ресурса приложения, желательно использовать "drawable", то что будет показано пока не загрузится и отобразится нужное изображение.
  • into(ImageView imageView) : представление изображения, куда будет помещено настоящее изображение.

Помните, что Glide также может загружать локальные изображения, по идентификатору Android ресурса, по пути к файлу или Uri в качестве аргумента метода load() .

Изменение размера изображения и преобразование

Вы можете изменить размер изображения, прежде чем оно отобразится в ImageView с методом Glide .override(int width, int height) . Это полезно если ваше приложение создает превьюшки, при загрузке изображения с сервера с другими размерами. Обратите внимание, что размеры в пикселях, а не dp.

Также доступны следующие преобразования изображения:

  • fitCenter() : масштабирует изображение равномерно (сохраняя пропорции изображения) так, чтобы изображение вместилось в данную область. Изображение будет видно целиком и может быть иметь вертикальный или горизонтальный отступ.
  • centerCrop() : масштабирует изображение равномерно (сохраняя пропорции изображения) так, чтобы изображение заполняло данную область, показав изображение по возможности полностью. При необходимости, изображение будет обрезано по горизонтали или вертикали, для соответствия размеру.

8. Инициализация адаптера

Теперь создадим RecyclerView с GridLayoutManager как менеджер компоновки, инициализируем адаптер и привяжем его к RecyclerView .

9. Создание активити для детализации

Создадим новую активити и назовем ее SpacePhotoActivity . Мы получим SpacePhoto и загрузку изображений с Glide, как мы делали это ранее. Здесь мы ожидаем файл или URL для Bitmap , поэтому мы будем использовать asBitmap() , для того, чтобы Glide получил Bitmap . В противном случае загрузка завершится ошибкой и сработает вызов .error() — тогда будет возвращен и показан ресурс drawable из вызванной ошибки. Также можно использовать asGif() , если вы хотите проверить, что загружаемые изображения являются GIF. (Я вскоре объясню, как работает GIF в Glide).

Обратите внимание, что мы также инициализируем уникальный кэш для загрузки изображений: DiskCacheStrategy.SOURCE . Я расскажу подробнее о кэшировании в следующем разделе.

Макет детального вида

Вот макет для отображения активити детализации. Он просто отображает прокручиваемый ImageView , который будет показывать полноразмерное изображение.

10. Кэширование в Glide

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

Как только изображение было загружено с интернета, Glide сохранит его в памяти и на диске, сохранив от повтора сетевых запросов и позволив быстрее получить изображение. Таким образом, перед загрузкой изображения из сети, Glide сначала проверяет наличие изображения в памяти или на диске.

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

Как отключить кэширование?

Вы можете отказаться от кэширования в памяти путем вызова .skipMemoryCache(true) . Но имейте в виду, что изображения по-прежнему будут кэшироваться на диске — для предотвращения этого — используется метод .diskCacheStrategy (DiskCacheStrategy strategy) , который принимает одно из следующих значений:

  • DiskCacheStrategy.NONE : данные не сохраняется в кэше.
  • DiskCacheStrategy.SOURCE : исходные данные сохраняются в кэше.
  • DiskCacheStrategy.RESULT : сохраняет результат данных после преобразований в кэше.
  • DiskCacheStrategy.ALL : кэширует исходные и преобразованные данные.

Чтобы отключить оба кеширования и в памяти и на диск, просто вызовите оба метода один за другим:

11. Прослушивание запросов

В Glide можно применить RequestListener для отслеживания состояний запроса, сделанного при загрузке изображения. Будет вызван только один из методов.

  • onException() : срабатывает всякий раз, когда возникает исключение, так что вы можете обрабатывать исключения в этом методе.
  • onResourceReady() : срабатывает, когда изображение загрузилось успешно.

Вернемся к нашему приложению галереи изображений и немного изменим отображение, с помощью объекта RequestListener , который будет назначать растровое изображение для ImageView , а также изменим фоновый цвет путем извлечения темного оттенка, в зависимости от цвета изображения с помощью API палитры Android.

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

12. Тестируем приложения

Наконец, можно запустить приложение! Нажмите на превьюшку, чтобы полуить полноразмерное изображение.

Emulator running the application screenshots
Emulator running the application screenshots
Emulator running the application screenshots

10. Анимации

Когда вы запустите приложение, вы заметите crossfade анимацию при отображении изображения. Это по умолчанию включено в Glide, но вы можете отключить его путем вызова dontAnimate() , так что изображение будет просто отображаться без каких-либо анимации. Вы также можете изменить эту анимацию затухания путем вызова crossFade(int duration) , указав продолжительность в миллисекундах, либо ускорить ее или замедлить, значение по умолчанию — 300 миллисекунд.

Анимированные GIF

Показывать анимированные GIF в вашем приложении через Glide очень просто. Это работает так же, как отображение обычного изображения.

Если вы ожидаете GIF изображение, вызовите asGif() — это настроит Glide на получение GIF изображения, в противном случае загрузка завершится ошибкой и вместо этого будет показан Drawable , переданный методом .error() .

Воспроизведение видео

К сожалению Glide не поддерживает загрузку и отображение видео через URL. Вместо этого, он может только загружать и отображать видео с телефона. Показать видео можно передав его URI в метод load() .

Заключение

Отличная работа! На этом уроке вы построили полноценное приложении галереи с Glide и по пути узнали как работает эта библиотека и как вы можете интегрировать ее в свой собственный проект. Вы также узнали, как отображать локальные и удаленные изображения, как показывать анимированные GIF-файлы и видео, как применять преобразования изображения, на примере изменения размеров. И не только это. Вы видели, как легко можно включить кэширование, обработку ошибок и прослушиватьель запросов.

Чтобы узнать больше о Glide, обратитесь к ее официальной документации. Чтобы узнать больше о написании приложений для Android, посмотрите некоторые из наших других курсов и уроков на Envato Tuts+!

Читайте также: