MrRooots / WPF_2021

University tasks: Windows Presentation Foundation Apps
1 stars 0 forks source link

Задание 2. Опубликовать проект для закона движения для полета тела по параболической траектории. #2

Open MrRooots opened 3 years ago

MrRooots commented 3 years ago

Программа принимает на вход начальную скорость тела, угол и шаг , по которому будет производится расчет скорости и координат в разные моменты времени. Для самого тела описан класс Point, содержащий все функции для расчета Вывод реализован как в окне самой программы, так и в отдельный файл output.out. Вопрос: Можно ли вместо wpf использовать windows forms? Просто я использую jetbrains rider, а у него нет поддержки дизайнера для wpf, только для winforms.

justjune commented 3 years ago

Эволюция интерфейсных объектов .NET: WindowsForms -> WPF -> UWP. Имеет ли смысл изучать технологию, которая является "дедушкой" современных средств программирования. Используя для этого решение, которое не дает понимания конструкции платформы разработки, такое, как jetbrains?

MrRooots commented 3 years ago

А разве между WF и WPF есть отличия, которые будут заметны при программировании на том уровне, на котором мы будем это делать в этом\следующем семестре? И я не совсем понял в каком смысле jebrains "не дает понимания конструкции платформы разработки". Значит ли это, что не следует использовать дизайнеры и писать XAML код руками?

justjune commented 3 years ago

Если вы под WF понимаете парадигму Windows Workflow, то ответ --- "да" и существенные. Если WindowsForms, то ответ --- лучше изучать то, что современнее. Вопрос о том какими средствами "следует писать" не ставится. Выбор делается в пользу того продукта, который позволяет понять конструкцию оконного интерфейса при работе под Windows и то, почему Microsoft заставила всех своих программистов изучать ООП, а так же какие "шестеренки под капотом" языков разметки и как они реализуют концепцию ООП с 4м принципом --- "управление объектами при помощи механизма сообщений". Если вас устроит аналогия, то WPF мы изучаем по тем же соображениям, что и С++, хотя практически можно кроме Python или JavaScript ничего и не знать для реализации тех же самых задач.

MrRooots commented 3 years ago

Хорошо, с тем, почему мы изучаем wpf - все понятно. Только я все равно не понял почему моя ide не дает понимания конструкций платформы разработки, разве visual studio работает как-то иначе, разве это вообще от среды разработки зависит?

justjune commented 3 years ago

Да "Студия" работает по-разному с разными типами проектов. Например MFC делали все правильно, но большинство начинающих программистов не понимали, что делает этот тип проекта. :)

MrRooots commented 3 years ago

Я так понимаю, что речь идет о том, что моя ide создает не пустой проект, в котором мы как раз и прописываем создание окна и запуск событийного цикла с последующим добавлением чего бы то ни было, а какую-то заранее упакованную заготовку? Вот, например, в своем [этом] проекте сам запуск приложения и инициализацию компонентов: ParabolaFly.App app = new ParabolaFly.App(); app.InitializeComponent(); app.Run(); я нашел глубоко в файлах проекта: ParabolaFly\ParabolaFly\obj\Debug, в то время как в редактируемом файле MainWindow.xaml.cs, ничего подобного нет

justjune commented 3 years ago

Выбран не тот проект! Нужно см. обведенное в снимке ниже: image