XAML против элементов управления, созданных во время выполнения - PullRequest
4 голосов
/ 28 сентября 2011

В Windows Phone, что лучше с точки зрения производительности, определять элементы управления в XAML или создавать их динамически во время выполнения?Какие плюсы и минусы для XAML и элементов управления во время выполнения?

Ответы [ 4 ]

4 голосов
/ 28 сентября 2011

Я помню, что читал, что загрузка Xaml более эффективна, чем эквивалентное создание в коде, однако:

Факторы, влияющие на скорость, включали количество именованных элементов (когда они подключаются к элементам с выделенным кодом при поиске в файле конструктора) и количество аналогичных / итоговых элементов.

С точки зрения бизнеса, сохранение его в Xaml - гораздо более простой способ поддерживать проект. Вся цель Xaml состояла в том, чтобы позволить дизайнерам работать над внешним видом независимо от кодировщиков.

1 голос
/ 28 сентября 2011

Разница в производительности незначительна и даже не должна быть фактором, потому что разница в обслуживании и качестве кода очень велика. Элементы управления, сгенерированные кодом, являются кошмаром в обслуживании, их сложно разрабатывать и стилизовать, а разработчикам становится сложнее следить за ходом приложения. Вы, в основном, спрашиваете о разнице между использованием XAML, который может предоставлять представления времени разработки, отделять логику представления от бизнес-логики и позволяет использовать такие инструменты, как Blend, и программным подходом, который сводит на нет все вышеперечисленное. Что если вы решили в будущем портировать свое приложение на Windows 8 и использовать движок WinRT? С подходом XAML и шаблоном, подобным MVVM, вы, вероятно, можете повторно использовать большую часть своего кода и просто обновить некоторые представления, тогда как при программном подходе весь этот код придется отбрасывать в пользу новой среды выполнения. Таким образом, даже если бы между ними была небольшая разница в производительности, я бы предположил, что это не имеет значения, потому что другие факторы гораздо важнее учитывать.

1 голос
/ 28 сентября 2011

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

Синтаксис Binding также не очень удобочитаем в коде, но, возможно, это дело вкуса.

1 голос
/ 28 сентября 2011

Я думаю, что я прав, говоря, что это не имеет значения.

С точки зрения разработчика, наличие элементов управления, определенных в XAML, позволяет четко разделить, и если вы используете MVVM, выполучите все преимущества, которые дает этот шаблон (модульное тестирование, четкое разделение, лучшая управляемость и т. д.)

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

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

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