WPF - XAML - C # - C ++ - в замешательстве - PullRequest
4 голосов
/ 29 июля 2011

Я надеюсь, что кто-то может помочь, я новичок в компьютерном программировании и купил книгу (Visual Basic - шаг за шагом), я добился хорошего прогресса, пока не прочитал в Интернете статью о Windows Presentation Foundation (WPF)- очевидно, это будущее.

Я читаю на Xaml и нахожу синтаксис чрезвычайно сложным для понимания, например, я кодирую с использованием следующего формата:

texbox1.text = "Hello World!"

Однако руководстваЯ прочитал на Xaml шоу, что кодировка в файле .cs выглядит следующим образом:

<Grid>
    <TextBlock Text="Hello World!" />
</Grid>

Я не понимаю, на каком «языке» я должен учиться!

Я надеюсь, что кто-то может пролитьнемного света в этом.

Большое спасибо

Ответы [ 4 ]

8 голосов
/ 29 июля 2011

В программировании есть много аспектов, и он, безусловно, может быстро обернуться для новичка. Для начала давайте разберемся с несколькими терминами:

VB (Visual Basic), C # и C ++ (упомянутые в вашем названии) - все языки программирования высокого уровня. Предполагая, что когда вы говорите Visual Basic, вы имеете в виду VB.NET (который скорее всего, если книге, которую вы читаете, не исполнилось десятилетия ...), VB и C # - оба языка, которые можно использовать с Microsoft .NET Framework , набором библиотек и инструментов для сборки (в первую очередь Windows) приложения.

(C ++, тем временем, является языком несколько более низкого уровня, не связанным напрямую с .NET. Он требует понимания определенных концепций, которые языки .NET скрывают от вас, таких как указатели и управление памятью .)

Теперь вышеупомянутые языки программирования не привязаны к определенной технологии представления - существует множество способов создания интерактивных программ, которые отображают вывод для пользователей и принимают ввод независимо от того, какой язык вы используете. Однако языки .NET обычно используются вместе с несколькими мощными инструментами, которые .NET Framework предоставляет для создания графических приложений:

  1. Среди самых простых методов пользовательского интерфейса вы можете создать консольную программу , которая принимает типизированный ввод и производит вывод текста на системной консоли. Ничего особенного здесь.
  2. Windows Forms - изначально поставляется с версиями Visual Basic до .NET, это почтенный API для собственного пользовательского интерфейса Windows. Он управляется главным образом объектами Form, которые содержат элементы управления и управляются пользовательскими событиями. Вот учебник для начинающих.
  3. WPF (Windows Presentation Foundation) - более новая технология, чем Windows Forms. Он используется вместе с XML-форматом файлов, который вы показали выше, и называется XAML (eXtensible Application Markup Language) , который позволяет создавать пользовательские интерфейсы, быстро объявляя иерархию визуальных объектов. Кривая обучения для создания приложений WPF немного выше (на мой взгляд), чем для Windows Forms, но это более универсальная технология, которая лучше поддерживает несколько хороших шаблонов проектирования (я знаю, что это волнистый характер, но поверьте на слово) на данный момент).

Итак, проясним несколько моментов путаницы:

  • Язык программирования, который вы используете, и среда для создания графических пользовательских интерфейсов - это два отдельных варианта.
  • Как VB.NET, так и C # могут использоваться для написания базовой логики для Windows Forms или WPF-приложений
  • WPF, графическая подсистема и XAML, язык декларативной разметки, не одно и то же, но они используются рука об руку друг с другом.
  • При создании элементов управления WPF у вас будет файл, содержащий XAML (с суффиксом .xaml), который прикреплен к файлу «code-behind», содержащему C # (с расширением .cs) или VB (с расширением .vb) в зависимости от того, какой язык вы выберете.

В общем, программист .NET (который я могу привести в качестве простого примера, так как я им оказался) будет использовать VB или C # в зависимости от того, с чем ему / ей больше всего комфортно (или от того, что им предписано команда!) Особенно с точки зрения начинающего, оба имеют разные синтаксисы, но функционально эквивалентны. Я лично предпочитаю C # за его сходство с языками (Java и C), на которых я научился программировать.

Теперь, независимо от языка, программист выбирает подходящую технологию пользовательского интерфейса для данного проекта. Я полагаю, что для графических приложений, работающих в Windows, лучше всего использовать WPF (особенно потому, что он очень похож на Silverlight, который можно использовать для работы в Интернете и Windows Phone).

Я надеюсь, что, по крайней мере, начнется процесс прояснения очень сложной, но судоходной темы! Я уже упоминал об этом один раз выше, но посмотрите Центр разработчиков Microsoft для начинающих в качестве другого ресурса, который поможет вам встать на ноги. Удачи!

1 голос
/ 29 июля 2011

Ответ Джакобсона составляет 90% того, что я собирался написать ... так что это всего лишь небольшое дополнение к этому ответу, дающее мой личный совет.

Если вы только начинаете изучать программирование ..действительно не имеет большого значения, с чего начать, с какого «языка» вы выберете.Похоже, вы начали с изучения Visual Basic.Я пишу в основном на C # ... но по большей части ... они могут делать то же самое, и оба являются хорошими вариантами, чтобы начать изучать программирование.

Для вашей первой пары проектов просто создайте консольприложения, которые на самом деле не имеют пользовательского интерфейса, кроме командной строки (консоли).

Когда вы продвигаетесь вперед и хотите начать создавать приложения с графическим интерфейсом пользователя (GUI), вы можете заглянуть в XAML (WPF, если вы создаете настольное приложение, Silverlight, если это веб-приложение).

Вы по-прежнему будете писать свой код бизнес-логики с использованием Visual Basic или C #, XAML - это просто способ определить, как вашGUI будет выглядеть и вести себя, используя знакомый XML, а не более старую технологию, такую ​​как Windows Forms.

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

1 голос
/ 29 июля 2011

То, как вы кодировали и код разметки xaml, делает то же самое.Основная причина существования XAML состоит в том, чтобы позволить дизайнерам пользовательского интерфейса работать над пользовательским интерфейсом, используя XAML, и более поздние программисты связывали бы бизнес-функциональность, используя C # или XAML.XAML в основном используется в WPF, но такие языки, как C #, VB, могут использоваться для гораздо большего.Относительно того, какие языки изучать, все зависит от ваших интересов и вашей работы.

0 голосов
/ 19 июля 2015

С тех пор, как в последние 2 года я работаю над WPF, и даже я был пуст, когда дело дошло до WPF. Я предпочел бы C # по сравнению с C ++, и все же вы можете найти решения для любого языка. Но это зависит от вас, что вам удобно.

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