Не знаю точно. Могу только отметить, что с приходом Nokia Qt выпускается в том числе под лицензией LGPL: можно разрабатывать коммерческое ПО без покупки Qt. Правда не будет интеграции с MS Visual Studio, но можно использовать Qt Creator, например вместо Visual Studio.
We want to enable everyone who downloads Qt from our website to have the option of using Qt together with Visual Studio, regardless of whether they choose to use a commercial evaluation version, the GPL or the LGPL.
but:
Qt commercial license holders on Windows get access to a full Visual Studio Integration.
Как по мне, так если важна кроссплатформенность, то это должна быть система которая может работаь на условно-любой ОС. Не вижу смысла в программе которая работает и в десктопной версии и в веб версии, все таки это разные идиологии. Если программа предназначается для десктопа, то она должна быть на десктопе, то же справедливо и для веба.
Насчёт web'а возможно вы правы, но насчёт desktop версии и mobile, то тут налицо удобство, если вы часто работаете с какой — нибудь важной программой на десктопе, но очень удобно будет иметь её версию на Win Mob — возможность не привязываться к месту работы! Или возможность одновременной работы как мобильных юзеров так и десктоп (допустим на клиент-серверной программе).
Ну а веб-интерфейс будет удобен, когда программа запущена, например, дома или где-нибудь на удаленном сервере. Когда такая возможность понадобится, люди быстро привыкнут к веб-интерфейсу.
Мне кажется разделение функционала в приложении более четко описывается через шаблон Layers (см Фаулера). И довольно странным показалось использование шаблонов вместо стандартного делегирования через интерфейс, какой в этом смысл?
также для кроссплатформенной разработки, для использования одной реализации бизнес-логики удобно использовать SOA платформы, одним из примеров реализации такой платформы является платформа веб сервисов. Ну а для создания интерфейса можно подобрать понравившуюся библиотеку персонально для каждой платформы.
->Реализация GUI при помощи веб-ориентированных средств несет в себе массу положительных моментов, начиная с большого количества веб-дизайнеров и заканчивая огромным количеством уже готовых вариантов дизайна.
К моему великому сожалению большинство веб-дизайнеров не имеют никакого прямого отношения к html и css.
Приложение запускается через точку входа. Как выше уже заметили, у меня это int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE, LPTSTR, int).
calcView.Run() вполне мог бы называться calcView.Show();
Речь о том, что в вашем случае запуск проекта в целом инициирует вьюха, в то время, как встречается вариант инициации контроллером (что на самом деле, имхо, логичнее).
3 in 1: Desktop, Mobile, Web. Кроссплатформенная разработка