2009-12-26 2 views
6

Было бы целесообразно создавать приложения WPF, не затрагивая Visual Studio (или любые другие IDE)? Как и в, кодирование и компиляция полностью внутри Vim и командной строки? Какие ресурсы вы бы рекомендовали кому-то, кто пытается это сделать?WPF без Visual Studio?

ответ

9

Это может быть возможно, поскольку в основном WPF основан на XAML - варианте XML - и C# или VB.NET или другого языка .NET в качестве внутреннего языка.

Вопрос в том, действительно ли это практический, и если это имеет смысл - я очень сомневаюсь в этом. WPF все о визуальном дизайне, например. полностью без визуального дизайнера (либо встроенного в Visual Studio, предпочтительно версии 2010 года, либо Expression Blend), кажется, что глупо хотеть программировать WPF ....

Что касается ресурсов - ну, по крайней мере, текстовый редактор является обязательным, то определенно несколько хороших книг в WPF, и вы можете использовать компилятор C# или VB.NET, который поставляется с платформой .NET.

+3

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

5

Возможно, да. Практический пример:

Для производственных работ я бы рассмотрел Microsoft Expression Blend 3. Затем скопируйте XAML и вставьте его в редактор по вашему выбору и скомпилируйте из командной строки.

Вы можете скачать KAXAML. Это бесплатный, легкий редактор. Мне было хорошо узнать о XAML и увидеть, как незначительные изменения и настройки могут повлиять на общий дизайн.

XAML - простой текстовый текст, поэтому найдите бесплатный редактор (KAXAML), используйте его, и если необходимо, вставьте его в свой редактор.

+1

Не считается ли смесь как IDE? – ChrisF

+1

Конечно, но я также предварял его «Для производственных работ». Если кто-то хочет использовать текстовые редакторы и графическую бумагу, не стесняйтесь. Если вы собираетесь делать XAML и хотите быть продуктивным, вам действительно нужно посмотреть на IDE. – DenaliHardtail

+1

Я предполагаю, что gamedevv делает это для учебных целей, поскольку (выйдя на конечность здесь), ни одна компания никогда не ожидала, что разработчики напишут производственный код для написания XAML только с помощью текстового редактора. Вы более продуктивны с помощью IDE. – DenaliHardtail

3

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

Нарисуйте свои проекты на этом, прочитайте позиции и введите их в свой редактор.

Одним из преимуществ является то, что вы собираетесь иметь бумажный прототип, чтобы показать людям;)

James Keesey Как указывает в своем комментарии на marc_s's ответ, ваше редактирование-компиляция-испытательный цикл будет болезненный.

2

Это определенно возможно. Я бы сказал, что это не практично.

Честно говоря, я занимаюсь профессиональной разработкой WPF, и я делаю это с закрытым визуальным дизайнером. Мне гораздо удобнее редактировать XAML вручную, так же, как писать HTML. Однако преимущества IDE выходят далеко за рамки визуального дизайнера. Есть IntelliSense, отладка и целый ряд других бесценных функций.

Действительно, я должен подвергнуть сомнению ваши мотивы. Что вы пытаетесь получить? Visual Studio Express выпуски полностью поддерживают разработку WPF, поэтому она не может или не должна быть проблемой с затратами.

8

Я обнаружил, что я писал XAML в Блокноте в ряде случаев, где мне нужно было создать быстрый интерфейс, но не смог загрузить IDE. Это действительно довольно тривиально и почти - но не совсем - так же быстро, как использование IDE. Основные преимущества IDE, такие как Blend или VS.NET, быстро получают такие вещи, как цвета и анимации, «в порядке».

Другой случай, когда я часто пишу XAML или C# в текстовом редакторе, находится здесь, в переполнении стека.Я только запускаю Visual Studio, когда мне нужно что-то проверить.

Мои основные рекомендации по созданию приложений WPF без IDE являются:

Сначала вы должны правильно использовать систему компоновки WPF, используя соответствующие панели и «Авто» проклейки везде, где это возможно. Например, если вам нужен стек кнопок с некоторым пространством между ними, создайте <StackPanel>, а на каждой кнопке добавьте Margin="4" или что-то еще. Это хороший дизайн. Большинство начинающих программистов WPF рассматривают это как WinForms без возможности компоновки, что является позором. WPF имеет очень мощный механизм компоновки, и его следует использовать. Если это так, никогда не будет необходимости в графической бумаге или измерениях. Кроме того, ваш пользовательский интерфейс будет автоматически корректировать свой макет, если вы измените размер шрифта или объекты больше, чем ожидалось.

Во-вторых, вы должны использовать msbuild для своего проекта, если он не является ультрапростым. msbuild устанавливается вместе с .NET Framework, поэтому он всегда доступен. Формат файла очень легко редактировать с помощью текстового редактора, и он намного лучше, чем командный файл с соответствующей командой «csc», поскольку он позволяет использовать код и меньше подвержен ошибкам при добавлении новых исходных файлов.

Третье окно командной строки PowerShell открывается отдельно от вашего редактора с помощью команды, которая запускает «msbuild», а затем выполняет ваше приложение. Чтобы запустить приложение, просто нажмите Alt-Tab в это окно и нажмите вверх, Enter. Некоторые текстовые редакторы имеют возможность выполнять пользовательские команды непосредственно из редактора и видеть вывод, и в этом случае это второе окно не требуется.

В-четвертых, сохраните копию cordbg или mdbg. Хотя IDE - идеальное место для вашей отладки, любой отладчик лучше, чем никто. Вы найдете свои проблемы намного быстрее, если остановитесь на контрольных точках и изучите переменные, чем если бы вы продолжали редактировать код и повторно запускать.

В-пятых, используйте «ColorPad» или подобное приложение, чтобы выбрать цвета для использования. Просто угадать и ввести ваше лучшее предположение в шестнадцатеричном виде просто не очень хорошо.

Для ресурсов я рекомендую вам получить книгу «WPF Unleashed» и работать с примерами. Я также прочитал бы много других людей XAML, например, которые можно найти в CodePlex.

Смежные вопросы