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

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

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

Простите за глупый вопрос(наверное) Но можно ли делать фронтенд на языке Python? или он лучше подходит на бэкенд?
  • Вопрос задан
  • 37071 просмотр
Решения вопроса 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 займет меньше времени, чем бесплодные попытки использовать неподходящий инструмент.
Ответ написан
Пригласить эксперта
Ответы на вопрос 7
Sanes
@Sanes
Фронтенд это HTML/CSS/JS
Ответ написан
Комментировать
liqrizz
@liqrizz
лол
напишите свой собственный браузер с поддержкой python и думаю можно будет
Ответ написан
Moskus
@Moskus
Front end - это то, что работает в browser-е пользователя.
Python не работает в browser-е.
Отсюда - вывод: нет, нельзя.
Ответ написан
Vlad_IT
@Vlad_IT
Front-end разработчик
Ну, вероятно, есть различные трансляторы (или компиляторы, называйте как хотите), которые преобразовывают код питона в JS. Но понимаете, язык это часть экосистемы, и у вас возникнут трудности при использовании чужих библиотек, которые используют свои типы (свои нюансы преобразования типов), и это еще не факт, что вы сможете вообще использовать чужие библиотеки.

Поэтому мне кажется, что вы позже миллион раз пожалеете, что стали использовать такой "костыль". Учите JS, полезно иногда изучать другие языки программирования.
Ответ написан
saintbyte
@saintbyte
Django developer
Ну например можно прикрутить webpack к django:
https://github.com/saintbyte/django_webpack_integration
Ответ написан
Комментировать
Можешь смотреть в сторону WebAssembly. Реализации для python пока нет(возможно и не будет). Но направление может быть интересным.
Ответ написан
Комментировать
@sled
Вот статейка о Brython — Python для браузеров.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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