Re[3]: WPF vs WinForms
От: Alexander Polyakov  
Дата: 27.03.10 21:09
Оценка:
MK>минусы индивидуального характера.
Очень хочется, чтобы вы были правы, но, к сожалению, это не так. Большинство описанных недостатков касаются основ WPF. Вряд ли удастся их исправить просто фиксами в будущих версиях. Framework 4 это подтверждает.
Re[4]: WPF vs WinForms
От: MxKazan Португалия  
Дата: 27.03.10 22:25
Оценка:
Здравствуйте, Alexander Polyakov, Вы писали:

MK>>минусы индивидуального характера.

AP>Очень хочется, чтобы вы были правы, но, к сожалению, это не так. Большинство описанных недостатков касаются основ WPF. Вряд ли удастся их исправить просто фиксами в будущих версиях. Framework 4 это подтверждает.
Да никто не заставляет, собственно. Я только призвал к объективности. Жаль, что x64 оценил только отрицательные стороны, видимо это ему и было нужно.
Re[24]: WPF vs WinForms
От: Cyberax Марс  
Дата: 27.03.10 22:49
Оценка:
Здравствуйте, mrTwister, Вы писали:

C>>Или ещё усложним ситуацию — узлы дерева делаем редактируемыми (можно переименовывать файлы). Начинаем редактировать имя, а тут кто-то меняет имя родительского каталога. Как это обработать красиво?

T>http://msdn.microsoft.com/en-us/library/system.componentmodel.inotifypropertychanged.aspx
Недостаточно даже близко.
Sapienti sat!
Re[32]: WPF vs WinForms
От: Cyberax Марс  
Дата: 28.03.10 00:25
Оценка:
Здравствуйте, MxKazan, Вы писали:

C>>Создаваемые объекты оборачиваются в проксики, и при выполнении метода отслеживается к каким объектам (и коллекциям) были обращения. Этого достаточно, чтобы отследить зависимости.

MK>Прикольно да. Хотя, в принципе, если будут обращения к объектам, которые взаимосвязаны логически, но в коде это никак не выражено, то GUI в будущем и не заметит зависимости.
Ну так зависимости должны быть выражены в коде В принципе, не так уж много случаев, когда они не будут.
Sapienti sat!
Re[2]: WPF vs WinForms
От: VladD2 Российская Империя www.nemerle.org
Дата: 28.03.10 01:56
Оценка:
Здравствуйте, mrTwister, Вы писали:

T>Мощь WPF...Это то, что быстро вспомнил.


Ага. А я быстро вспомнил...
* Невозможность отобразить качественный текст на экране.
* Тормоза на дохлых видюхах.
* Переусложненный дизайн.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: WPF vs WinForms
От: VladD2 Российская Империя www.nemerle.org
Дата: 28.03.10 01:58
Оценка: -1
Здравствуйте, Roman Odaisky, Вы писали:

RO>Всё правильно, только опечатка, вместо WPF должно было быть Qt.


Ага. Только жаль, что приложения на нем получаютя убогими. Но в этом, очевидно, виноваты кривые руки...
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: WPF vs WinForms
От: Roman Odaisky Украина  
Дата: 28.03.10 08:29
Оценка: +2 :)
Здравствуйте, VladD2, Вы писали:

RO>>Всё правильно, только опечатка, вместо WPF должно было быть Qt.


VD>Ага. Только жаль, что приложения на нем получаютя убогими. Но в этом, очевидно, виноваты кривые руки...


Не жаль. Если разработчики настолько зациклены на майкрософтовских технологиях, которые работают только в одной ОС, то пусть плачут, колются и пишут и используют убогие приложения.
До последнего не верил в пирамиду Лебедева.
Re[4]: WPF vs WinForms
От: LaPerouse  
Дата: 28.03.10 10:24
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Вот конкретно в SWING'е оно сделано через Ж. Бааальшую Ж.


В Swing-е оно сделано универсально

C>Скажем, как мне в таблице сделать удобное редактирование ячеек?


Известно как — выбирая нужную реализацию редактора содержимого ячейки через TableCellEditor.

C>Никак, так как угрёбищная система с editor'ами никуда не годиться.


Она очень гибка и универсальна. Ты имеешь дело только с текстовыми данными? А у меня к примеру в таблице отображаются и редактируются вектора. И концепция editor/renderer позволяет мне сделать это очень удобно.

C>Так же, нельзя нормально делать композитные контролы и т.п.


Что ты понимаешь под композитным контролом? Впервые слышу этот термин. Если это то, о чем я думаю, чем JPanel у примеру не подходит?
Социализм — это власть трудящихся и централизованная плановая экономика.
Re[16]: WPF vs WinForms
От: LaPerouse  
Дата: 28.03.10 12:26
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>Здравствуйте, LaPerouse, Вы писали:


I>>>Щас вот открыл мега-продукт, Идея 9.0.1, на первом же экране обнаружил артефакты, которые мы в своей дотнет прилаге не наблюдаем где то с первого релиза.


LP>>Какие артефакты? Скриншоты в студию.


I>Берешь и ресайзишь окна.


Мне нечего ресайзить. Я не пользуюсь Idea.
Социализм — это власть трудящихся и централизованная плановая экономика.
Re[25]: WPF vs WinForms
От: mrTwister Россия  
Дата: 28.03.10 13:08
Оценка:
Здравствуйте, Cyberax, Вы писали:

T>>http://msdn.microsoft.com/en-us/library/system.componentmodel.inotifypropertychanged.aspx

C>Недостаточно даже близко.

Недостаточно для чего? Для решения указанной задачи этого хватает за глаза. Из оверхеда — одна строчка кода в сеттере поля ViewModel — вызыать "OnPropertyChanged". И никакой магии не надо.
лэт ми спик фром май харт
Re[26]: WPF vs WinForms
От: Cyberax Марс  
Дата: 28.03.10 14:05
Оценка:
Здравствуйте, mrTwister, Вы писали:

T>>>http://msdn.microsoft.com/en-us/library/system.componentmodel.inotifypropertychanged.aspx

C>>Недостаточно даже близко.
T>Недостаточно для чего? Для решения указанной задачи этого хватает за глаза. Из оверхеда — одна строчка кода в сеттере поля ViewModel — вызыать "OnPropertyChanged". И никакой магии не надо.
Нет. Тебе надо будет подписать метку на ВСЕ файлы в подкаталогах выбранного элемента. И при изменении выбранного элемента не забывать менять их.

Уже совсем не одна строчка. И это только для модельного примера. В реальных примерах всё сложнее.
Sapienti sat!
Re[5]: WPF vs WinForms
От: Cyberax Марс  
Дата: 28.03.10 14:12
Оценка:
Здравствуйте, LaPerouse, Вы писали:

C>>Вот конкретно в SWING'е оно сделано через Ж. Бааальшую Ж.

LP>В Swing-е оно сделано универсально
Универсально через Ж.

C>>Скажем, как мне в таблице сделать удобное редактирование ячеек?

LP>Известно как — выбирая нужную реализацию редактора содержимого ячейки через TableCellEditor.
Ага, и для активации редактора нужно на него щёлкнуть. При этом другой активный редактор выключается (т.е. редактор может быть только один). Попытки сделать редактор автоматически следующим за курсором приводят к жутким глюкам при клавиатурной навигации. И т.п.

В общем, у меня на SWING'е написано большое приложение. Так что не надо мне объяснять как оно всё круто работает. В HTMLayout, к примеру, этой проблемы нет в принципе.

И я уж не говорю, что те же таблицы в SWINGе сделаны криво. В JTable нет возможности сделать фиксированную колонку (заголовки рядов)! Или нельзя делать rowspan/colspan'ы.

C>>Так же, нельзя нормально делать композитные контролы и т.п.

LP>Что ты понимаешь под композитным контролом? Впервые слышу этот термин. Если это то, о чем я думаю, чем JPanel у примеру не подходит?
Например, слайдер, у которого элемент, за который его таскают, работает как комбобокс. Про JPanel можешь мне не рассказывать
Sapienti sat!
Re[27]: WPF vs WinForms
От: MxKazan Португалия  
Дата: 28.03.10 15:57
Оценка: +1
Здравствуйте, Cyberax, Вы писали:

C>Здравствуйте, mrTwister, Вы писали:


T>>>>http://msdn.microsoft.com/en-us/library/system.componentmodel.inotifypropertychanged.aspx

C>>>Недостаточно даже близко.
T>>Недостаточно для чего? Для решения указанной задачи этого хватает за глаза. Из оверхеда — одна строчка кода в сеттере поля ViewModel — вызыать "OnPropertyChanged". И никакой магии не надо.
C>Нет. Тебе надо будет подписать метку на ВСЕ файлы в подкаталогах выбранного элемента. И при изменении выбранного элемента не забывать менять их.
Какая-то фигня. В MVVM я бы просто сделал свойство Sum, get-аксессор которого подсчитывал нужную величину. Добавив файл, при помощи события PropertyChanged оповестил бы интерфейс, что свойство Sum изменилось. Заранее отмечу, придирка что файл добавил бы кто-то иной без моего ведома не прокатывает, потому что, во-первых, это также можно решить одним оповещением, а во-вторых, врядли в этом случае меняется одна и та же коллекция.

И у меня возник такой вопрос: а как в Trellis решается ситуация, когда я не желаю, чтобы интерфейс реагировал на изменения в коллекции?
Re[28]: WPF vs WinForms
От: mrTwister Россия  
Дата: 28.03.10 16:07
Оценка: +1
Здравствуйте, MxKazan, Вы писали:

MK>Какая-то фигня. В MVVM я бы просто сделал свойство Sum, get-аксессор которого подсчитывал нужную величину. Добавив файл, при помощи события PropertyChanged оповестил бы интерфейс, что свойство Sum изменилось. Заранее отмечу, придирка что файл добавил бы кто-то иной без моего ведома не прокатывает, потому что, во-первых, это также можно решить одним оповещением, а во-вторых, врядли в этом случае меняется одна и та же коллекция.


Собственно я это и мел ввиду.

MK>И у меня возник такой вопрос: а как в Trellis решается ситуация, когда я не желаю, чтобы интерфейс реагировал на изменения в коллекции?


Мне вообще подобная магия не нравится, так как чуть шаг в сторону и она ломается. Чтобы починить — обычно начинаются пляски с бубном. Это я не про trellis а вообще про "магию".
лэт ми спик фром май харт
Re[28]: WPF vs WinForms
От: Cyberax Марс  
Дата: 28.03.10 16:53
Оценка:
Здравствуйте, MxKazan, Вы писали:

T>>>Недостаточно для чего? Для решения указанной задачи этого хватает за глаза. Из оверхеда — одна строчка кода в сеттере поля ViewModel — вызыать "OnPropertyChanged". И никакой магии не надо.

C>>Нет. Тебе надо будет подписать метку на ВСЕ файлы в подкаталогах выбранного элемента. И при изменении выбранного элемента не забывать менять их.
MK>Какая-то фигня. В MVVM я бы просто сделал свойство Sum, get-аксессор которого подсчитывал нужную величину.
Ещё хуже. Детали пользовательского интерфейса проносим в модель.

MK>Добавив файл, при помощи события PropertyChanged оповестил бы интерфейс, что свойство Sum изменилось. Заранее отмечу, придирка что файл добавил бы кто-то иной без моего ведома не прокатывает, потому что, во-первых, это также можно решить одним оповещением, а во-вторых, врядли в этом случае меняется одна и та же коллекция.

MK>И у меня возник такой вопрос: а как в Trellis решается ситуация, когда я не желаю, чтобы интерфейс реагировал на изменения в коллекции?
Можно игнорировать определённые изменения, но это считается очень плохим решением.
Sapienti sat!
Re[29]: WPF vs WinForms
От: MxKazan Португалия  
Дата: 28.03.10 17:06
Оценка: 1 (1)
Здравствуйте, Cyberax, Вы писали:

C>Здравствуйте, MxKazan, Вы писали:


T>>>>Недостаточно для чего? Для решения указанной задачи этого хватает за глаза. Из оверхеда — одна строчка кода в сеттере поля ViewModel — вызыать "OnPropertyChanged". И никакой магии не надо.

C>>>Нет. Тебе надо будет подписать метку на ВСЕ файлы в подкаталогах выбранного элемента. И при изменении выбранного элемента не забывать менять их.
MK>>Какая-то фигня. В MVVM я бы просто сделал свойство Sum, get-аксессор которого подсчитывал нужную величину.
C>Ещё хуже. Детали пользовательского интерфейса проносим в модель.
Путаешь domain-model и view-model. Я говорил о второй.

MK>>Добавив файл, при помощи события PropertyChanged оповестил бы интерфейс, что свойство Sum изменилось. Заранее отмечу, придирка что файл добавил бы кто-то иной без моего ведома не прокатывает, потому что, во-первых, это также можно решить одним оповещением, а во-вторых, врядли в этом случае меняется одна и та же коллекция.

MK>>И у меня возник такой вопрос: а как в Trellis решается ситуация, когда я не желаю, чтобы интерфейс реагировал на изменения в коллекции?
C>Можно игнорировать определённые изменения, но это считается очень плохим решением.
Ну, вот например, мне по бизнесу нужно произвести множество изменений в коллекции, зачем мне отображать промежуточные состояния пользователю?
Re[29]: WPF vs WinForms
От: mrTwister Россия  
Дата: 28.03.10 17:20
Оценка: 1 (1)
Здравствуйте, Cyberax, Вы писали:

C>Здравствуйте, MxKazan, Вы писали:


T>>>>Недостаточно для чего? Для решения указанной задачи этого хватает за глаза. Из оверхеда — одна строчка кода в сеттере поля ViewModel — вызыать "OnPropertyChanged". И никакой магии не надо.

C>>>Нет. Тебе надо будет подписать метку на ВСЕ файлы в подкаталогах выбранного элемента. И при изменении выбранного элемента не забывать менять их.
MK>>Какая-то фигня. В MVVM я бы просто сделал свойство Sum, get-аксессор которого подсчитывал нужную величину.
C>Ещё хуже. Детали пользовательского интерфейса проносим в модель.

Судя по всему, ты незнаком с MVVM. Рекомендую ознакомиться.
лэт ми спик фром май харт
Re[30]: WPF vs WinForms
От: Cyberax Марс  
Дата: 28.03.10 17:25
Оценка:
Здравствуйте, MxKazan, Вы писали:

MK>>>Какая-то фигня. В MVVM я бы просто сделал свойство Sum, get-аксессор которого подсчитывал нужную величину.

C>>Ещё хуже. Детали пользовательского интерфейса проносим в модель.
MK>Путаешь domain-model и view-model. Я говорил о второй.
А я с Trellis'ом могу от второй вообще отказаться. В любом случае, тебе вручную придётся где-то вести вычисления и слежение. Неудобно.

MK>>>И у меня возник такой вопрос: а как в Trellis решается ситуация, когда я не желаю, чтобы интерфейс реагировал на изменения в коллекции?

C>>Можно игнорировать определённые изменения, но это считается очень плохим решением.
MK>Ну, вот например, мне по бизнесу нужно произвести множество изменений в коллекции, зачем мне отображать промежуточные состояния пользователю?
Для этого там есть более нормальные средства (STM), которые позволяют делать "транзакции". Т.е. ты делаешь какое-то изменение, и перерасчёт зависимостей запускается только при его успешном завершении. Кстати говоря, сюда ещё и undo/redo совершенно логически приделываются.
Sapienti sat!
Re[31]: WPF vs WinForms
От: mrTwister Россия  
Дата: 28.03.10 17:42
Оценка:
Здравствуйте, Cyberax, Вы писали:

MK>>Путаешь domain-model и view-model. Я говорил о второй.

C>А я с Trellis'ом могу от второй вообще отказаться.

Ну можно вообще от всего отказаться в обработчике нажатия кнопки лазить в базу данных. View-Model — это очень полезная штука без относительно твоего примера с перерисовкой view, которая позволяет сконцентрировать логику пользовательского интерфейса в одном месте в тестируемом виде.
лэт ми спик фром май харт
Re: WPF vs WinForms
От: minorlogic Украина  
Дата: 28.03.10 18:58
Оценка:
Сорри за каламбур , но почему WPF так легко перепутать с WTF ?
... << RSDN@Home 1.2.0 alpha 4 rev. 1237>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.