Как начать программирование в Windows?

Я делал простые программы на C и С++ с простыми компиляторами (учил это в университете, я - студент статистики). Также я любительский PHP-программист. Теперь я хочу начать программирование для Windows.

  • приложения с пользовательским интерфейсом
  • приложения без пользовательского интерфейса

Моя цель - просто посмотреть, как это делается. И я могу создать базовое приложение, которое взаимодействует с базой данных, находящейся на веб-сервере.

С чего начать? Windows Visual Studio?.СЕТЬ? Что я должен знать?

Ответ 1

Если вы действительно хотите изучить базовый API, тогда вы должны начать без одной из фреймворков.

Узнайте, как мы это делали все эти годы назад с книгой Чарльза Петцольда "Программирование Windows". Хорошая основа знания того, как работают окна и сообщения, послужит вам хорошо.

В более долгосрочной перспективе хорошая структура, например. WinForms, Qt, VCL и т.д. Повысят производительность. Но если вы начнете с одного из них, тогда вам грозит опасность не знать разницу между отправленными и поставленными в очередь сообщениями, не зная разницы между HWND, HDC и a HANDLE и т.д.

Хорошая структура, отлично, но вы получите больше от нее, если поймете, что под ней.

Ответ 2

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

Особенно этот ответьте там.

Я думаю, вы должны начать с Windows Form, WPF - это новая вещь для Windows Dev и ее получение всего света извести, но я бы действительно не рекомендовал начинать с нее.

Программирование Windows Forms Чарльзом Петцольдом - хорошая книга (Чарльз очень классный), формы окон не сильно изменились, поскольку Visual 2005, вы должны изучить С# 4, последний язык.

Visual С# 2010 Step by Step - хорошая книга, чтобы получить суть мира .NET и все ваши варианты (включая WPF)

Смотрите эти вопросы:

Надеюсь, что это поможет.

Обновление


Если вы планируете работать с C или С++ для разработки Windows, это нелегко. Я сделал некоторый Win32 API и верю, что вы будете писать серьезные/сложные программы даже для простых вещей.

У вас есть две опции MS, вы можете просто использовать язык C или С++ и вызывать функции API Win32.

Эта книга для Библии.

Другая опция MS использует MFC, у людей есть довольно сильные (плохие) взгляды на MFC. Я не много сделал сам, так что не могу сказать слишком много. См.: https://stackoverflow.com/questions/557114/stick-with-mfc-or-go-to-net

Есть, конечно, несколько вариантов, отличных от MS, которые я бы не рекомендовал. См. Основные параметры разработки приложений Windows

Нижняя строка, на мой взгляд, С# - очень хорошо написанный язык, вы получите поддержку TON здесь, Visual Studio - один из лучших инструментов, и вам будет интересно познакомиться с С#/.NET, и самое большое преимущество - вы можете использовать свои знания С# для написания даже приложений Web Apps, Cloud и Mobile и многое другое.

Ответ 3

Я не уверен, почему люди не используют кросс-платформенные графические инструменты чаще. Я склонен писать свой графический интерфейс на Java и передавать управление С++ для реальной логики программы. Если вы знаете о архитектурном шаблоне MVC, вы можете использовать Java для реализации представления и контроллера, а С++ - для реализации представления. Если программа проста и производительность не критична, я часто кодирую все непосредственно на Java. Я перечислил несколько плюсов против использования Java для кодирования пользовательского интерфейса вместо других языков ниже.

Pros

  • Java уже имеет большую библиотеку, полную полезных утилит, и является хорошей отправной точкой, из которой можно изучать другие языки. Там много хорошо протестированных компонентов Swing, готовых к использованию, и обучающих онлайн, которые дают вам хорошие отправные точки для многих распространенных случаев использования.
  • Просмотрите JogAmp веб-сайт и попробуйте свои демоверсии. Я предпочитаю использовать C/С++ для выполнения рендеринга и Java только для пользовательского интерфейса, но если производительность не является критичной, API JogAmp обладает большой гибкостью в плане управления подмножеством OpenGL, который вы хотели бы использовать.
  • Java имеет обширную поддержку баз данных и сервлетов - ознакомьтесь с JDBC API.
  • Java является открытым исходным кодом и не ограничивает вас использованием конкретной IDE (или операционной системы!).
  • Java поставляется со встроенным генератором документации Javadoc, и он работает очень хорошо. На самом деле с его помощью создается документация для JDK.

против

  • Java - интерпретируемый язык, поэтому производительность, как правило, хуже, чем у других скомпилированных языков.
  • Java заставляет вас создавать всю вашу программную логику с использованием объектно-ориентированных принципов, даже если они не подходят для вашего конкретного случая использования (например, простые одноразовые эксперименты). Иногда ваш код может оказаться гораздо более подробным, чем нужно, чтобы выполнить конкретную задачу.

Изменить. Для новичков есть много ресурсов, таких как этот.

Ответ 4

Я собираюсь выйти на конечность и рекомендовать С# с помощью Visual Studio 2010 С# Express. Это поможет вам ознакомиться с привычным для C/С++ образом.

Ответ 5

Для загрузки доступны различные примеры кодов. Я нашел их очень полезными, когда я начал учиться программировать для Windows-телефона.

Visual Studio отлично подходит для С#. Вероятно, вам стоит подумать о создании учетной записи с помощью microsoft, будь то через outlook.com, если вы планируете опубликовать то, что вы разрабатываете.

Если вы хотите разработать для Windows 8, я бы посоветовал вам установить Windows 8 и разработать с этим.

Ответ 6

Я думаю, вы можете начать с С#.net, а затем ASP.net