Turarbek
@Turarbek
Делаю первые шаги в АйТи

Можно ли делать фронтенд на языке Python?

Доброе время суток

Простите за глупый вопрос(наверное) Но можно ли делать фронтенд на языке Python? или он лучше подходит на бэкенд?
  • Вопрос задан
  • 15002 просмотра
Решения вопроса 1
Guest007
@Guest007
Django, Python, Linux и всё такое...
В клиент-серверной архитектуре бэкенд - это то, что работает на сервере. Фронтенд - то, что работает у клиента ("толстый клиент").
И то и то может быть написано на чём угодно, если есть соответствующие механизмы.

Бэкенд - Python. Это нормально. Универсальный вариант отдаёт по запросу данные и не парится с тем, как они буду визуализированы. REST, GraphQL, SOAP и т.д.

Фронтэнд, работая на стороне клиента, визуализирует получаемые данные для пользователя. Тут возможна как нативная отрисовка, так и опосредованная (к примеру через браузер).
Фронтэнд пишется отдельно от бэка. Инструмент - любой подходящий.
Для отрисовки через браузер (вот, сайт Тостера, к примеру) надо написать клиента на HTML/CSS/JS. Он будет загружаться в браузер и рисовать его средствами.
Для нативной отрисовки - любая соответствующая системе либа. Хоть MFC в Винде (хотя это уже некромансия - сейчас .NET-библиотеки в фаворе), хоть Carbon (или что там сейчас на Маке?).
Из линуковых нативных (они же - кроссплатформенные) подойдут GTK, Qt, FLTK и разные надстройки над ними. WxWidget тот же...
Это я ещё не трогаю тему мобильных устройств...

Поэтому если не хочется учить разные языки, а ограничиться Python, то фронт на нём МОЖНО писать. Есть биндинги к GTK и Qt. Есть WxPython. Для мобилок можно погрузиться в дивный и чудный мир Kivy (хотя это, скорее, кроссплатформенное решение - работать будет и на десктопах). BeeWare тоже интересно развивается.

Но если подразумевается написание именно web-клиента, то изучение JS займет меньше времени, чем бесплодные попытки использовать неподходящий инструмент.
Ответ написан
Пригласить эксперта
Ответы на вопрос 8
liqrizz
@liqrizz
лол
напишите свой собственный браузер с поддержкой python и думаю можно будет
Ответ написан
Moskus
@Moskus
Front end - это то, что работает в browser-е пользователя.
Python не работает в browser-е.
Отсюда - вывод: нет, нельзя.
Ответ написан
Vlad_IT
@Vlad_IT
Front-end разработчик
Ну, вероятно, есть различные трансляторы (или компиляторы, называйте как хотите), которые преобразовывают код питона в JS. Но понимаете, язык это часть экосистемы, и у вас возникнут трудности при использовании чужих библиотек, которые используют свои типы (свои нюансы преобразования типов), и это еще не факт, что вы сможете вообще использовать чужие библиотеки.

Поэтому мне кажется, что вы позже миллион раз пожалеете, что стали использовать такой "костыль". Учите JS, полезно иногда изучать другие языки программирования.
Ответ написан
Можешь смотреть в сторону WebAssembly. Реализации для python пока нет(возможно и не будет). Но направление может быть интересным.
Ответ написан
@GitCat
Можно. Для этого есть библиотека WebCode, однако она не взаимодействует напрямую с браузером, она лишь генерирует html и css. Подробнее: https://habr.com/ru/sandbox/141376/
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы