Разработка сайтов на Python: тренды, советы, опыт

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

Материалами для статьи с вами поделились наши опытные веб-разработчики Анатолий Буренков и Павел Лысов. Они поучаствовали в беседе о том, какие тренды есть на рынке 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), на рынке их много. Не нужно изобретать велосипед: в доступе весь технологический инструментарий и открытые библиотеки. Это сокращает время разработки, экономит деньги бизнеса. 

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

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

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

Кроме заказчиков из е-кома, к нам стали часто обращаться med-tech-сервисы. Обращения медицинских сервисов нас пока интригуют. “Для меня это пока секрет, — поделился наш разработчик Анатолий Буренков. — Клиенты стали чаще обращаться за крупным медицинским ПО на 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 правит на этом рынке, поскольку имеет богатый инструментарий и низкий порог входа для разработчиков. Это продолжающийся тренд.

Читайте также
IT-World попросил ведущих ИБ-экспертов поделиться мнением о достоинствах и недостатках Zero Trust,о сложностях перевода на этот метод корпоративной инфраструктуры и пользователей.

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

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

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

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

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

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

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

***

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

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

Похожие статьи