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

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

Я не в первый раз ошибаюсь. Это часть группы, известной своим дальновидным мышлением. «Быть ​​слишком далеко впереди - значит ошибаться». Я часто говорю это со скрытой гордостью, потому что мне нравится изображать себя провидцем. Я не должен: в данном случае я просто ошибался.

Все, что я ошибся

Давайте взглянем на список заблуждений, которые у меня были о офлайн.

4G скоро будет везде - неправильно

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

Опыт разработчика важнее UX - неверно

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

Технические архитекторы не знают, что им нужно - неправильно

Архитекторы стараются прикрыть свои основы и убедиться, что в оцениваемых ими продуктах есть все, что им может когда-либо понадобиться. Иногда они также сосредотачиваются на модных вещах, и я считал, что «сначала офлайн» - это просто шумиха. Я совершил самую глупую ошибку: я думал, что я умнее их - я был совершенно неправ.

Автономный режим для редких сценариев - неверно

Я разговаривал с несколькими компаниями: с одной, которая продает лотерейные билеты в США; аэропорт ищет приложение для использования на взлетной полосе; медицинский персонал с приложениями, используемыми в подвалах больниц; компании в Африке, на Ближнем Востоке и в Южной Америке и так далее.

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

Локальные данные только для офлайн - неверно

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

Офлайн-режим не может быть выполнен в соответствии с текущими стандартами - неверно

Стандарты, которые мы знаем и (иногда) любим, были разработаны для онлайн-приложений, а не для офлайн. HTML5 не мог нормально работать в автономном режиме. Однако оказывается, что даже когда техническая задача кажется невыполнимой, я должен знать лучше - для наших команд НИОКР нет «невозможного».

JavaScripting Around It

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

OutSystems 10: визуальный оффлайн

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

Также включены обнаружение состояния сети и ловушки для синхронизации данных. Поскольку все эти функции полностью интегрированы, теперь стало проще поддерживать приложения, созданные с их помощью. Это были значительные вложения в НИОКР, которые ни одна компания никогда не пробовала, но мы гордимся, что сделали все правильно.

Учиться на ошибках

Все те офлайновые вещи, в которых я ошибался, преподали мне пару важных уроков.

Урок №1. Мы живем настоящим. Будущее будет отличаться от того, что любой из нас может представить. Мы все здесь, чтобы создавать приложения, которые улучшают жизнь пользователей сегодня, где бы они ни находились.

Урок №2: никогда не отказывайтесь от наших основных ценностей. Если мы утверждаем, что можно создавать очень сложные приложения, которые легко изменять, мы должны сдержать свое слово.

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

Хотите попробовать создать оффлайн-возможности по принципу OutSystems? Наша персональная версия бесплатна навсегда.

Нужен сильный мужчина, чтобы признать, что он ошибается насчет офлайна! Расскажите своим друзьям: LinkedIn | Twitter | Facebook | "Эл. адрес"

Первоначально опубликовано на www.outsystems.com.