Мне было интересно, какое решение для прогрессивного веб-приложения для IOS-устройств, так как их браузер по умолчанию SAFARI еще не поддерживает прогрессивные веб-приложения. Какая альтернатива для IOS-коллег?
Что такое прогрессивное решение для веб-приложений для IOS
Ответ 1
Помните, что "браузеры, поддерживающие Progressive Web Apps" - это не реальный термин, а PWA - это набор функций, которые веб-приложение может предоставить пользователям. Так что речь идет не только о Service Worker и App Manifest.
Проверьте: Базовый контрольный список PWA.
Вот что вы можете сделать для достижения PWA на iOS/Safari на момент создания этого ответа:
- Сайт обслуживается через HTTPS ✅
- Страницы реагируют на планшеты & мобильные устройства ✅
- Начальный URL (как минимум) загружается в автономном режиме 🚫
- Метаданные для добавления на главный экран ✅❗️
- Первая загрузка быстрая даже в 3G ✅
- Сайт работает кросс-браузер ✅
- Переходы страниц не чувствуются, как будто они блокируются в сети ✅
- У каждой страницы есть URL ✅
Как видите, почти все работает, даже если ваша страница не может работать в автономном режиме на iOS/Safari, все еще есть огромное преимущество "обновления" вашего веб-приложения в PWA.
То, что вы действительно хотите, это не причудливый заголовок "Progressive Web Apps", а хорошее веб-приложение, которое предоставляет пользователям удобные возможности и функции. Это путешествие, которое вы можете совершить с помощью каждой маленькой детали, поэтому оно называется "прогрессивным".
Обратите внимание на "Добавить на главный экран: Safari имеет собственную спецификацию для" значка главного экрана "под названием apple-mobile-web-app-capable
в метатегах. Генератор манифестов веб-приложения имеет запасной вариант для iOS, использующий эти метатеги.
Ответ 2
ОБНОВЛЕНИЕ 3:
Сервисные работники отправили в Safari для iOS 30 марта 2018 года!
ОБНОВЛЕНИЕ 2:
24 января 2018 года разработчик Apple по имени Рики Монделло написал в Твиттере:
https://twitter.com/rmondello/status/956256845311590400
"iOS 11.3 и macOS 10.13.4 включают Service Workers - мощную спецификацию, которая позволяет фоновым сценариям включать автономные веб-приложения. iOS 11.3 также обращается к манифесту веб-приложения при добавлении веб-приложений на домашний экран".
Удивительный!
Пока нет ни слова о push-уведомлениях, но все же удивительные новости.
EDIT:
Я написал статью с призывом Apple на эту тему:
Он был опубликован в хакерских новостях и получил хороший отклик в Twitter. Через неделю они начали разработку на нем. Так что - следите за обновлениями, похоже, наконец-то на этом пути!
ОРИГИНАЛЬНЫЙ ОТВЕТ:
"Так что речь идет не только о Service Worker и App Manifest".
На мой взгляд, это именно то, о чем на самом деле говорит PWA - работник сервиса. Это то, что позволяет вам делать все удивительные вещи, которые делает возможным PWA. Базовую линию можно было достигать в течение долгого времени, и хотя Google технически установил их в качестве базовой классификации, эти вещи не являются тем, что действительно делает PWA тем, чем оно является. В противном случае это просто обычное адаптивное веб-приложение в моей книге.
Вот список вещей, которые вы все еще не можете сделать с помощью мобильного сафари из-за отказа Apple поддержать их (потому что они потеряют деньги в магазине приложений):
- Создать экран загрузки приложения
- Используйте push-уведомления
- Добавить поддержку в автономном режиме
- Создать начальный пользовательский интерфейс приложения для немедленной загрузки
- Оперативная установка на домашний экран через диалоговое окно браузера
Принятый ответ действительно рисует здесь неправильную картину. Я довел до предела опыт "мобильного" яблока в мобильном сафари, и он все еще довольно плох. У меня возникли многочисленные проблемы с полноэкранным режимом мобильного сафари, и Apple просто не заботится о них. С ним обращаются как с гражданином второго сорта, потому что он не генерирует деньги, как магазин приложений.
Вы заметите, что если вы добавите новый и удивительный мобильный сайт на базе реагирования/избыточности в Twitter на свой домашний экран на iOS, он не откроется в полноэкранном режиме. Я подозреваю, что по тем же причинам, которые я нашел, - много ошибок, и никто из команды Apple не работал над ними.
Экран загрузки, который когда-то был возможен в полноэкранном режиме iOS, который был доступен в манифесте веб-приложения, таинственным образом перестал работать, без каких-либо комментариев от Apple на их форумах по сообщениям на эту тему. И необходимость сказать пользователям: "О, эй, просто нажмите кнопку" Поделиться ", а затем перейдите к" Добавить на главный экран "" - это ужасный путь к решению проблем.
Это печальное положение дел. Список в текущем принятом ответе должен называться "Базовый отзывчивый список веб-приложений".
И ответить на вопрос здесь - нет, альтернативы нет, и вы ничего не можете сделать. Вам нужно сыграть в игру Apple, заплатить 100 долларов, чтобы получить доступ к магазину приложений, а также выучить совершенно другой и более сложный язык программирования и сохранить совершенно отдельную кодовую базу.
Я только что потратил 6 месяцев на изучение React Native для клиентского проекта, и это было здорово. Я очень рекомендую это. Вы можете создавать действительно нативные приложения, используя JavaScript, и делиться своей кодовой базой между iOS и Android.
Чтобы было ясно, я не против Apple. Я использую iPhone и развиваюсь на Mac. Но этот аспект их бизнес-стратегии, безусловно, позор.