Альтернативы XAML
Мне нравится WPF, но я ненавижу XAML.
XAML слишком многословный, имеет проблемы с синтаксисом, когда Microsoft пыталась его расширить (см. StringFormat on Bindings) и трудно ориентироваться.
Есть ли альтернативы XAML?
(Это только мои мнения. Не стесняйтесь не соглашаться.)
Ответы
Ответ 1
Существуют альтернативы:
XUL, Flash, синтаксис ресурсов Delphi, синтаксис С# Form.Designer.cs, синтаксис формы VB6
Конечно, нет привлекательных альтернатив.
Это похоже на человеческие тела - полный мусор со всеми его соками и запахами, но это, безусловно, самая лучшая форма жизни. XAML явно действительно очень плохой, но там нет ничего хорошего.
Ответ 2
XAML действительно кажется слоном в комнате. Хотя я большой поклонник WPF, многословие XAML может быть немного трудным для глаз. В то время как Blend и VS2010 идут длинный путь к сокращению потребности в кодировании XAML с нуля, я по-прежнему считаю, что редактирование вручную практически во всем, что я делаю.
Я нахожу power boots легко на глаза и CSS как синтаксис JavaFX, чтобы быть довольно привлекательным. Кажется, это разложение для D'oh.
Однако многословный XAML - это, по крайней мере, поддержка инструментария, чтобы получить 90% пути, любая другая альтернатива вернет нас обратно, чтобы кодировать весь пользовательский интерфейс. Не привлекательное предложение для этого кодера.
Ответ 3
Один из вариантов заключается в том, чтобы вообще не выполнять интерфейс и иметь конструктора в Blend вместо этого.
Ответ 4
Это может быть что-то посмотреть. С веб-сайта пока ничего не загружать.
D'oh: высокопроизводительный графический интерфейс Windows
http://doh.xn--majkrsft-e0ab.se/
Ответ 5
теперь я знаю, почему значок вашего имени выглядел знакомым в последний день инноваций.
Было бы много работы, но вы могли бы сделать небольшой старт - нет причин, по которым вам нужно использовать XAML, просто нужно что-то, создающее частичные классы.
Итак, вы можете закодировать DSL, заменяющий XAML чем-то, что было законным С#, или пойти полным хогом и написать VS-инструмент, который сгенерировал С# так же, как это делает процессор XAML. Это зависит от того, насколько вы хотите получить доступ к файлу с кодом во время компиляции.
Хммм, с IronRuby, возможно, DSL в IronRuby
(DSL = конкретный для домена язык для тех, кто читает, кто подвергается акронимному оспариванию).