Станислав Макаров: > работали не очень плотно.
Работал на уровне того, что плагины для VS писал.
> VS это не тот инструмент, который будет следить за каждым вашим шагом, хотя бы потому, что в ней можно решать широкий круг задач.
Пошла-поехала линуксятина.
Тогда проще выкинуть нафиг студию и взять блокнот, а лучше HEX-редактор, как инструмент для самого широкого круга задач.
Это линуксячий подход и есть.
Спорить не буду. В разработке IDE вы все равно не участвуете, и слава Богу.
Станислав Макаров: > С таким же успехом можно сказать, что Windows 7 не заменяет Windows 95.
На Windows 7 запустится куча программ, какие не запустятся на Windows 95.
В Win 7 (точнее, Win XP и выше) входят реально нужные вещи, и DirectX в их числе, но не для свистоперделок, а для игр, для DirectShow - и для тех редких случаев, когда GUI все-таки имеет смысл делать на DirectX (например, графические, видео-, WYSIWYG-редакторы).
А WPF что реально нового дает, кроме свистоперделок ненужных?
> https://en.wikipedia.org/wiki/Desktop_Window_Manager
Зачем вы мне эту ссылку суете?
Я и без вас знаю, что такое DWM, и знаю, что он использует DirectX.
Ну и что он там ускоряет, кроме анимаций и прочих свистоперделок? Ничего. А вот замедляет - это да.
Что вы все прицепились к этому ускорению отрисовки? Вы вообще в курсе, как работает отрисовка, и как часто перерисовывается окно?
Если не в курсе, то объясняю.
Вот открылось окошко. Один раз нарисовались контролы. И ВСЁ. Больше оно не перерисовывается, пока юзер: не изменит размер окна, не перетащит его за край монитора и обратно, не свернет в значок и вернет обратно, и не проскроллит.
А теперь представьте себе Калькулятор. Окно обычного Калькулятора. Растягивать - его нельзя вообще. Скроллить - его нельзя вообще. Значит, перерисовка осуществляется только при сворачивании/разворачивании и перетаскивании за край монитора (или окно поверх всех окон). Это что, так часто происходит? Так критично, чтобы было без малейших артефактов? Вот когда вы с калькулятором работаете, вы что, смотрите нету ли артефактов где, не мелькнет ли где белый/черный? Или у вас голова все-таки расчетами занята?
А если расчетами, то что вы здесь ускорять DirectXом собрались?
Если у вас огромная панель с полтинником контролов и в ней скроллбар (сам попал однажды в такую ситуацию), то здесь пригодится WPF.
Ну так эту панель и надо делать на нем, а все остальное - на Winforms, и внедрить ее через ElementHost.
Хотя если вы не только программист, но и Architect, то у вас есть куча самописных контролов и прочих готовых классов для частых задач, почему бы не попробовать и панель с скроллом написать самому? Скорость отрисовки определяется не столько тем, что лежит в ее основе (DirectX или GDI/GDI+), сколько прямизной алгоритма отрисовки...
> Если вас в 2016 году устраивает look&feel уровня MS-DOS или Windows 95
Что за бред? В Winforms вполне стандартный look&feel, как в винде. XP-стили давным давно по умолчанию включены в Winforms, какой к черту 95?
А вот как раз в WPF - дефолтный look&feel берется НЕ из Themes винды, а полностью свой, и несколько непривычен пользователю. И еще более непривычен кастомный look&feel (то бишь "свистоперделки").
Ну и причем тут это?
Посмотрел, вижу, что query.yahooapis.com/v1/public/yql при любом запросе возвращает заголовок:
Access-Control-Allow-Origin: *
а значит, к нему кросс-доменные запросы можно делать в принципе, в том числе и без jQuery. И JSONP тут ни при чем.
А у ТС этот заголовок явно отсутствует, он об этом даже в вопросе написал.
Лично я опыта с кроссбраузерными фреймворками не имею, всегда писал отдельное расширение под каждый браузер. А фреймворки - какие-то сырые, кривые.
Попробуйте фреймворки. Не получится - шут с ними.
Роман:
> с ее точки все норм, вы добавляете в проект шаблон.
Если бы все так рассуждали в свое время, то мы бы на десктопе на голом WinAPI сидели.
Высокоуровневее надо мыслить. Мыслить о том, чего еще нигде нет, но что было бы хорошо, если бы было. Понятно?
> Добавить любой файл можно, только все равно работать не будет.
Было бы хорошо, если бы предупреждала.
Роман: > а причем тут точность движения мышкой?
Притом, что с WPFовским WYSIWYG тупо менее удобно работать.
Простейший пример на уровне хелловорлда: вот в Winforms ткнешь по рамке формы - выделишь Form, ткнешь по клиентской области - выделишь Form. Это одно целое.
А в WPF: есть Window (это окно), а есть Grid (это контейнер), и нужно переключаться то к одному, то к другому, и не перепутать.
Только не надо говорить, что я здесь тоже нихрена не знаю. С десктопом у меня огромный опыт, уж всяко больше вашего, поэтому не нужно спорить.
Но ни опыт, ни знания не делают не очень удобное - удобным.
> а то, что аппаратное ускорение используется.
Сколько раз я слышал эту зазубренную фразочку от людей, кто нахватался вершков, а как применять это аппаратное ускорение - не знает.
Ну так знайте: аппаратное ускорение ускоряет ТОЛЬКО 3D и анимации (когда картинка быстро меняется).
Роман: > зачем студии вам запрещать это делать, она считает вас умнее все таки )
А это очень большая ошибка так думать, и идеологии MS это совершенно не соответствует.
Любая IDE (любая!) - это прежде всего "абстрактор". То есть хреновина, которая абстрагирует вас от лишних тонкостей, и многое делает за вас автоматом, по крайней мере, по дефолту.
PhoneGap поможет только в случае, если делать GUI на HTML+CSS+JS. PhoneGap очень кривой, сырой, но все-таки можно с помощью какой-то матери заставить его сбилдить проект. И если реально много наработок по GUI на HTML+CSS+JS, то в итоге получится быстрее, чем нативный GUI.
Если GUI не на HTML+CSS+JS, то он не только не помогает с бек-ендом, он вообще так не может.
Роман: > Ну WPF и заменяет WinForms, и именно для этой цели создавалась
Нет, не заменяет. Это уже ВАШЕ незнание ДЕСКТОПА.
WPF основан на DirectX. Слово "DirectX" вам ни о чем не говорит? Игры, 3D, анимация...
Спрашивается, нахрена нужен этот DirectX в программке, где окошко, пара кнопок, десяток текстбоксов, пара табов, и все это дефолтным GUI и никаких красивостей и уж тем более анимаций?
Не нужен он в таком приложении. И более того, будет только мешать. Так как изначально DirectX тормознее, чем GDI/GDI+. Тупо засекаем время запуска приложения и сравниваем, сколько занимает ОЗУ. Можно и по нагрузке на ЦП графики построить и сравнить. При наличии кучи анимаций или 3D, эти тормоза с лихвой компенсируются, и DirectX/WPF получается куда быстрее, и при том и удобнее для разраба.
Но если ничего этого нет, то всё наоборот, и WPFовский WYSIWYG тоже будет только мешать, ибо чисто физически требует более точных движений мышкой, да и на слабых компах притормаживает жестче, чем Winformsовский WYSIWYG.
> WebForms это и есть ASPX, а Razor это MVC, то что их можно скрещивать в одном приложении заслуга ядра
Главное знать, что под MVC мы можем создать макет с помощью ASPXовских контролов, и добавить JSовские (клиентские) обработчики, но не сможем добавить серверные обработчики - обработку все равно придется делать в соответствии с архитектурой MVC.
> В WebForms грубо говоря, контролы, через канал связанны с обработчиками событий на сервере
Да, серверные обработчики - это именно дело WebForms. Поэтому под ASP.NET MVC они и не работают.
Но сами контролы (и клиентские обработчики - которые на JS) - это дело шаблонизатора ASPX, которых и под ASP.NET MVC доступен был.
> главное это контроллеры с набором действий
С архитектурой MVC уже имел дело, только на PHP с фреймворком Yii2.
А у PHP что ни фреймворк, то в архитектуре MVC, ничего похожего на WebForms я там не видел. Поэтому там таких вопросов не возникало.
> Странная логика у вас
Странная логика - это у MS. Почему студия позволила мне добавить обработчик, который не будет работать, и не предупредила меня Warningом? При этом всё скомпилировалось и запустилось. Я понял, что обработчик работать не будет, только тогда, когда попробовал написать в него "рыбный" код.
Я бы на месте MS не стал делать так.
> в новом ASP.NET 5 (не путать с версиями MVC) MS выпилили WebForms полностью, те создав MVC проект, вы не добавите в него ASPX файл
Хм, спасибо! Но я не думаю, что прям уж так "не добавите". Всегда можно придумать какой-то костыль. Это уже кому как.
> просто создав проект, добавив пару файлов, вы сделали вывод
Вывод очень предварительный был.
А насчет читать, я всё изучаю, прежде всего, на практике. Почему? Потому что я иногда вынужден изучать до кучи такого, о чем ВООБЩЕ почитать негде, и так сделано специально, ибо копирасты. Работа у меня такая. Reverse-Engineering.
Nikolas_Williams: это мне ни о чем не говорит. Я не знаю, насколько сложна работа, и реально ли исполнитель способен сделать долго и дорого, но зато @#$ (как у Лебедева). Или он просто делает долго и дорого. Это нужно все детали знать. Лично я - со всей ответственностью заявляю, что способен сделать именно так, если мне дать время и деньги. Никто бы из заказчиков в итоге не пожалел бы об этом. В итоге заказчик получил бы не только отличное приложение, но и уникальный фреймворк, на котором построено данное приложение, и который в партнерстве со мной можно продавать людям за немалые бабки - практически пассивный доход. Но увы, лишь единицы это понимают.
Станислав Макаров: > просто два несовместимых подхода к жизненному циклу веб-приложения
Причем здесь жизненный цикл и архитектура веб-приложения? WebControls - это чисто для View.
А вот обработка СЕРВЕРНЫХ событий от этих контролов (вроде события Click) - это уже и жизненный цикл и архитектура, и в WebForms оно поддерживается, а в MVC события просто не вызываются. В этом я убедился на опыте, так что теперь всё на своих местах.
> Вы так решили только потому, что студия позволила вам добавить ASPX-файл в проект?
Нет. Студия еще и позволила мне обработчик серверное событие Click, в итоге этот обработчик, разумеется, не работает, т.к. приложение MVC, а не WebForms.
Плохо, что студия об этом не предупреждает. Я бы на месте MS так не оставил это.