Мы каждый день пользуемся приложениями, такими как Telegram, Discord, VK и т.д., и все они имеют хороший дизайн, то есть графический интерфейс пользователя, или GUI. Но как сделать хоть что то подобное для ноутбука или телефона? Вот тут к нам на помощь приходят библиотеки python.
Tkinter
Эту библиотеку рекомендуют везде для новичков для первых проектов, когда речь заходит о десктопных приложениях на python. И понятно, почему, ведь из плюсов - tkinter сразу идет в комплекте с python, поддерживается кроссплатформеность, есть большое коммьюнити, прост в изучении, можно использовать в коммерческих проектах, не платя за лицензию. Но из минусов хотелось бы выделить малый функционал, который возможно реализовать, ограниченная производительность(то есть большие и сложные проекты не потянет), да и хоть приложения должны одинаково выглядеть на всех платформах, на практике интерфейс не хило так искажается.
Как итог можно сказать, что tkinter подойдет для новичков, простых и маленьких проектов, не требующие огромной производительности.
PyQt или PySide
Я вписал эти две библиотеки в один раздел, так как разница у них только в лицензиях. Если PyQt нельзя использовать в коммерческих проектах, не заплатив кругленькую сумму, то PySide можно. Из плюсов можно выделить доступную документацию, кроссплатформеность, которая не подводит, как в tkinter, прилагающийся софт, помогающий делать красивый интерфейс, производительность и функционал. Из минусов - хоть документация и понятная, сама библиотека достаточно сложная в изучении и понимании, также вам придется ее скачать, так как она не идет с python по умолчанию.
Данные библиотеки подойдут тем, кто готов потратить достаточно времени на изучение библиотеки, для проектов, которым нужна хорошая производительность и для сложных, больших проектов.
Kivy
И последняя библиотека не сегодня - kivy. В большинестве своем ее используют для разработки мобильных приложений. Плюсы: кроссплатформенность(даже на телефоны). Да, это все. К сожалению, минусов здесь больше, такие, как - непонятная документация, сложность компилирования и вообще напрочь отсутствие какой либо помощи(я написал разрабам, они ответили, но ответ мне их не помог, зато помог рандомный индус с ютуба, по нему я и написал пост, как скомпилить приложения в apk).
Эта библиотека подойдет, если вам нужно приложение на телефон, но и готовы будьте нервы потратить.
Итоги
Итак, из всего этого можно сказать всего три вещи:
- Если вам нужен маленький и простой проект или вы новичок - берите tkinter
- Если же вам нужны мощности побольше, то PyQt или PySide, тут уже сами выбирайте
- Ну а если нужно мобильное приложение и у вас куча нервов - берите kivy
На этом все, спасибо за внимание.
Если что, в моем тг канале можно найти эксклюзивный контент.