Подтвердить что ты не робот

Программирование на языке С# для начинающих: с чего начать?

Я разработчик С++/Java и понятия не имею о .Net или GUI. Мне нужно разработать приложение для Windows для 2000/XP/Vista/7.

Думаю, я пришел к выводу, что С# - лучший и самый быстрый способ (пожалуйста, поправьте меня, если я ошибаюсь). Что вы порекомендуете? Какой подход к графическому интерфейсу я должен изучить? (Формы? Любые другие вещи?)

Это лучший способ скомпилировать в .Net 2.0 режиме? Это будет приложение для публики для загрузки.

4b9b3361

Ответ 1

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

Если вы хотите получить максимально возможное время разработки графического интерфейса в .NET, это будет Windows Forms.

Ответ 2

Для настольных приложений есть два варианта: WinForms и Windows Presentation Foundation (WPF).

WinForms более традиционно построен и, следовательно, легче учится. Поэтому WinForms может стать более простым началом, но если вы планируете фактически использовать полученные знания в разработке графического интерфейса для .NET, я бы сказал, что лучше начать погружение в WPF с самого начала. Это гораздо более богатые рамки, и Microsoft прилагает усилия для настольных приложений. Он также похож на Silverlight, то есть вы можете легко попасть в Silverlight, когда знаете WPF.

Удачи!

Ответ 3

Да. С# - это язык выбора, когда дело доходит до разработки .NET. Поскольку вы программировали на Java, вы обнаружите, что язык выглядит очень знакомым (он выглядит немного чище, хотя и имеет некоторые очень приятные функции, такие как делегаты, и вы даже можете использовать указатели, если вы действительно этого хотите, хотя вы не будете необходимо в большинстве случаев).

Это SWF (System Windows Forms) или MWF (управляемые Windows Forms - облегченная версия SWF, написанная в управляемом коде с использованием System.Drawing - она ​​освобождает вас от WinAPI, лежащего в основе классического SWF).

Там также GTK-Sharp, привязка GTK + для C-Sharp, но поскольку вы разрабатываете для Windows, пользователям будет странно устанавливать стороннюю инфраструктуру графического интерфейса для вашего приложения.

Я бы не рекомендовал использовать WPF. Он делает прямые звонки на базовое графическое оборудование, что означает, что он довольно быстро, но не переносится вообще. Он будет работать только на системах x86 (не SPARC и т.д.) С устройствами, совместимыми с DirectX аппаратными средствами (графическими картами), и он не будет работать в системе с сильной абстракцией аппаратного обеспечения (например, большинством Unix, таких как BSD или Linux или Solaris).

Novell также заявила, что они никогда не будут реализовывать WPF в ближайшем будущем из-за сильных аппаратных зависимостей (Novell хочет, чтобы Mono был переносимым на многих процессорных платформах). Не используйте WPF. Программное обеспечение больше не просто отбрасывает продукт, и когда дело доходит до операционных систем, мы находимся в эпоху вращения. Платформа, на которой вы работаете сегодня, не обязательно является платформой, которую вы собираетесь запустить завтра. WPF - это запатентованная и запатентованная технология, разработанная Microsoft и Intel. Если вы его используете, вы окажетесь в очень хорошем блокировании вендора Win32-x-x86. И это означает, что вы наверняка полностью переиздаете свое приложение рано или поздно. Просто напишите портативное программное обеспечение с самого начала, даже если вам не нужна эта переносимость сегодня. Я рассказываю вам по опыту, завтра вам понадобится переносимость. Определенно!

Ответ 4

Вы можете использовать Windows Forms или Windows Presentation Foundation для разработки своего графического интерфейса; хотя Windows Forms может показаться вам более знакомым. Если вы выполните поиск в учебнике Google для Windows Forms, вы получите много вариантов для начала работы.

Если вам нужно использовать .NET 2.0, вы будете ограничены Win Forms. WPF требует .NET 3.5.

Я бы предложил загрузить Microsoft бесплатно Visual Studio Express Edition для использования для разработки. он включает в себя отличный инструмент для создания графического интерфейса с перетаскиванием мышью.

Ответ 5

Я не согласен со всеми сторонниками WinForms. Это не проще. Это может быть проще для тех, у кого есть традиционный опыт программирования GUI, но у этого плаката этого нет.

WPF имеет лучшую историю разработки, а привязка данных намного лучше, чем WinForms. Вы можете запускать и запускать WPF, по крайней мере, так же быстро, как и WinForms, а затем идти гораздо дальше, не сталкиваясь с ограничениями, которые имеет WinForms. Соедините это с привязкой к времени разработки в VS 2010, и я бы сказал, что любой, кто начнет разработку графического интерфейса, должен полностью обойти Winforms.

Ответ 6

Я бы рекомендовал сначала изучить Winforms, а затем переместить WPF. Winforms легче учиться и быстро что-то работает. Будущее, однако, это WPF, поэтому я не оставил бы это в темноте. Я опубликовал несколько хороших книг и ссылок для разработки графического интерфейса.

Книги

Не заставляйте меня думать
О Face 3.0
Заключенные прибегают к убежищу
GUI Bloopers

Веб-ссылки

Ответ 7

С# WinForms будет самым быстрым с точки зрения быстрого практического GUI. Хотя, если вы думаете о создании сложного графического интерфейса, с анимацией, 3D и т.д., WPF будет лучше.

Вы можете использовать CodePlex, чтобы найти хорошие рабочие проекты, чтобы учиться с точки зрения лучшей практики, как для WinForms, так и для WPF.

Вы также можете посмотреть здесь для некоторых хороших книг как для WPF, так и для WinForms.

Ответ 8

С# точно. Используйте Winforms для бизнес-приложения/классического графического интерфейса.

читать окна программирования petzold 'с помощью С#'

Или просто погрузитесь в визуальную студию. Создание графического интерфейса с VS очень просто - вам понравится

Вы найдете переход langauge из java в С# довольно простой (не бит gui tho)

Ответ 9

Думаю, я пришел к выводу, что С# - лучший и самый быстрый способ (пожалуйста, поправьте меня, если я ошибаюсь). Что вы рекомендуете?

Лично я бы придерживался Java. Мы (что означает OffByZero, компания, которую я основал) выпустила зашифрованный текстовый редактор под названием OBZVault, который написан на Java.

Мы изначально записали его в Linux, а затем портировали в Mac OS X и Windows. Мы обнаружили, что порт Windows обеспечивает совершенно приемлемый внешний вид - почти (но не совсем), как родное приложение Windows.

Мы использовали InnoSetup для создания собственного установщика Windows и обнаружили, что это тоже неплохо.

Нижняя строка: если вы не хотите изучать новый язык и платформу или у вас есть определенная потребность в функциях, предоставляемых другой платформой, например .NET, придерживайтесь Java для разработки Windows. Вам нужно изучить структуру графического интерфейса Java, но тогда вам придется изучать WPF или WinForms, если вы все равно переключитесь на .NET.

Для опытного разработчика .NET может быть быстрее создать приложение Windows в WinForms или WPF, но если вы уже хорошо разбираетесь в Java, я говорю, что вы владеете инструментами (языком, библиотеками, IDE), которые вам известны.