Ну что, я же обещал сюрприз к новому году, хотя и переживал, что мы можем не успеть пройти ревью. Об этом знают даже не все мои коллеги, так как всю работу мы держали в секрете — вы узнаёте в числе первых!
UPD: на iOS тоже прошли ревью!
Впервые приложение Хабра появилось к 8-летию сайта в далёком 2014 году (аж 8 лет назад!), причём сразу для трёх платформ — iOS, Android и Windows Phone. Помогли нам в этом ребята из CleverPumpkin, которые написали все три приложения с нуля.
Позже случилось то, что случилось: поддерживать работоспособность приложения на всех трёх платформах оказалось сложновато, особенно внедрять в него поддержку новых функций и изменения архитектуры. Поэтому спустя какое-то время мы приняли непростое решение поставить работу над мобильными приложениями на паузу и убрать их из сторов, хотя какое-то время они худо-бедно ещё продолжали функционировать (пока не умер сертификат).
Шло время, мобильный трафик рос как на дрожжах. За это время мы проделали большую работу над Хабром, полностью переписав его: переехали на современный стек, сердцем которого стал Vue.js. Набили шишек с SSR и Streaming Rendering. Разобрались с технологиями PWA. Избавились от груза legacy. Выстроили прозрачное взаимодействие между бэком и фронтом. Хабр стал адаптивным и кросс-платформенным. Всё это позволило нам сфокусировать усилия, сократить стоимость и время разработки, стать более гибкими в вопросах внедрения новой функциональности. И да, это сложно, но мы хотим сделать единую платформу Хабра доступной с любого устройства. Таков путь.
Так бы оно и шло, но однажды в телеграме мне написал Денис @Mofas Германенко (руководитель компании) с головокружительным предложением:
Учитывая количество пользователей с мобильных устройств и тот факт, что скачать приложение проще, чем добавить его на рабочий стол из браузера, мы без раздумий согласились.
Собрали группу, обсудили план работ — для начала решили просто запаковать сайт в веб-вью. Отрисовали иконки и необходимые экраны, оживили и актуализировали наши учётные записи в сторах, поколупались с сервис воркером и кэшем nginx-а, упаковали всё и начали тестировать через Firebase. Вес крошечный (Android-версия вышла всего 1.8Мб), скорость работы — кайф.
Когда стало понятно, что ожидания оправдались, отправили приложения на ревью: Android-версия сразу прошла, по iOS (будет работать на версиях 14+) получили реджект с несколькими комментариями, которые постараемся оперативно исправить.
UPD: через час после публикации поста коллеги сообщили, что ревью в App Store тоже пройдено! Так что скачать приложение Хабра можно и на iOS.
В будущем планируем доставлять максимально нативный пользовательский опыт, добавить полезноты (например явно не хватает оффлайн-режима).
Каких-то дополнительных подробностей пока не будет — надеюсь, что коллеги расскажут обо всём в своём блоге, а пока:
-
Преогромная благодарность CleverPumpkin — подписывайтесь на их блог на Хабре
-
Не знаю как вы, а я уже плюсанул им карму: @Mofas, @Slowpoke_QA, @LadaLarkina, @danyaffff
-
А также своим коллегам (им давно), принимавшим участие в этом квесте: @buxley, @inzeppelin, @nomad_77, @alcochtivo, @melpnz, @pas
-
Если что-то не работает или найдёте баги, то пишите о них в комментариях или мне в личку, поправим.
Всех с наступающим!
Автор: Алексей