Проекты на Python: тренды рынка в 2023, советы клиентам и наш опыт

Привет! Материалами для статьи с вами поделились наши опытные веб-разработчики Анатолий Буренков и Павел Лысов. Они поучаствовали в беседе о том, какие тренды есть на рынке Python, для каких задач язык подойдет идеально, а когда клиентам лучше выбрать альтернативу. 

За последние годы Python стал королем программирования. До сих пор не все разработчики воспринимают этот язык всерьез (привет джавистам :), но уже ни для кого не секрет, что Python востребован на мировом рынке, а тысячи программистов лихорадочно учатся работе с ним.

Garpix еще в 2015 году оценил Python и начал писать код на  Django и Flask. Тогда бума разработчиков в этом сегменте ещё не было, а сам язык был в разы медленнее. 

Спустя 8 лет Python входит в ТОП-3 языков для разработки по всему миру, а мы выполнили десятки заказов для клиентов и завоевали звание digital-интегратора №1 на Python в Рейтинге Рунета.  Итак, давайте посмотрим на Python свежими глазами!

Мини-лекция для тех, кто не знает, почему Python так популярен 

Python — высокоуровневый язык программирования с открытым исходным кодом, который подходит для решения широкого круга задач. С его помощью создаются сайты для e-commerce, приложения, анализируются медицинские данные и проводятся научные исследования. Благодаря Python можно быстро и с меньшими трудностями выйти на рынок с цифровым продуктом.

Большой плюс, на наш взгляд — общая зрелость системы. Еще в 2015 году Python был зрелым языком. Его платформы Django и Flask позволяли программистам быстро погрузиться в работу.  

Сделав ставку на Python, Garpix ни разу не пожалел :). У нас был выбор между тем, чтобы продолжать писать на PHP или сфокусироваться на Python. Сравнив инструменты языков, мы посчитали, что второй путь перспективнее, и не прогадали. Скоро простой и интуитивный синтаксис этого языка сделал его одним из самых популярных языков программирования наравне с Java. 

Конечно, низкий порог вхождения в язык, доступ к открытым библиотекам и обучающим курсам размывает рынок. За счет простоты языка и массового выхода курсов по Python усилился разброс по уровню программистов. Клиентам могут попасться и сильные разработчики, и максимально неопытные. Это не отменяет ценности языка и его возможностей для бизнеса и науки. Сейчас расскажем обо всём подробнее.


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

1. Широкая направленность, универсальность языка. 
Python применим как в machine learning, так в создании и даже на базовом уровне в gamedev (можно обучать геймдеву школьников, чтобы легче их замотивировать). Также этот язык подходит для создания авторских технических продуктов и популярен в научной среде.
2. Простота и лаконичность синтаксиса.
Он легко читается. Программисты могут быстрее писать код, это сокращает время разработки и уменьшает конечную стоимость проекта для клиента.
3. Мультиплатформенность.
Python работает на разных операционных системах, включая Windows, Mac и Linux. Благодаря этому ниже стоимость разработки решений и выше удобство их использования.
4. Активное комьюнити.
У Python большое сообщество разработчиков. Они создают множество открытых библиотек, делятся решениями и советами. Это еще одна из причин, почему программисты могут быстрее войти в разработку сайтов на Python, научиться работе с языком, получить экспертную помощь, если попадутся сложные задачи.

Как сказал наш разработчик Павел, “Python — как морской пляж. Сначала ты легко в него погружаешься, но чем дальше идешь, тем все глубже и глубже. Это емкий язык”.

5. Python обрабатывает большие объемы данных.
Для оптимизации производительности приложений разработаны десятки инструментов. Возможность работы с big data уже оценили крупные ученые — астрофизики и биологи.

В чем польза для клиентов? Почему Python считается универсальным?

Всё, что мы перечислили, создает преимущества для бизнеса. Почему стартапы выбирают Python: он помогает быстрее выходить на рынок, разработчики обходятся дешевле (в сравнении с тем же Java), на рынке их много. Не нужно изобретать велосипед: в доступе весь технологический инструментарий и открытые библиотеки. Это сокращает время разработки, экономит деньги бизнеса. 

Для разворота на проде есть opensource и проверенные практики.  Можно оперативно собрать первую версию проекта на Django, выйти на рынок и работать с клиентами. Идеально! Остается удачно выбрать разработчиков. :)

Python хорош для клиентов из e-commerce. С его помощью они быстро запускают сайты и приложения, проверяют гипотезы. В случае со сложными интеграциями и технологиями мы помогаем клиентам правильно реализовать решение. (Там, где это критично, можем написать кусок решения на другом языке. У нас бывали такие кейсы.)

Кроме заказчиков из екома, к нам стали часто обращаться medtech сервисы. Обращения медицинских сервисов нас пока интригуют. “Для меня это пока секрет, — поделился наш разработчик Анатолий Буренков. — Клиенты стали чаще обращаться за крупным медицинским ПО на Python. Может, это только у нас так, и мы делаем ложные выводы?”.
 
Для бизнеса отдельным плюсом Python выступает простота техподдержки и наличие специалистов разного технического уровня на рынке. Если вы передумаете работать с командой, ее несложно заменить. Главное — проверить портфолио, CV разработчиков и рейтинг будущих подрядчиков, чтобы не наткнуться на школьников в Python :).

Для каких задач Python не подходит, как решение

Не стоит выбирать этот язык, если у вас крупный highload проект с миллионами пользователей. В этом случае вообще мало что подходит. :) Python неудобен для большого корпоративного приложения, допустим, для банка. Ему важна надежность и скорость при проведении миллионов транзакций, строгая типизированность. Язык должен компилироваться, быстро считать математику.

Пример: когда нужно обработать 5000 запросов в секунду, возможностей Python достаточно. Если миллионы, ни одного подобного языка не хватит.  

Для крупного энтерпрайза Python может не подойти: на рынке есть языки Java и Sharp, гораздо лучше заточенные для таких задач. А условному Instagram, YouTube или другой соцсети, даже крупной, это актуально. Используя Python, она быстро выйдет на рынок и обгонит конкурентов.

Python пока не годится для разработки игр — максимум, для казуалок без больших расчетов физики. Для геймдева он ещё слишком медленный.  Также он не очень популярен при разработке мобильных приложений.  

На чем работает команда Garpix

Сейчас мы используем в работе все платформы Python. Основная платформа — Django. Был момент, когда хотели удариться в микросервисную архитектуру и писать на Flask, но поняли, что это, в среднем, выходит клиентам дороже. Пока создание качественных микросервисов обходится затратнее, классические монолиты выигрывают. Основные кейсы у нас всё ещё на Django.


Пример наших кейсов на Python

Мы каждый день занимаемся проектами на основе Python, так что приведем в пример лишь некоторые работы. Сложно выделить один, когда это твой ведущий стек, и ты стабильно с ним работаешь.

Например, у нас есть проект Garpix Load System — программное обеспечение для загрузки контейнеров, грузовиков, палет и других транспортных средств. При создании решения мы написали часть кода на C++. Это позволило обойти проблемные места в ходе разработки.

На языке Python мы написали удобный сайт для сотрудников и клиентов Владивостокского морского торгового порта. Команда оцифровала все бизнес-процессы порта и интегрировала сайт с 1С, сервисом ЦБ РФ и сервисом Федеральной таможенной службы. А для профессионального хоккейного клуба “Адмирал” мы запустили сайт на Django буквально за 2 месяца. Теперь информация о клубе, командах, игроках, билетах и турнирах доступна пользователям в один клик.  

Тренды 2023 вокруг Python, на которые наши специалисты обращают внимание

Главный тренд: Слабо типизированные языки идут в типизацию 

В последнее время на Python добавляются типы, язык становится типизированным. Качество кода растет. Нравится, что это делается постепенно. Тренд остается стабильным на протяжении восьми обновлений языка.

В последних версиях сильно переписывают внутрянку Python, делают его быстрее. Разработчики исправляют то, за что критиковали язык — улучшают его скорость. Десятки процентов прироста скорости за полгода!

В Django появляется синхронность

Python становится синхронным, и даже такой монолит, как Django, тоже становится синхронным. Программисты много работают в этом направлении.

Python остается лидером в сфере machine learning

Язык сохраняет востребованность на рынке machine learning. Python правит на этом рынке, поскольку имеет богатый инструментарий и низкий порог входа для специалистов. Это продолжающийся тренд.

На рынке много обучающих программ по Python 

Из-за популярности языка курсы по нему продаются в любой школе программирования. Наша Цифровая Академия — не исключение, ученики с нуля учатся писать сайты на Python.  Этому языку активно обучают, в отличие от многих маргинальных языков. Обратная сторона тренда — засилье питонистов на рынке и разный уровень качества их работы.

Микросервисы для highload проектов стали популярнее 

В этой сфере используется либо смешанная архитектура (микросервисы и монолит) либо полностью микросервисы (например, они пилятся на Flask).  Микросервисы — удачное решение для бизнеса, у которого много команд. Например, в компании трудятся 10 команд программистов. 

Микросервисы позволяют решить проблему коммуникации на проектах через техническую реализацию. Если на проекте, даже крупном, трудятся три человека, им микросервисы точно не нужны. Это овер-инжиниринг, где простые вещи излишне усложняются.

FastApi будет востребованным на рынке

Данный фреймворк уже показал себя, как быстрый, легковесный в плане кода и онбординга и асинхронный. У него качественная документация, создана сопутствующая архитектура. Так как фреймворк новый, пока библиотек не очень много, но они активно развиваются. 


Спасибо нашим специалистам за обстоятельный рассказ о том, что происходит на рынке Python. Пусть этот материал будет вам полезен.

Если говорить о ближайшем будущем, мы считаем, что работы по ускорению Python приведут к тому, что его главный минус — относительно невысокая скорость — скоро отпадет.  Язык станет строго типизированным и заслужит больше доверия, как инструмент для солидных проектов. И даже более, что Python начнет восприниматься, как язык для серьезной разработки в более широких кругах. Может, его даже джависты зауважают :). 

Да, раньше Python подходил только для написания простых скриптов, но это уже давно неактуально! Надеемся, что подобные мифы на рынке развеются поскорее, а бизнес начнет получать больше выгоды от продуктов на Python.


Если после прочтения статьи остались вопросы, или вы хотите проконсультироваться по разработке проекта, напишите команде Garpix! Мы с радостью ответим на все вопросы и поможем выбрать оптимальное решение.