Здравствуйте, VladD2, Вы писали:
VD>В прочем, не ясно что их подтолкнуло к такому решению. Может они тупо сливают дотнет переводя его в опенсорс.
Все просто, MS из компании продающей коробки, становится компанией продающей сервисы. А доступ к сервисам должен быть с любой платформы.
Так что не сливают, а наоборот — будут развивать всеми силами, чтобы увеличить привлекательность своих сервисов.
Здравствуйте, Sinix, Вы писали:
S>Ну и чтобы не заводить новую тему: WPF скорее жив, чем мёртв)
<offtopic>
А старичек C++ живее всех живых как обычно и с такими темпами переживет всех
</offtopic>
Здравствуйте, Sinix, Вы писали:
S>Ну и чтобы не заводить новую тему: WPF скорее жив, чем мёртв)
У WPF на сегодняшний день главная проблема — это XAML как UI DSL. Им нужно думать о нормальном DSL и тогда может получится реальный прорыв как от WebWorms к ASP.NET MVC.
Если нам не помогут, то мы тоже никого не пощадим.
Здравствуйте, Sinix, Вы писали:
S>Здравствуйте, VladD2, Вы писали:
VD>>Было довольно гулупо иметь переносимую виртуальную машину доступную только на платформах МС. S>Политика ж. До Win8 идея "продукты от MS не под win" каралась приходом инквизиции, во времена Синофски менеджед-стек вообще не в моде был. Сейчас ещё один менеджер поменяются закроют обратно, с них станется))
S>Ну и лицо Икасы на трансляции счастливым не выглядело. Оно и понятно: 12 лет пилить моно совсем-не-смотря-на-исходники, наконец раскрутить xamarin и тут оппа, открытый .Net
Оно понятно, что обидно, но на деле-то им это очень выгодно — они сейчас заменят на микрософтовскую реализацию, все что у них откровенно хреново работает, а за одним сэкономят в дальнейшем кучу ресурсов на поддержку этого добра. И их рынок только вырастет после этого решения — корпоративщики будут с меньшей опаской к Ксамарину относиться.
Здравствуйте, Sinix, Вы писали:
S>Об этом и речь. .Net foundation позиционируется как "официальный" опенсорс, всё остальное — инициатива снизу.
Не совсем так. Все несколько сложнее. Под сабжевой инициативой понимвается строго CLR и Core FCL. Все остальное делается другими командами и там свои планы.
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
Здравствуйте, IT, Вы писали:
IT>Здравствуйте, PeterZT, Вы писали:
PZT>>А как бы вы переделали WPF?
IT>Как переделали ASP.NET WebForms? Выкинули нафиг XML и сделали нормальный C# подобный язык, органично совмещающийся с html. Что-то подобное нужно и здесь. XAML ведь всё равно сначала транслируется в C#, а уже потом исполняется.
Здравствуйте, maloi_alex, Вы писали:
_>Опять облака, а для десктопа что-нибудь можно будет сделать?
Available Wednesday, Visual Studio Community 2013 is a free, fully featured edition of Visual Studio including full extensibility. Targeting any platform, from devices and desktop, to Web and cloud services,
Somasegar told me that the Community Edition will allow you to build any kind of application for the Web, mobile devices, desktop and the cloud. “It’s a full features version of Visual Studio,” he noted. “It includes the full richness of the Visual Studio extensions and ecosystem.” This means you get access to all the usual Visual Studio tools like Peek, Code Analysis, Graphical Debugging and more.
It’s basically a full version of Visual Studio with no restrictions, except that you can’t use it in an enterprise setting and for teams with more than five people (you can, however, use it for any other kind of commercial and non-commercial project).
Здравствуйте, oziro, Вы писали:
C>>Вот как раз смотрю на CAD на HTML5 — на нём написана вся обёртка (панели инструментов, менюшки и прочая фигня), а сам рендеринг делается специальным плугином на канве. O>и где это на рынке? Как купить? https://tinkercad.com/
Здравствуйте, VladD2, Вы писали:
VD>В прочем, не ясно что их подтолкнуло к такому решению. Может они тупо сливают дотнет переводя его в опенсорс.
Пытаются придать новый импульс комьюнити. Они опоздали с нугетом на пару лет, опоздали с доступной студией лет на пять, начудили с ui-платформами. Теперь, потеряв лояльность, хотят вернуть ее через пряники.
Сегодня в Нью Йорке проходит конференция Microsoft Connect(), на которой анонсированы новые продукты и технологии. Выпущена предварительная версия Visual Studio 2015, специальная бесплатная редакция Visual Studio Community 2013, Visual Studio 2013 update 4, открывается исходный код .NET Server Core, выпущена предварительная версия .NET 2015, обновлены инструменты кросс-платформенной разработки на базе Apache Cordova, в Visual Studio появился эмулятор ОС Android. Это действительно новый этап в развитии инструментов разработки Microsoft, и мы рады рассказать о деталях.
Основное
•Reference Source для .NET 4.6 перелицензируется под MIT;
•В дальнейшем фреймворк будет с открытыми исходниками и поставляться по частям через NuGet, можно будет с приложением поставлять свою сборку, которая будет изолирована от всего остального;
•Разработка переезжает на GitHub;
•Скоро откроют исходники рантайма, включая RyuJit и сборшик мусора;
•Для всего этого счастья планируется официальная поддержка никсов.
Mono не то чтобы больше не нужен, в дальнейшем с ними будут плотно сотрудничать для портирования, вероятно, этот стек будет некоторое время поставляться в составе Mono, так как открыто ещё далеко не всё и для полноценной работы потребуются вещи из его состава.
и солнце б утром не вставало, когда бы не было меня
Здравствуйте, Sinix, Вы писали:
S>Здравствуйте, VladD2, Вы писали:
VD>>Было довольно гулупо иметь переносимую виртуальную машину доступную только на платформах МС. S>Политика ж.
Понимаю. Только глупая это была политика.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, AndrewVK, Вы писали:
AVK>Не совсем так. Все несколько сложнее. Под сабжевой инициативой понимвается строго CLR и Core FCL. Все остальное делается другими командами и там свои планы.
Я так понимаю, серверные приложения и Web можно будет делать без проблем.
А весь GUI остаётся системно-зависимым, так как портировать DirectX на Линукс у Microsoft желания никакого нет. А без него не будет и WPF.
Здравствуйте, Евгений Акиньшин, Вы писали:
ЕА>А есть вообще примеры хорошего DSL для GUI ?
Любая XAML разметка может стать как минимум в 2 раза короче, если уйти от многословного XML синтаксиса в сторону чего-то похожего на инициализаторы объектов в C#.
Здравствуйте, hardcase, Вы писали:
H>Любая XAML разметка может стать как минимум в 2 раза короче, если уйти от многословного XML синтаксиса в сторону чего-то похожего на инициализаторы объектов в C#.
И ещё не забываем про стили и тригеры, которые являются извращённой попыткой симулировать императив с помощью декларации.
Если нам не помогут, то мы тоже никого не пощадим.
Здравствуйте, IT, Вы писали:
IT>И ещё не забываем про стили и тригеры, которые являются извращённой попыткой симулировать императив с помощью декларации.
Здравствуйте, ionoy, Вы писали:
I>Да, только WPF стили значительно уступают по удобству LESS.
Вполне возможно. Я ж не спорю что XAML довольно неудобный язык. Мне не нравится идея делать стили императивными. А добавить в WPF вложенные стили и шаблоны стилей вполне можно.
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
Здравствуйте, AndrewVK, Вы писали:
AVK>А добавить в WPF вложенные стили и шаблоны стилей вполне можно.
По-моему, там надо не столько вложенность, сколько нормально написанные базовые стили. Потому что сейчас в шаблонах гвоздями прибито всё.
Нужен фон для кнопки? Переписывай шаблон.
Word wrapping в checkbox? Переписывай шаблон.
Произвольное выравнивание в TreeViewItem? Нувыпоняли
* Для последнего есть красивейший хак, но эт скорее исключение, чем правило.
Здравствуйте, PeterZT, Вы писали:
PZT>А как бы вы переделали WPF?
Как переделали ASP.NET WebForms? Выкинули нафиг XML и сделали нормальный C# подобный язык, органично совмещающийся с html. Что-то подобное нужно и здесь. XAML ведь всё равно сначала транслируется в C#, а уже потом исполняется.
Если нам не помогут, то мы тоже никого не пощадим.
Здравствуйте, Qbit86, Вы писали:
Q>По-прежнему не понимаю. Вы хотите вместо C#-подобного псевдокода XML-подобный? Типа, можете выбрать любой цвет, при условии, что он чёрный?
IT выше по теме предложил использовать циклы в стилях. Я вот не очень понимаю, каким боком они там будут полезны. То что вы привели, это обычный код, который пишется в code behind, на стиль это никак не тянет.
Можно, конечно, применить этот код ко всем датагридам в своём проекте, но от этого настоящим стилем он не станет.
Здравствуйте, AndrewVK, Вы писали:
IT>>В данном случае твой аргумент — это аргумент в стиле Влада, раз мне не надо, то никому не надо. AVK>Неверно. Тут другой расклад. Покрыть 100% всех задач все равно не получится. Поэтому нужно покрывать максимцум возможного. А вот отказываться от декларативного описания стилей только потому что какая то вычурная задача декларативно описывается плохо — явно не самый разумный подход.
Есть хороший пример — Razor. В нём всё отлично описывается и в нём явно лучший подход, чем в .aspx.
IT>> и частенько на C# действительно получается код, который значительно проще поддерживать. AVK>Так в чем проблема то? Проще описать в императивном стиле — описывай в императивном. Это не значит что декларативное описание не нужно.
Я нигде не утверждал, что декларативное описание не нужно. Я вообще начал с того, что нужно выкинуть XAML и заменить его на нормальный DSL. Если в нём будет кроме декларации ещё и циклы, то это будет только плюс.
Кстати, LINQ по-твоему декларация или цикл?
Если нам не помогут, то мы тоже никого не пощадим.
Здравствуйте, VladD2, Вы писали:
VD>Было довольно гулупо иметь переносимую виртуальную машину доступную только на платформах МС.
Политика ж. До Win8 идея "продукты от MS не под win" каралась приходом инквизиции, во времена Синофски менеджед-стек вообще не в моде был. Сейчас ещё один менеджер поменяются закроют обратно, с них станется))
Ну и лицо Икасы на трансляции счастливым не выглядело. Оно и понятно: 12 лет пилить моно совсем-не-смотря-на-исходники, наконец раскрутить xamarin и тут оппа, открытый .Net
Здравствуйте, hardcase, Вы писали:
H>WPF ни разу не переносимый так что мимо, C# и VB компиляторы открытые и без того — Roslyn, F# на гитхабе найти можно.
Вообще, вот все ссылки на официальный опенсорс дотнета.
Кое что под зонтик пока не попало (тот же фшарп или TypeScript).
Здравствуйте, hardcase, Вы писали:
H>WPF ни разу не переносимый так что мимо,
Я понимаю, что перенос это большая работа (DirectX->OpenGL), но почему так категорично? Там разве Win32/DirectX наружу торчат?
H>C# и VB компиляторы открытые и без того — Roslyn, H>F# на гитхабе найти можно.
Спасибо.
Сам с .NET не работаю, вот и пропустил момент когда студия перешла на Roslyn.
Здравствуйте, BrainSlug, Вы писали:
BS>хотя на http://www.dotnetfoundation.org/projects их действительно невидно.
Об этом и речь. .Net foundation позиционируется как "официальный" опенсорс, всё остальное — инициатива снизу. Со временем всё конечно переедет туда.
Здравствуйте, VladD2, Вы писали:
S>>Кое что под зонтик пока не попало (тот же фшарп или TypeScript).
VD>TypeScript то тут причем?
Ну orchard и umbraco они в список уже запихнули, чего стесняться-то))
Здравствуйте, IT, Вы писали:
IT>Здравствуйте, Sinix, Вы писали:
S>>Ну и чтобы не заводить новую тему: WPF скорее жив, чем мёртв)
IT>У WPF на сегодняшний день главная проблема — это XAML как UI DSL. Им нужно думать о нормальном DSL и тогда может получится реальный прорыв как от WebWorms к ASP.NET MVC.
Не, ну я конечно сам, мягко говоря, не в восторге от Xaml — но в принципе к нему привыкаешь. "Ужас, но ведь не ужас-ужас "(с)
И уж точно Xaml проще и логичней, чем например HTML или XML в гуе Андроида.
Здравствуйте, novitk, Вы писали:
N>Здравствуйте, hardcase, Вы писали:
H>>WPF ни разу не переносимый так что мимо, N>Я понимаю, что перенос это большая работа (DirectX->OpenGL), но почему так категорично? Там разве Win32/DirectX наружу торчат?
слишком труднозатратно, современный WPF прибит гвоздями к Direct2D и DirectWrite. Там почти все потроха придется переписать.
Здравствуйте, Visor2004, Вы писали:
V>слишком труднозатратно, современный WPF прибит гвоздями к Direct2D и DirectWrite. Там почти все потроха придется переписать.
Безусловно.
Однако ИМХО для кармы можно под переносимость не подписываться, но код неплохо было бы открыть. Xamarin или кто еще разгребет. А так получается "датацентры мы просираем, надо менять правила! А клиенты и так пока наши, будем держать зубами". Smart, but evil.
Здравствуйте, Cyberax, Вы писали:
C>А весь GUI остаётся системно-зависимым, так как портировать DirectX на Линукс у Microsoft желания никакого нет. А без него не будет и WPF.
Под OpenGL никак не переписать? Движки же для игры почти все на оба API.
Здравствуйте, novitk, Вы писали:
C>>А весь GUI остаётся системно-зависимым, так как портировать DirectX на Линукс у Microsoft желания никакого нет. А без него не будет и WPF. N>Под OpenGL никак не переписать? Движки же для игры почти все на оба API.
Там всё заточено на DX, проще написать новую реализацию с совместимым API.
Да и не нужно это, по большому счёту. На телефонах WPF не взлетит, а на декстопе нынче и так миграция в сторону HTML идёт.
Здравствуйте, novitk, Вы писали:
C>>а на декстопе нынче и так миграция в сторону HTML идёт. N>1. В этом нет ничего хорошего. N>2. До богатых приложений типа CAD/фотошопов/IDE/тд еще мигрировать и мигрировать.
Вот как раз смотрю на CAD на HTML5 — на нём написана вся обёртка (панели инструментов, менюшки и прочая фигня), а сам рендеринг делается специальным плугином на канве.
Здравствуйте, Cyberax, Вы писали: C>Вот как раз смотрю на CAD на HTML5 — на нём написана вся обёртка (панели инструментов, менюшки и прочая фигня), а сам рендеринг делается специальным плугином на канве.
Здравствуйте, IT, Вы писали:
IT>И ещё не забываем про стили и тригеры, которые являются извращённой попыткой симулировать императив с помощью декларации.
Честно говоря не вижу в триггерах ничего извращенного. Представление подобных вещей в виде набора правил с предикатами — довольно распространенная и старая практика.
Что же касается стилей, то тут вообще непонятно где в них нашел императив.
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
Здравствуйте, Cyberax, Вы писали:
C>Вот как раз смотрю на CAD на HTML5 — на нём написана вся обёртка (панели инструментов, менюшки и прочая фигня), а сам рендеринг делается специальным плугином на канве.
Есть и IDE, контора пишет. Только для серьезной работы это все несерьезно.
Здравствуйте, AndrewVK, Вы писали:
IT>>И ещё не забываем про стили и тригеры, которые являются извращённой попыткой симулировать императив с помощью декларации. AVK>Честно говоря не вижу в триггерах ничего извращенного. Представление подобных вещей в виде набора правил с предикатами — довольно распространенная и старая практика.
Практика может и старая и даже распространённая, но при этом весьма извращённая и ограниченная.
AVK>Что же касается стилей, то тут вообще непонятно где в них нашел императив.
Стили по своей сути не что иное как тупое присваивание одного значения другому. С той лишь разницей, что это присваивание выражется декларативно.
Кстати, кроме этих нелепых попыток симулировать императив ещё сильно достаёт отсутствие нормальных возможностей повторного использования кода, циклов и пр. В результате приходится нещадно копипастить.
Если нам не помогут, то мы тоже никого не пощадим.
Здравствуйте, IB, Вы писали:
IB>Все просто, MS из компании продающей коробки, становится компанией продающей сервисы. А доступ к сервисам должен быть с любой платформы. IB>Так что не сливают, а наоборот — будут развивать всеми силами, чтобы увеличить привлекательность своих сервисов.
Ну, да. Знакомо. 10 лет сливать рынок Яве и потом спохватиться. Так было с Windows, IE и многим другим.
Как бы не вышло как с виндофонами.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, IT, Вы писали:
ка.
IT>Практика может и старая и даже распространённая, но при этом весьма извращённая и ограниченная.
AVK>>Что же касается стилей, то тут вообще непонятно где в них нашел императив.
IT>Стили по своей сути не что иное как тупое присваивание одного значения другому. С той лишь разницей, что это присваивание выражется декларативно.
IT>Кстати, кроме этих нелепых попыток симулировать императив ещё сильно достаёт отсутствие нормальных возможностей повторного использования кода, циклов и пр. В результате приходится нещадно копипастить.
Здравствуйте, IT, Вы писали:
IT>Практика может и старая и даже распространённая, но при этом весьма извращённая и ограниченная.
Я бы не сказал что императивное описание лучше.
AVK>>Что же касается стилей, то тут вообще непонятно где в них нашел императив. IT>Стили по своей сути не что иное как тупое присваивание одного значения другому.
Это только твоя точка зрения на проблему. А объективно я никакой императивщины там не вижу.
IT>Кстати, кроме этих нелепых попыток симулировать императив ещё сильно достаёт отсутствие нормальных возможностей повторного использования кода, циклов и пр. В результате приходится нещадно копипастить.
Сгенери стиль в Т4. Хотя вот пишу периодически LESS стили и вот как то ни разу не испытывал необходимости в циклах. А повторное использованием может быть и в декларативном описании, все тот же LESS тому пример.
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
Здравствуйте, AndrewVK, Вы писали:
AVK>Сгенери стиль в Т4. Хотя вот пишу периодически LESS стили и вот как то ни разу не испытывал необходимости в циклах. А повторное использованием может быть и в декларативном описании, все тот же LESS тому пример.
Да, только WPF стили значительно уступают по удобству LESS.
Здравствуйте, AndrewVK, Вы писали:
IT>>Практика может и старая и даже распространённая, но при этом весьма извращённая и ограниченная. AVK>Я бы не сказал что императивное описание лучше.
То, что используется в стилях вообще никуда не годится.
IT>>Стили по своей сути не что иное как тупое присваивание одного значения другому. AVK>Это только твоя точка зрения на проблему. А объективно я никакой императивщины там не вижу.
То, что ты её не видишь вовсе не означает, что её там нет. Вот это по-твоему что?
<Setter Property="FontWeight" Value="Bold" />
AVK>Сгенери стиль в Т4. Хотя вот пишу периодически LESS стили и вот как то ни разу не испытывал необходимости в циклах. А повторное использованием может быть и в декларативном описании, все тот же LESS тому пример.
Я же не говорю, что без циклов нельзя. Я говорю, что с циклами гораздо лучше.
Если нам не помогут, то мы тоже никого не пощадим.
Здравствуйте, AndrewVK, Вы писали:
AVK>А если так: font-weight: bold то уже все, императивщины нет?
Императивщины нет даже вот так: let a = b. Но вот так: a.b = c уже сплошная императивщина.
IT>>Я же не говорю, что без циклов нельзя. Я говорю, что с циклами гораздо лучше.
AVK>Чем? Что это за стиль такой, в котором цикл нужен?
Как раз цикл часто полезен, чтобы избавится от ненужных стилей. Иначе приходится создавать бесконечное количество стилей, чтобы перекрыть, например, в DataGridCell один единственный элемент, помещать этот стиль хрен знает в какие ресурсы, незабывать от чего его там наследовать и т.п. В результате xaml превращается в полную хрень из копипасты стилей там и сям, а понимание того что происходит — в скачки по ресурсам. Более простым, наглядным и главное более поддерживаемым решением было бы прямо по месту задать нужные свойства ячейкам грида. Да даже присвоение стиля ячейкам можно было бы делать в цикле. К тому же существует множетсво мест, которые стилями хрен задашь, например, StringFormat баиндинга.
Если нам не помогут, то мы тоже никого не пощадим.
Здравствуйте, IT, Вы писали:
AVK>>А если так: font-weight: bold то уже все, императивщины нет? IT>Императивщины нет даже вот так: let a = b.
Ну то естьпромлема исключительно в названии тега?
IT> Но вот так: a.b = c уже сплошная императивщина.
А если так:
a{
b: c;
}
?
IT> например, в DataGridCell один единственный элемент, помещать этот стиль хрен знает в какие ресурсы, незабывать от чего его там наследовать и т.п.
Я по прежнему не понимаю, чем тебя тут спасет цикл.
IT>Более простым, наглядным и главное более поддерживаемым решением было бы прямо по месту задать нужные свойства ячейкам грида.
Микс структуры и стилей доже скверное решение.
IT> Да даже присвоение стиля ячейкам можно было бы делать в цикле.
Зачем??? Разве не проще просто прицепить стиль ячейки к всему гриду?
IT> К тому же существует множетсво мест, которые стилями хрен задашь, например, StringFormat баиндинга.
Это никакого отношения к императивности стилей не имеет.
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
Здравствуйте, AndrewVK, Вы писали:
IT>> Да даже присвоение стиля ячейкам можно было бы делать в цикле.
AVK>Зачем??? Разве не проще просто прицепить стиль ячейки к всему гриду?
А если у ячеек должен быть разный стиль в зависимости от контекста? Скажем, случайный цвет фона, но отличный от цвета двух предыдущих ячеек, если они совпадают.
Здравствуйте, Qbit86, Вы писали:
Q>А если у ячеек должен быть разный стиль в зависимости от контекста? Скажем, случайный цвет фона, но отличный от цвета двух предыдущих ячеек, если они совпадают.
И часто тебе такой изврат нужен? Мне вот ни разу за 15 лет профдеятельности не понадобилось.
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
VD>Ну, да. Знакомо. 10 лет сливать рынок Яве и потом спохватиться. Так было с Windows, IE и многим другим. VD>Как бы не вышло как с виндофонами.
Я лишь объясняю что делают и почему... А что из этого получится — это не ко мне.
Здравствуйте, Qbit86, Вы писали:
Q>А если у ячеек должен быть разный стиль в зависимости от контекста? Скажем, случайный цвет фона, но отличный от цвета двух предыдущих ячеек, если они совпадают.
А как это должно в стиле выглядеть? В виде псевдокода, если можно.
Здравствуйте, ionoy, Вы писали:
Q>>Скажем, случайный цвет фона, но отличный от цвета двух предыдущих ячеек, если они совпадают. I>А как это должно в стиле выглядеть? В виде псевдокода, если можно.
for (var i = 0; i != cellCount; ++i)
{
cells[i].Color = (i > 1 && cells[i - 1].Color == cells[i - 2].Color)
? GetRandomColorExcept(cells[i - 1].Color)
: GetRandomColor();
}
Здравствуйте, IT, Вы писали:
IT>Давай обойдёмся без подобных аргументов.
Ну тогда я могу, путем выдумывания правильной задачи, обосновать непригодность любой технологии.
Если тебе нужно стоя, в гамаке и в ластах — C# тебе в руки, задвать стили программно позволяет и текущая реализация WPF.
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
Здравствуйте, Qbit86, Вы писали:
Q>Здравствуйте, ionoy, Вы писали:
Q>>>Скажем, случайный цвет фона, но отличный от цвета двух предыдущих ячеек, если они совпадают. I>>А как это должно в стиле выглядеть? В виде псевдокода, если можно. Q>
Здравствуйте, ionoy, Вы писали:
I>IT выше по теме предложил использовать циклы в стилях.
Я не предлагал использовать циклы именно в стилях. Я предложил использовать циклы в языке разметки, которым является XAML. Инициализация визуальных компонент в циклах может легко заменить использование стилей, решить вопрос копипасты там, где стили не играют и обеспечить компактную инициализацию в зависимости от счётчика/элемента цикла.
Кстати, циклы лишь один из вариантов. Колонки грида вполне можно было бы инициализировать с помощью LINQ выражений.
Если нам не помогут, то мы тоже никого не пощадим.
Здравствуйте, AndrewVK, Вы писали:
IT>>Давай обойдёмся без подобных аргументов. AVK>Ну тогда я могу, путем выдумывания правильной задачи, обосновать непригодность любой технологии.
В данном случае твой аргумент — это аргумент в стиле Влада, раз мне не надо, то никому не надо. Мне, например, за 20 лет существования джавы её было не надо, значит она никому не надо.
AVK>Если тебе нужно стоя, в гамаке и в ластах — C# тебе в руки, задвать стили программно позволяет и текущая реализация WPF.
Стоя в гамаке и в ластах бывает нужно примерно в каждом первом проекте и частенько на C# действительно получается код, который значительно проще поддерживать.
Если нам не помогут, то мы тоже никого не пощадим.
Здравствуйте, IT, Вы писали:
IT>В данном случае твой аргумент — это аргумент в стиле Влада, раз мне не надо, то никому не надо.
Неверно. Тут другой расклад. Покрыть 100% всех задач все равно не получится. Поэтому нужно покрывать максимцум возможного. А вот отказываться от декларативного описания стилей только потому что какая то вычурная задача декларативно описывается плохо — явно не самый разумный подход.
IT> и частенько на C# действительно получается код, который значительно проще поддерживать.
Так в чем проблема то? Проще описать в императивном стиле — описывай в императивном. Это не значит что декларативное описание не нужно.
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
Здравствуйте, IT, Вы писали:
IT>Есть хороший пример — Razor. В нём всё отлично описывается и в нём явно лучший подход, чем в .aspx.
Только вот и там и там стили описываются на декларативном css.
AVK>>Так в чем проблема то? Проще описать в императивном стиле — описывай в императивном. Это не значит что декларативное описание не нужно. IT>Я нигде не утверждал, что декларативное описание не нужно. Я вообще начал с того, что нужно выкинуть XAML и заменить его на нормальный DSL.
Ага, императивный. Помню.
IT>Кстати, LINQ по-твоему декларация или цикл?
Сам запрос — разумеется декларация. В цикле обязательно должен быть mutable state.
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
Здравствуйте, AndrewVK, Вы писали:
IT>>Есть хороший пример — Razor. В нём всё отлично описывается и в нём явно лучший подход, чем в .aspx. AVK>Только вот и там и там стили описываются на декларативном css.
И что?
IT>>Я нигде не утверждал, что декларативное описание не нужно. Я вообще начал с того, что нужно выкинуть XAML и заменить его на нормальный DSL. AVK>Ага, императивный. Помню.
В том числе. Razor ведь императивный в том числе и никому это не мешает.
IT>>Кстати, LINQ по-твоему декларация или цикл? AVK>Сам запрос — разумеется декларация. В цикле обязательно должен быть mutable state.
Ну вот тебе кошерно-декларативный вариант того же цикла. Мне на кошерность, как и на тотальную декларативность по большому счёту наплевать, но для принципиальных фанатов это можно ввести похожие конструкции.
Если нам не помогут, то мы тоже никого не пощадим.
Здравствуйте, IT, Вы писали:
IT>>>Я нигде не утверждал, что декларативное описание не нужно. Я вообще начал с того, что нужно выкинуть XAML и заменить его на нормальный DSL. AVK>>Ага, императивный. Помню. IT>В том числе. Razor ведь императивный в том числе и никому это не мешает.
Razor решает другую задачу.
IT>>>Кстати, LINQ по-твоему декларация или цикл? AVK>>Сам запрос — разумеется декларация. В цикле обязательно должен быть mutable state. IT>Ну вот тебе кошерно-декларативный вариант того же цикла.
Это не вариант цикла. Цикл появляется только когда ты потребляешь результат запроса. А описание некоего подмножества в виде предиката с увязкой предиката с неким набором значений — на этом, собственно, построены практически все языки стилей, в том числе и в WPF. Просто в WPF он убогий и извратный в угоду совместимости с XAML.
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
Здравствуйте, AndrewVK, Вы писали:
IT>>В том числе. Razor ведь императивный в том числе и никому это не мешает. AVK>Razor решает другую задачу.
Пусть UI DSL тоже решает другую задачу, мне пофиг.
IT>>Ну вот тебе кошерно-декларативный вариант того же цикла. AVK>Это не вариант цикла. Цикл появляется только когда ты потребляешь результат запроса. А описание некоего подмножества в виде предиката с увязкой предиката с неким набором значений — на этом, собственно, построены практически все языки стилей, в том числе и в WPF. Просто в WPF он убогий и извратный в угоду совместимости с XAML.
Для инициализации компонентов вполне себе нормальный заменитель цикла. Что касается убогости, то об этом я тут как бы всё это время и распинаюсь.
Если нам не помогут, то мы тоже никого не пощадим.
ЕА>Про Qml согласен — лучше Xaml, остальное не видел — посмотрю на досуге
Народ, вы вообще красавцы ...
А у борланда описание формы на DEF файлах были еще лучше, там вообще ничего нельзя было сделать,
кроме инициализации свойств — за то как все просто и наглядно.
приведите мне описание на Qml кнопки неправильной формы с неровными краями, тогда сравним что проще.
про остальные ссылки я просто молчу.
конвертор с Qml на wpf пишется за пару дней, только вот в обратную сторону никак.
Если вы такие поклонники данной технологии — в чем собственно проблема? — сел да написал.
Проблема в том, что мы привыкли к тому что мы делаем разметку и мне тут же показывают как выглядит то, что я сделал?
без этого никакие Qml просто не имеют смысла?
Здравствуйте, Аноним, Вы писали:
А>приведите мне описание на Qml кнопки неправильной формы с неровными краями, тогда сравним что проще. А>про остальные ссылки я просто молчу. А>конвертор с Qml на wpf пишется за пару дней, только вот в обратную сторону никак.
Ты спутал теплое с мягким. Я нигде не утверждал что компоненты QtQuick мощнее или лучше WPF.
Просто ИMXO(и не только И) XML(XAML) гораздо хуже YAML(QML) для описания UI.
А>Проблема в том, что мы привыкли к тому что мы делаем разметку и мне тут же показывают как выглядит то, что я сделал? А>без этого никакие Qml просто не имеют смысла?
Согласен. Только не понял к чему ты это спросил.
Здравствуйте, AndrewVK, Вы писали:
IT>>Для инициализации компонентов вполне себе нормальный заменитель цикла. AVK>Ну то есть на самом деле никакой императивности у стилей нет?
На самом деле мне на это глубоко наплевать. Любой фанатичный шизняк насчёт всевозможной кошерности меня уже давно не возбуждает.
IT>> Что касается убогости, то об этом я тут как бы всё это время и распинаюсь. AVK>Я напомню точную цитату:
Ага, спасибо.
Если нам не помогут, то мы тоже никого не пощадим.