Pull to refresh

Comments 18

Отличное начало) Хотя и не соглашусь в плане того, что pygame для игр( у меня python ассоциируется в последнее время только с машинным обучением. Но сколько людей, столько и мнений.

Безусловно, качественные современные игры следует создавать на движках. Создание игр на python это больше челендж и практика навыков, но опять же есть разработчик DaFluffyPotato (есть на YouTube), который делает инди игры для стима на питоне и проблем не испытывает. Я к примеру сейчас делаю браузерную онлайн игру и да бы перенести её на дэсктоп / телефон мне проще написать её на pygame, чем изучать C# / C++ (Движки мне не подходят по тех причинам). И отмечу, что в pygame можно работать с OpenGl, а значит использовать шейдеры. С pygame и с ускорялками по типу Numba работает Standalone Coder (Ютубер).

"И по большей части эта статья нацелена на начинающих программистов, которые уже имеют представление о библиотеке и хотят рыть дальше"

после написания приложения на tkinter и многократных улучшений для него сталкивался с основной проблемой того, что поддержкой основным либ давно никто не занимается.

pyQt давно перехватил инициативу и большую часть контрибутеров
поэтому для новичка рекомендовал бы все-таки изучать pyQt, а не tkinter

У tkinter есть одно важное преимущество -- он точно есть везде, где есть python.

Но убожество мегагалактическое в текущем виде, это да. И проблема не в том, что оно плохо работает, а в том, что production код писать на нём сложно

Не совсем он есть везде. В windows да, он идёт "из коробки", в linux tkinted нужно ставить дополнительно.

Ну ещё бы назвал плюсом - маленький размер сборки через pyinstaller.

в linux tkinted нужно ставить дополнительно

Не могу вспомнить, когда я его себе ставил, но он у меня есть. Возможно, он в зависимостях python3-all -- а я не склонен искать себе лишний геморрой

UPD: хм, действительно, у меня установлен отдельный пакет python3-tk

Хехе, честно, причина по которой я обычно использую tkinter - я не могу установить нужные инструменты на свою машину.

Берём Delphi) Создаем проект Multi-Device Application. У формы вставляем Transparency = True, кладём на форму Viewport3D, задаем ему цвет фона - Null. А теперь помещаем в 3D дизайнер объекты, меши и прочее) Готово. 3D "игра" на рабочем столе)
Примерно так (https://youtu.be/U802Uik8IzM) простите за мат)

P.S. у окон можно задать рамку без управляющих кнопок

Delphi -- это такой же мем, как и Гуф

Тем не менее, возможности и простота Делфи не может не впечатлять.

На старте он поистине прекрасен. Проблемы начинаются, когда ООП заменяется компонентно-ориентированноым программированием и когда формочки залетают на сервер. Насмотрелся в своё время

"Не правильно" можно использовать любой язык.

<зануда_mode>

Нарушен SRP. Да, управление формой через класс -- это вин, с самого начала статьи ожидал этого. Наличие Button в этом классе -- это фейл.

Рекомендую глянуть на React и их подход -- есть базовые компоненты и есть их композиция в компонентах верхнего уровне, у вышестоящих компонентов своя композиция, и так далее. Ну да, без JSX будет не так удобно UI верстать, но почему бы и да?

</зануда_mode>

С учётом развития webasembly и портирования туда python ваши наработки могут лечь в основу питонячьей версии ноды, которая заявляется работающей во всех дырах. Лишь бы был удобный API и работало быстро. Дерзайте

Можно упороться в EBNF и запилить свой JSX, только с

from __future__ import braces

PS: Ну да, есть и такой изврат

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

Ничего не понял, но очень интересно. Я не до конца понял в чём конкретно проблема класса моего окна, если здесь можно было сделать что-то более универсальное, практичное, то как я и сказал в начале статьи "Это по большей части статья для новичков". Я вообще сомневался, стоит ли сюда выкладывать класс окна, так как я сам долго разбирался и упрощал его (модуль с этим окном я написал пол года назад). И под конец напомню о самом главном правиле программиста - " РАБОТАЕТ ? НЕ ТРОГАЙ !"

Sign up to leave a comment.

Articles