Ускоренная разработка MVP С развитием гибких подходов и философии Agile циклы разработки становятся всё короче. Software-инженерам не нужно годами писать проекты "в стол", сверяясь с техническим заданием на тысячу страниц. Разработка начинается с создания MVP.
В приоритете - за один-два месяца выпустить на рынок минимально жизнеспособную версию продукта и получить обратную связь от реальных пользователей (подробнее о разработке MVP можно прочитать в нашей статье в блоге: "MVP, или как не попасть в бесконечную разработку"). Для быстрой разработки MVP отлично подходит Python. Секрет скорости - в синтаксисе, максимально приближённом к естественному английскому языку.
На скорость влияет большое количество свободных библиотек и фреймворков, а также минималистичных микрофреймворков, например Flask. Они разработаны под разные нужды, имеют обширное и дружелюбное комьюнити, привлекают простотой и гибкостью синтаксических конструкций. Нюанс: такая высокая скорость поддерживается при относительно невысокой сложности проекта (малая и средняя e-Commerce, CRM, несложные интеграции).
Если же разработка ведётся для enterprise-проектов, то все работы занимают примерно одинаковое время независимо от используемого стека технологий. Писать на Java, PHP или Python - неважно, ведь общее количество часов не будет значительно отличаться. При этом время может по-разному распределяться на разные типы работ. С каким-то стеком больше времени потребуется на рефакторинг, с другим - на MVP, c третьим - на тесты и т. д.
Например, чтобы быстро работать на Python, нужно предварительно продумать архитектуру и правильно подготовить окружение. К тому же нельзя судить о сложности работы по количеству строк кода и скорости его написания. Минимальное количество кода означает его высокое качество, а чтобы разработчик мог уложить задачу в три строки, он должен тщательно продумать, как это сделать, в какой части программы разместить код и т. д.
Разобрать вашу задачу с архитектором
Лёгкая интеграция с другими технологиями и программным обеспечением Сегодня любой продукт разработки требует большого количества интеграций: с разнообразными информационными системами самой компании и её контрагентов, с банковскими, маркетинговыми ИС и многими другими. Python удобен для интеграций и может управлять различными компонентами ПО, в том числе разработанными на другом языке. Универсален для любых платформ.
Это было одной из причин, почему мы выбрали именно Python для создания API принт-сервиса на одном из текущих проектов. Он отлично взаимодействует с сервером печати Linux CUPS - из Python легко обращаться к ядру ОС для выполнения нужных операций. Масштабируемость и возможность добавлять новые функции Это преимущество не возникает само по себе, оно требует продуманной архитектуры проекта и соблюдения чистоты кода.
Можно сказать, что на Python с его простыми и понятными синтаксическими конструкциями проще писать легко масштабируемый код, чем на большинстве других языков. Это было важно для нас, когда мы выбирали стек для управления сервисами печати. С Python нам не пришлось вносить изменения в основной модуль принт-сервиса при изменении его частей.