Владимир Харлампиди - автор Swiper и Framework7 - рассказал о своих разработках, которыми пользуются миллионы его коллег по всему миру
Пандемия и цифровизация всех сфер жизни привели к скачкообразному росту популярности мобильных приложений и сайтов. Так, в 2022 году загрузки приложений в Google Play стали выше на 9,7% по сравнению с 2021-м, а в App Store на 7,8%, по данным Asomobile. Развитием мобильных приложений в помощь “коллегам по цеху” занимается Front-end и open-source разработчик, автор Swiper и Framework7 Владимир Харлампиди. О проектах, ставших важной частью повседневности миллионов программистов и пользователей, поговорили с экспертом.
- Владимир, хочется начать наш разговор с проекта Swiper, идеального решения для разработчиков, которые ищут галерею для своих веб-сайтов и приложений. Расскажите, как Вы создали самый популярный продукт своего класса в мире?
- В начале своего профессионального пути, в 2012-2014 годах, в качестве front-end разработчика, я сотрудничал на аутсорсе с крупными IT- и медиа компаниями, такими как российский филиал Disney и ADV. В то время, как и сейчас, в оформлении веб-сайтов, особенно на главной странице, играли важную роль слайдеры - элементы веб-дизайна в виде блока с изменяющимися элементами - картинками, ссылками, текстами. Я осознал, что целесообразным решением будет использовать одну из существующих библиотек слайдеров для всех моих проектов. И тут возникла сложность. Мобильные браузеры в iOS и Android активно развивались, но не было продукта, корректно работающего не только с помощью мыши или клавиатуры, но и поддерживающего жесты на сенсорном экране мобильного устройства. Так и возникло решение разработать собственную библиотеку. Мне, например, нравилось, как плавно и отзывчиво реализовано пролистывание изображений в приложении Галерея/Фото на iOS. Хотелось создать не хуже, используя web-технологии, и сделав этот инструмент доступным для всех. Таким образом, проект Swiper значительно облегчил задачи разработчиков, предложив широкий функционал и простую установку. С помощью Swiper можно создавать сложные и привлекательные слайдеры, а также настраивать различные параметры и функции.
- Swiper обладает колоссальным набором функций, минимальным количеством ошибок и оптимизированным дизайном. Какие функции программы выделяете Вы, как разработчик?
- В отличие от аналогов, Swiper предоставляет дополнительные функции: 3D-карточки, 3D-куб, затухание и 3D-Coverflow. Еще в нем можно создавать собственные уникальные эффекты смены слайдов. Я бы отметил, что Swiper использует модульную архитектуру, а это позволяет разработчикам выбирать только нужные им функции и избегать излишнего «веса» в своих проектах. Также, Swiper имеет встроенную поддержку сенсорных устройств. Программа автоматически адаптируется к размерам экрана и реагирует на изменения окна, давая отличное отображение на различных устройствах и разрешениях. Важно, что проект совместим с разными браузерами и работает надежно на всех актуальных версиях, обеспечивая широкую доступность для пользователей. Активное развитие и поддержка, участие сообщества и открытый исходный код способствуют его стабильности и надежности.
- По статистике сайта nerdydata.com, мобильный слайдер Swiper используется более чем на 600 тысячах сайтов, в том числе и таких крупных компаний, как Samsung, Sony, TikTok, Ikea, Zoom, McDonalds, Porsche, Lamborghini, Mercedes Benz. Что привлекает гигантов рынка в этом продукте?
- На странице Swiper’a на jsDelivr (бесплатная сеть доставки контента - прим.ред.) сейчас почти 2 млрд запросов за последний месяц. Если вы заходите на сайт и видите там слайдер, то в 90% случаев там используется именно Swiper. Существует несколько альтернативных библиотек, но они либо уже не поддерживаются, либо обладают ограниченным функционалом. Например, Slick по сравнению с Swiper, имеет ограниченную функциональность, не такие разнообразные настройки и вариативность, и не обладает такой же гибкостью и модульностью. Кроме того, Slick больше не поддерживается и не развивается. По аналогичным параметрам другие популярные библиотеки для создания слайдеров - Owl Carousel, Flickity, Glide.js - проигрывают Swiper.
- В 2014 году вы участвовали в хакатоне Static Showdown – ежегодном онлайн-соревновании по программированию, сосредоточенном на разработке статических веб-сайтов, приложений и игр. Именно там появилась первая версия вашей уникальной разработки Framework7. Расскажите, как это произошло?
- Когда я размышлял о проекте, который хочу представить на хакатоне, мне пришла идея воссоздать интерфейс приложений для iOS, используя веб-технологии. Меня вдохновил вновь выпущенный iOS 7 с его совершенно новым «плоским» дизайном, а также эффектными анимациями и переходами. Будучи front-end разработчиком и имея навыки работы с сенсорными экранами, я видел в этом интересный и полезный опыт. В то время направление по созданию веб-приложений для мобильных устройств активно развивалось, и единственным знакомым мне оптимизированным для сенсорных устройств фреймворком был jQuery Mobile. Однако, он выглядел устаревшим и не соответствовал современному дизайну. В рамках хакатона я разработал первую версию Framework7 всего за 48 часов. Мой проект был признан победителем в номинации «Любимец публики» по голосованию пользователей. В течение месяца я разместил ссылку на первую версию Framework7 на Hacker News - популярном веб-сайте для обмена новостями и обсуждения технологий и стартапов. Пост быстро набрал более 100 комментариев. Это подтвердило интерес разработчиков к проекту, и я решил продолжить его развитие.
- Framework7 решает одну из главных проблем разработки - сложность. Программа позволяет создавать мобильные приложения с меньшим количеством знаний и навыков, чем требовалось ранее. За счет чего это стало возможно?
- В гибридных приложениях весь интерфейс пишется на языках веб-программирования - HTML, JavaScript, CSS с применением готовых и адаптированных UI библиотек, как Framework7. Далее, в дополнение берется так называемая “библиотека-мост”, например Capacitor, Cordova, которая, по сути, связывает интерфейс веб-приложения с системными функциями устройства - пуш-уведомлениями, чтением контактов, сообщениями, доступом к галерее. В итоге, мы получаем приложение, интерфейс которого написан как сайт, но оно также может работать и выглядеть как “нативное” приложение. Большой плюс такого подхода – не только простота, но и экономия времени и ресурсов - один веб-разработчик может сделать приложение для iOS и Android, тогда как в нативных приложениях требуется как минимум 2 специалиста - для Swift и для Kotlin (Swift и Kotlin - языки программирования, используемые для создания мобильных приложений - прим.ред.). Причем, разработка приложений на Framework7 возможна как с использованием так называемых “ванильных” веб-технологий - HTML, CSS, JavaScript, так и с React, Vue, Svelte. В каком-то смысле, Framework7 стал революционером и продлил жизнь направлению “гибридных” мобильных приложений.
- Участие в хакатоне когда-то дало Вам толчок для стремительного развития. Сейчас Вы сами часто выступаете в качестве судьи на подобных мероприятиях, например, SPRING 2023 или Human Hack 2023. Какие тренды видите?
- Очень много перспективных идей у молодежи. Сейчас тренд номер один - это, пожалуй, искусственный интеллект. И на последнем хакатоне Human Hack, где я был среди экспертов, я давал кейс на разработку детского мобильного образовательного приложения. Решения нескольких команд меня очень удивили и порадовали, потому что они применили искусственный интеллект там, где я даже не ожидал. Хакатоны играют важную роль в развитии технологической индустрии и общества в целом. Они предоставляют возможность для студентов, новаторов, разработчиков и предпринимателей собраться вместе, поделиться идеями и поработать над развитием новых и инновационных решений.
- Каких еще прорывов и революций в ИТ-мире нам ждать?
- Считаю, что мы увидим еще больше инноваций в области web-разработки и интерфейсных технологий. Я убежден в потенциале PWA ( прим. ред. Progressive Web Apps), которые будут продолжать стирать границы между веб- и нативными приложениями. Поэтому ожидаю появления новых мощных и универсальных фреймворков, дарующих разработчикам еще больше свободы и гибкости. Также из-за растущего значения данных и их обработки, я предполагаю значительные прорывы в области машинного обучения и искусственного интеллекта. Жду появления новых инструментов и библиотек, упрощающих интеграцию функций машинного обучения прямо в веб-приложения. Вероятно, мы увидим новые функций и протоколы для обработки больших объемов данных в браузере. И последнее - я предвижу дальнейшее углубление тенденции к безсерверной архитектуре. Эти технологии позволяют разработчикам сконцентрироваться на создании приложений, снижая затраты на поддержку инфраструктуры, и обеспечивая лучшую производительность для пользователей. Именно в этом направлении мы можем ждать самые яркие и важные инновации. Тем временем, я продолжу улучшать и модернизировать свои продукты - Swiper и Framework7. У проекта уже есть официальный форум, где программисты обмениваются опытом, задают вопросы, и помогают друг другу решать проблемы. У Swiper и Framework7 также имеются свои “премиум” Discord-каналы, которые используются мной для оказания платной технической поддержки. Также у меня в планах сделать продукт, позволяющий создавать мобильные приложения без знаний и использования программирования, так называемое no-code решение. Уже есть такие сервисы, как Wappler и Thorium Builder от сторонних компаний, и они базируются на моем Framework7. Но я уверен, что мы с командой сможем создать решение еще на порядок эффективнее: никто не знает Framework7 лучше его создателя. Также, было бы полезно продвижение и использование Framework7 в образовательных учреждениях и среди начинающих разработчиков, что могло бы способствовать развитию местной экспертизы в этой области.
Анна Попова