Разработчики имеют несколько вариантов при написании программы с пользовательским интерфейсом (UI):
Если программа предназначена для конкретной ОС, они могут использовать официально опубликованный комплект для разработчиков ОС (комплект разработчика), который позволит программе использовать элементы, предоставленные и поддерживаемые разработчиком ОС. Microsoft предлагает их для программ, написанных для Windows. Программы, написанные с использованием элементов по умолчанию, как правило, ведут себя в основном как собственные программы ОС, и на них меньше всего влияют исправления и будущие обновления ОС.
Если программа будет кроссплатформенной, разработчик может выбрать использование Framework . Они написаны сторонними разработчиками, которые обрабатывают необходимые соединения для запуска в любой операционной системе, на которую ориентирована инфраструктура. Java является примером одного такого фреймворка. Mono - это еще одна кроссплатформенная инфраструктура, в основе которой лежит собственная платформа Microsoft .Net. Эти структуры предоставляют то, что по сути являются плагинами, которые могут использовать разработчики, которые предоставляют возможности, сервисы и опции, которые могут понадобиться программе, позволяя программисту собирать программу, подобную строительным блокам, или, по крайней мере, элементы программ, таких как пользовательский интерфейс, чтобы ускорить разработку и уделить больше времени сосредоточению на сути программы.
Другой вариант - написать свою собственную программу целиком . После этого разработчик должен принять во внимание все аспекты программы и написать пользовательский интерфейс, опции, внутреннюю логику и все остальное. В некоторых случаях этот метод приводил к программам, которые работают долго и действительно работают очень хорошо (ранние игры Roller Coaster Tycoon являются, пожалуй, самым известным примером этого, сделанным очень хорошо). Но этот метод также требует больших усилий и поэтому не очень распространен, и при неправильном выполнении может привести к программам, которые требуют постоянного обслуживания для поддержания их правильной работы, поскольку исправления и различные версии ОС существенно меняют работу. Это также может привести к тому, что программы будут вести себя нелогично или неуклюже по сравнению со «стандартными соглашениями».
Чтобы более прямо ответить на ваш вопрос: если программа с открытым исходным кодом, вы можете проверить код самостоятельно. Там могут быть теги, указывающие используемые рамки. Или, может быть, станет ясно, что разработчик построил все это самостоятельно. Если программа имеет закрытый исходный код, вам нужно будет спросить разработчика, и это зависит от них, решат ли они ответить.