Что использовать при разработке сайта и приложения для маркетплейса
В большинстве случаев при создании маркетплейса разрабатывается сайт и мобильное приложение. Давайте разберёмся, какие же технологии лучше использовать для этого.
Разработка сайта
Обычно используется PHP в качестве серверного языка программирования, MySQL в качестве системы управления базами данных и какая-нибудь система управления контентом (CMS). Почему именно эти технологии? Потому что это самое простое и быстрое решение, с которым может работать очень много разработчиков. В случае чрезвычайной ситуации можно сменить разработчика или команду разработки и это не повлечет каких-либо существенных последствий.
Есть мнение, что маркетплейсы — это некая сложная система, которую нужно писать на более низкоуровневых языках. Но мы считаем, что чем сложнее технологию вы выбираете, тем сильнее ограничиваете количество разработчиков, с которыми можете работать, а значит изначально повышаете стоимость разработки. Кроме того, вы всегда будете привязаны к человеку или команде, что может затруднить поддержку проекта в дальнейшем. Поэтому здесь не нужно себя ограничивать, а брать проверенную технологию и делать первую версию своего проекта.
Тем более PHP и MySQL активно развиваются и уже сейчас с их помощью можно создавать решения практически любой сложности и с любой функциональностью.
С технологиями определились, а вот что выбрать в качестве CMS для маркетплейса? Как показывает наш опыт, практически под любую идею можно использовать готовое решение, которое либо в полной мере покрывает необходимый функционал или требует небольших доработок. Например, мы в Tamaranga создали специализированные решения для доски объявлений и биржи услуг.
Конечно, есть и относительно бесплатные решения, например, на Wordpress. Там много шаблонов как для бирж услуг, так и для товарных маркетплейсов. Но эта система создана в первую очередь под журналы и блоги, а значит вы почти гарантированно столкнётесь с проблемами производительности и оптимизации сайта.
Как мы рекомендуем выстраивать разработку маркетплейса:
- Выбрать ту или иную готовую CMS.
- Выписать, чего не хватает для реализации вашей идеи, то есть что нужно будет доработать в шаблоне или функционале и что вам хотелось бы видеть в первой версии продукта.
- Оценить у разработчиков стоимость доработки CMS. Для готовой, документированной системы найти хорошего разработчика будет несложно.
Такой подход позволит быстро запустить сайт и сэкономить много денег. Ведь именно это и нужно для проверки ниши и своей бизнес гипотезы в целом.
Конечно же, есть ещё вариант разработать всё «с нуля». Но это очень долго и дорого, поэтому, нужно чётко понимать, зачем вам нужна именно самописная система. Возможно, вы сильно усложнили идею или плохо искали готовое решение.
Для примера, рекомендуем узнать сколько стоит сайт объявлений типа Авито.
Разработка приложения
С приложениям все сложнее и интереснее. Это более свежие технологии, чем веб. Это не сформированный рынок, это мало разработчиков и очень много подводных камней, которые нужно учитывать.
Здесь, к сожалению, практически нет качественных готовых решений, как в случае с сайтами. Чаще всего заказывается разработка «с нуля» с соответствующим бюджетом и рисками. Но нужно хорошо подумать, стоит ли делать «с нуля».
Какой стек технологий выбрать однозначно сказать нельзя, так как сейчас они все достаточно молодые и у каждой есть свои преимущества и свои объективные недостатки.
Давайте разберем три основных подхода разработки и их характерные особенности.
1. Нативное приложение для iOS или Android:
- высокая стоимость;
- высокие требования к разработчику;
- высокая скорость работы приложения.
2. PWA (Progressive Web Apps):
- по факту — мобильный сайт;
- возможность сделать иконку на экране телефоне.
3. Кроссплатформенное приложение:
- средняя стоимость;
- разработчик по цене веб-программиста;
- высокая скорость работы;
- ограничения по крупной анимации и 3D-объектам.
Нативное приложение
Это чистая разработка отдельно под iOS, отдельно под Android на том или ином языке, который сделан под эту операционную систему. Это самый низкоуровневый вариант, который можно реализовать.
Основной недостаток — это высокая стоимость. Вы отдельно пишете каждое приложение под каждую систему, отдельно платите программисту iOS, отдельно платите программисту Android, отдельно разработчику серверной части, отдельно, возможно, ещё проектировщику базы данных, если программируется какая-то сложная архитектура. Соответственно — высокие требования к разработчику.
Преимущества — это самый производительный вариант. Из-за того, что это низкоуровневый подход, у него есть доступ к аппаратным мощностям и можно сделать приложение быстрее среди прочих равных. Мы имеем доступ к аппаратным средствам и можем использовать все ресурсы телефона, которые доступны, добившись таким образом максимальной скорости работы.
Нашими партнерами разработаны нативные приложения для iOS и Android для доски объявлений.
Progressive Web Apps
PWA — это полная противоположность нативному приложению. По факту это мобильный сайт, который имеет несколько особенностей, главная из которых — это возможность сделать иконку вашего проекта на экране телефона пользователя. То есть вы у себя на сайте размещаете ссылку «Добавить на главный экран», затем пользователь устанавливает PWA-приложение к себе на телефон и при клике на его иконку открывает ваш мобильный сайт.
Тем не менее есть ряд вопросов с загрузкой и передачей данных. Поскольку это сайт, то нужно понимать, что это постраничные переходы, каждая страница загружается отдельно и запрашивает сервер, а это определенная нагрузка с точки зрения и приложений и обращений к серверу. Но есть возможность кешировать страницы сайта и иметь к ним доступ без интернета, а также сократить время загрузки экранов.
К сожалению, Apple сейчас сопротивляется развитию PWA, так как эта технология сильно просадит рынок App Store. Запуск псевдоприложения для пользователей iPhone не такой простой и интуитивно понятный как для пользователей Android. Поэтому если большая часть вашей аудитории пользователи iPhone, данная технология пока для вас будет менее интересна.
Кстати, для продуктов Tamaranga есть плагин PWA, который поможет сконвертировать сайт в аналог мобильного приложения.
Кроссплатформенная разработка
Кроссплатформенная разработка — это некое среднее арифметическое предыдущих двух технологий. Суть её том, что приложение под разные операционные системы разрабатывает один программист. Оно пишется на одном стеке технологий, а потом просто генерируется отдельно под Android и отдельно под iOS.
Преимущества:
- В два раза меньше работы, соответственно, меньше стоимость, чем при разработке нативных приложений.
- Разработчик по цене веб-программиста. Например, это хороший javascript-программист, который имеет больше отношение к разработке сайтов, чем мобильных приложений.
- Высокая скорость работы. Хотя это спорный пункт для многих нативщиков, тем не менее проводились тесты, где была задержка примерно в 1,5-2 раза при старте приложения за счет рендера всего функционала, но уже в процессе использования мобильного приложения скорость была один в один с нативом.
Главный недостаток — кроссплатформенная разработка все-таки больше для реализации бизнес-приложений, то есть когда есть формы и каталоги с картинками. Но если стоит сложная задача, например, 3D-примерка одежды, то предпочтительнее натив, так как это требовательная задача с точки зрения производительности телефона.
Если речь о приложениях типа Юду и досок объявлений типа Авито, то кроссплатформенный подход может прекрасно закрыть вопрос приложений. Можно, конечно, пенять на то, что первый запуск дольше, но и цена в