XAML - Какой смысл (печатать) это? - PullRequest
7 голосов
/ 31 января 2009

В настоящее время я изучаю WPF и Silverlight. До сих пор я разрабатывал в Delphi и C # (Winforms). Просматривая некоторые книги о WPF и просматривая некоторые вводные видеоролики в Интернете, у меня складывается впечатление, что эта вещь XAML является шагом назад с точки зрения эффективности и удобства использования (для разработчика). Особенно в онлайн-видео люди с радостью набирают код XAML для создания форм и элементов управления, который, как я думал, давно устарел с появлением дизайнеров визуальных форм и т. Зачем мне хотеть создать кнопку или сетку, набрав текстовое представление в XAML, когда использование дизайнера форм намного быстрее? Зачем вводить цвет или имя шрифта, когда его гораздо проще выбрать из раскрывающегося списка в инспекторе свойств? Реальные графические интерфейсы приложений действительно разработаны с помощью , набрав XAML?

Я уверен, что мне здесь чего-то не хватает, хотя я не могу понять, что ...

Ответы [ 10 ]

28 голосов
/ 31 января 2009

Это почти то же самое, что писать необработанный HTML вручную, в отличие от использования редактора WYSIWYG: гораздо более точный контроль над результатом без необходимости проходить ненужные циклы с редактором.

12 голосов
/ 31 января 2009

Реальные графические интерфейсы приложений разработан набрав XAML?

Одним словом, Да. Может быть, не так много, но это определенно происходит.

Мой опыт работы с визуальными дизайнерами заключается в том, что они, как правило, добавляют ненужные панели, фиксированные размеры и абсолютное позиционирование, в то время как желательна более гибкая, правильно масштабируемая компоновка. Например, посмотрите на этот недавний вопрос на stackoverflow

Кроме того, если вы пишете пользовательские элементы управления, вам часто приходится выполнять дополнительную работу, чтобы сделать их совместимыми с визуальными дизайнерами, эта дополнительная работа не требуется, если вы можете редактировать xaml напрямую.

11 голосов
/ 01 февраля 2009

Я склонен писать все свои XAML вручную, потому что я еще не освоил Blend. Но некоторые другие разработчики, с которыми я работаю с любовью, используют Blend, и он отлично подходит для настройки таких вещей, как градиенты.

Я рекомендую вам загрузить пробную версию Blend и попробовать, она отлично работает с Visual Studio и экономит много времени, если вы научитесь ее использовать.

6 голосов
/ 04 марта 2009

Если вы можете набрать XAML, то вы поймете XAML :) (imho)

Знание того, как печатать, заключается в том, чтобы знать, как его отладить, реорганизовать и реорганизовать. Все это не может быть сделано в настоящее время в Expression Blend, и для больших проектов вам нужны все из них.

Другая проблема, поднятая здесь, заключается в том, что ручное написание XAML дает вам больше контроля, но это не такая сильная сторона, как в случае с html. XAML имеет более структурированную структуру, чем html, и редакторы, такие как выражения blend или другие, в значительной степени дают тот же XAML, который вы пишете вручную, за небольшим исключением.

4 голосов
/ 31 января 2009

Что ж, дизайнеры склонны использовать Expression Blend, который является мощным дизайнером xaml. Но да, я знаю многих разработчиков, которые редактируют xaml как текст и считают его проще, чем дизайнеры.

3 голосов
/ 04 марта 2009

Как только вы поймете, как использовать различные структуры панелей, которые являются частью WPF, написание XAML вручную действительно проще, чем использование дизайнера. Я обнаружил, что могу печатать элементы управления в форме гораздо быстрее, чем с помощью любого дизайнера, и у меня больше возможностей контролировать внешний вид и структуру XAML.

Я использую конструктор только для того, чтобы время от времени устанавливать свойство для элемента управления, который уже находится в форме. И я использую Blend для создания анимации, поскольку у меня пока нет XAML для этого.

3 голосов
/ 31 января 2009

Если вы хотите использовать дизайнер, тогда получите Expression Blend.

Вы правы, хотя в VS должен быть и элементарный конструктор.

Несмотря на то, что Silverlight пришел с другой стороны, типичные элементы управления появились недавно в Silverlight, и его первые годы еще не начались.

Сказав, что как разработчик я на самом деле предпочитаю печатать XAML почти так же, как я предпочитаю печатать HTML. Дизайнеры (и blend не исключение) вкладывают в разметку слишком много лишних вещей, которых я бы не хотел.

2 голосов
/ 01 февраля 2009

XAML можно сравнить с Glade XML, форматом для хранения графических интерфейсов на основе GTK +. GTK +, в отличие от Windows Forms и WPF, действительно разумен тем, что использует относительное позиционирование. В Windows Forms абсолютное позиционирование становится PITA, когда люди начинают настраивать свои шрифты, а ваш графический интерфейс выглядит как дерьмо с большим количеством текстовых вырезок.

Относительное позиционирование легко кодировать вручную, в отличие от абсолютного позиционирования, потому что вам не нужно определять координаты!

0 голосов
/ 17 августа 2010

Я печатаю это.

Я ненавижу не более чем неаккуратный, недетерминированный и трудно управляемый вывод дизайнеров, будь то HTML, будь то XAML.

По сути, если я создаю файл XAML, я делаю это точно так же, как пишу любой другой фрагмент кода.

Я начинаю с сегментирования всего этого в сетку, помещая точный размер в пиксель на ВСЕ (кроме нечетного "свободного плавающего" пространства, где я ставлю "*"), решаю, что происходит, куда я добавляю комментарии и пустую линии для структурирования XAML.

Кроме того, я отвергаю каждый XAML, не соответствующий этому стандарту, как «не пригодный для использования», что имеет очень хороший образовательный эффект.

Неряшливость и небрежность лучших практик - смертельные грехи, и я никогда не терпел их.

0 голосов
/ 31 января 2009

Потому что это лучше подходит для системы контроля версий, чтобы другие люди могли менять ее одновременно без конфликтов? Потому что вы можете разработать целое приложение в Emacs? Потому что вы могли бы написать генераторы и инспекторы для этого материала легко? Потому что легко контролировать, как этот графический интерфейс будет выглядеть до мельчайших деталей?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...