Под капотом приложения: пишем бэкенды быстро

# Серверная часть, Просто о разработке
Июль 2017 г
SimbirSoftMobile

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


Мы сами используем разные платформы: Ruby, NodeJS, Python, Bitrix, PHP. Сегодня мы расскажем о возможностях разработки бэкендов на Ruby: какая от него польза продукту, команде и каждому отдельному программисту.


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

SimbirSoftMobile

У Ruby как у языка для мобильного бэкенда есть несколько важных преимуществ:

1. Высокое качество решений;

2. Высокая скорость разработки.

Качество решений

Ruby-разработчики имеют широчайшие возможности использовать решения с открытым исходным кодом. Сообщество Ruby-разработчиков - одно из самых больших по сравнению с другими языками программирования. Github trending регулярно включает Ruby в топ-10 самых популярных языков.

Что это значит в плане бизнеса
Такое большое сообщество создает огромное количество бесплатных и открытых для использования open source-решений, которыми может пользоваться каждый Ruby-разработчик. Не нужно платить за лицензию и придумывать решение заново каждый раз: программист может добавить такую функцию как авторизация (в том числе, управление пользователями, отправка писем подтверждения и т.п.) за короткий срок, абсолютно бесплатно и открыто, и быть уверенным в качестве добавленного функционала.

Как можно быть уверенным в качестве решения
Разработчики, или контрибьюторы, не только пишут код, но и публикуют обратную связь по проекту. Таким образом, разработчики улучшают готовое решение, которым можно воспользоваться бесплатно. Например, одно из самых популярных open source-решений - добавление авторизации на сайт. Проект devise имеет около 500 человек, кто писал код, и около 3500 сообщений с обратной связью на момент написания статьи. 3400 из них исправлены и закрыты. Это значит, что в функционал авторизации добавили 3400 улучшений и исправили возможные ошибки. В итоге, используя Devise, можно добавить авторизацию в проект в течение получаса. Быстро и бесплатно. Если ищите готовое решение, используйте решение с количеством разработчиков от 100 человек.

Высокая скорость разработки

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

Что делать с задачами, для которых нет готового решения
В этом случае программист самостоятельно ищет решение. По идее программист должен потратить много времени на создание собственной реализации задачи. С Ruby мы создадим полноценные конструкции, используя небольшое количество кода. Программист с помощью одной строки кода на Ruby может создать большое и легко-расширяемое решение. Для сравнения, на Java то же самое займет около 10 строк. Чем меньше кода, тем быстрее результат. Если работаете с командой почасово: чем меньше кода, тем меньше времени программиста нужно оплачивать. Качество этих быстро созданных решений не уступает аналогичным решениям на других языках и платформах.

Благодаря этой динамичности программист быстро оптимизирует и изменяет функционал в случае изменения требований.

Для чего подходит
Если нужно выпустить MVP - минимально жизнеспособную версию продукта. Бэкенд будет создан за дни, поэтому продукт можно будет быстрее выпустить на рынок и посмотреть на реакцию пользователей и инвесторов. Продолжая развивать приложение и добавлять новые функции, мы не потеряем в скорости разработки. Например, когда мы создавали аудиогид по европейским столицам, мы выбрали именно Ruby для бэкенда. Так мы создали первую версию и посмотрели на реакцию пользователей. Сейчас аудиогидов уже 18, и добавлять новые легко и быстро.