Ruby on Rails: жив и будет жить
Рассуждаем, почему и язык Ruby, и фреймворк Ruby on Rails до сих пор актуальны, почему они до сих пор живы и будут жить.
2К открытий3К показов
Языки программирования и фреймворки, как люди, рождаются и рано или поздно умирают. И, как и в случае с людьми, сведения о смерти некоторых бывают сильно преувеличены. Яркий пример – Ruby. Вопросы о его смерти возникают настолько часто, что энтузиасты даже создали сайт isrubydead, где можно найти ответ на соответствующий вопрос. Мы в Tiqum делаем проекты на и на Ruby on Rails в том числе: мы уверены, что и язык, и фреймворк живы и будут жить. И вот почему.
Сильные конкуренты
Начнем с простого и попробуем разобраться в ситуации, в которой сегодня приходится выбирать, использовать Ruby on Rails или делать ставку на другой фреймворк.
У Ruby безусловно, много конкурентов. Основные это Django на Python и многочисленные фреймворки на Node.js. самыми популярными из которых можно назвать Express.js и Nest.js. Их позиции достаточно сильны как в мире в целом, так и в России. Если говорить честно, они более популярны, чем Ruby on Rails, а это означает, что на них больше заказчиков, больше денег, и как результат, большее число вакансий и большее комьюнити для развития.
Не улучшает положение Ruby on Rails и экономическая ситуация. Основная сфера использования Rails – стартапы и требующие быстрого запуска проекты для которых, увы, сейчас не лучшее время. Проблемы в экономике, наблюдающиеся последние несколько лет привели к тому, что часть стартапов свернула свой бизнес, крупные компании, которые ранее охотно вкладывались в развитие новых идей, замораживают это направление, а те, кто мог бы запустить стартап, просто не готовы рискнуть и ждут нормализации обстановки.
В России ситуация для Ruby on Rails еще более сложная. К уже названному комплексу проблем добавим тот факт, что у нас всегда было меньшее комьюнити и количество предложений, чем на Западе. Многие Ruby-разработчики стремились найти работу на Западе или хотя бы на западные компании. А так как в последнее время многие западные компании ушли, то, соответственно, количество заказов еще уменьшилось и появились проблемы с оплатой.
И все же это не значит, что пора готовить молоток, чтобы в скором времени забить гвозди в крышку гроба Ruby on Rails.
Плюсы
У Ruby on Rails есть большое количество плюсов, которые сохранят его востребованность.
- Вокруг Ruby on Rails сформировано большое комьюнити. И поверьте: оно классное.
- Для Ruby on Rails актуален принцип Convention over configuration. Т.е. в основе всего лежит стандартизация по структуре, наименованиям и разработке проекта в целом, принятым на уровне всего сообщества. А следовательно, даже если один Ruby-разработчик покидает проект, другой сможет легко в него погрузиться и продолжить поддерживать его и развивать. Похвастаться этим может далеко не каждый фреймворк.
- Фреймворк очень удобен для команд, которые работают по Agile, так как позволяет легко контролировать процесс внесения изменений как на уровне кода, так и на уровне базы данных.
- В отличие от многих других языков для реализации проекта на Ruby on Rails достаточно одного программиста, который закрывает многие задачи, помимо написания кода: деплой приложения, работа с базой данных и прочее. Т.е. на этом поле и один – воин. Это сказывается на затратах, причем, весьма существенно.
- Для Ruby on Rails есть множество готовых плагинов и модулей, которые легко интегрировать в свой проект и не тратить время на написание собственного кода. Так что реализация проекта на Ruby on Rails идет быстро.
- Есть эффективные и интуитивно понятные инструменты тестирования.
- При необходимости масштабировать приложение на Ruby on Rails легко.
- Важный плюс – безопасность: проблемы с уязвимостями решаются на уровне фреймворка.
- Как результат всего вышеперечисленного – возможность вести разработку примерно на 30-40 % быстрее, чем на других языках.
Минусы
В бочке меда, конечно, всегда есть ложка дегтя: у Ruby on Rails, разумеется, есть минусы.
- Для приложений с большим количеством вычислений или большой обработкой данных медленный.
- Невысокий уровень гибкости, что может быть критичным, если необходимо реализовывать специфический функционал, который не укладывается в концепцию и структуру фреймворка.
- Популярность этого фреймворка в России небольшая в сравнении с другими языками и фреймворками. Причина этого, на мой взгляд, в том, что все считают, что разработчиков на Ruby on Rails очень мало, а значит, лучше избежать проблем уже на старте и сделать выбор в пользу альтернативных вариантов.
- Молодые программисты не часто выбирают Ruby on Rails, так как не видят перспектив на рынке труда. К примеру, к концу мая 2023 года на HH.ru вакансий разработчиков Ruby on Rails в России было всего 330, тогда как на node.js – почти в три раза больше. Да и по уровню зарплат node.js выигрывает у Ruby on Rails. Правда, надо учитывать, что хантинг рубистов чаще всего ведется точечно, поэтому и вакансии на работных сайтах размещаются редко.
Почему выбирают Ruby on Rails?
В каждом конкретном случае нужно просто оценить, что перевешивает – плюсы или минусы. Это актуально и для разработчиков, и для заказчиков. При этом надо понимать, что некоторые минусы, скорее, надуманные, чем реальные.
Возьмем, к примеру, проблемы с производительностью. Нас они не пугают, так как с большим объемом вычислений в работе приходится сталкиваться достаточно редко: такие задачи очень специфичны и к 80 % проектов не относятся. Да и в оставшихся 20 % проблема, как правило, легко решается написанием нужной логики на другом языке. Как показывает практика, основное время тратится не на вычисления, а на взаимодействие между сервисами, ожидание ответов от базы данных и тд — это от языка уже не зависит. Т.е. надо в первую очередь реально смотреть на задачу: в большинстве случаев it is not rocket science для Ruby on Rails, да и реальные ракеты мало кто запускает.
В ряде случаев Ruby on Rails идеально решает поставленные задачи. Например, для онлайн-магазина ювелирных украшений надо было создать ERP-систему, которая охватывала бы все процессы, в том числе взаимодействие с партнерами и покупателями. Запустить решение надо было всего за 2 месяца, обеспечив постоянное взаимодействие между разными сервисами, включая 1С, RetailCRM и т.д.
Со стороны фронтенда проект работал на React , а бэк вел ,закрывая множество ролей, всего один разработчик. В основе было готовое опенсорсное решение – e-com-платформа Spree Commerce. Эта платформа – яркий пример и живого комьюнити, и готового решения под наши нужды. В числе ее важных особенностей – возможность легко и быстро настраивать систему под существующие нужды и масштабировать. Благодаря возможностям Ruby on Rails удалось зарелизить проект в срок с дальнейшей поддержкой – и это при том, что компания получила инструменты для сплитирования, функционал сборных заказов, автозаказа курьеров, омниканальные кабинеты для покупателей и т.д. Так что выбор оказался оправдан.
Есть ли будущее у Ruby on Rails?
Сейчас для разработки в целом не самое лучшее время: некоторые эксперты даже говорят о стагнации. А быстрое развитие ИИ может серьезно изменить рынок – пусть и не завтра, а в чуть более отдаленной перспективе. Так что с уверенностью говорить о том, что будет через десятилетие или через два, сложно. Но на более короткой перспективе будущее у Ruby on Rails есть.
Во-первых, многие тренды разработки идут с Запада, а там комьюнити Ruby on Rails весьма активно, а это очень важный фактор. Во-вторых, (и это последствие первого фактора) постоянно публикуются улучшения и исправления, т.е. фреймворк живой.
Ну и в-третьих, стартапы и малый бизнес всегда стараются брать пример с крупных компаний. И если, конечно, этому сегменту позволит развиваться экономическая ситуация, спрос на решения на Ruby on Rails будет расти за счет скорости разработки и гибкости. А будет спрос – будут и вакансии. Так что Ruby on Rails жив и будет жить. По крайней мере еще какое-то время.
2К открытий3К показов