Лучший способ создания приложений для Windows - PullRequest
2 голосов
/ 09 июля 2010

Я изучал Windows API из онлайн и PDF книг, но слышал о людях, использующих программы sdk и visual studio. Что я должен делать? API я бы создал, но чрезвычайно сложный. Буду ли я получать пользу от изучения API или я получу SDK или программу, которая пишет для меня код? У меня есть msc ++ e, но я не думаю, что это идет с этими benifts

Ответы [ 5 ]

12 голосов
/ 09 июля 2010

Хотя изучение необработанного API Windows, безусловно, имеет свою полезность, я бы посоветовал вам изучить такой инструментарий, как Qt .

5 голосов
/ 09 июля 2010

В случае с Windows SDK и Win32 API относятся практически к одному и тому же. SDK - это все дерьмо, которое нужно для нацеливания на API (это всегда и есть «SDK»). Когда вы используете компилятор без VC в Windows (или кросс-компилятор), вам необходимо загрузить SDK для написания программ win32.

Есть очень немного ситуаций, в которых полезно нацеливание самого Win32 API. Обычно вы хотите работать на более высоком уровне с такими API, как MFC, WTL или WX (я включаю WX, потому что для Windows это фактически оболочка для Win32). Есть также библиотеки, которые делают свое дело и просто рисуют все сами (все окна, нарисованные владельцем), такие как Qt, GTK и т. Д.

Если вы работаете со специфичной для Windows библиотекой, вам все равно придется иногда прикасаться к Win32 API, но только к ее небольшим частям. Вы сэкономите ОЧЕНЬ много времени, просто позволяя этим частям включиться вместо того, чтобы фактически пытаться изучить сам API. Никто, кто не безумен или не подвергается пыткам в подчинении, пишет сырой Win32.

5 голосов
/ 09 июля 2010

Вы определенно хотите использовать Visual Studio поверх Windows SDK напрямую для программирования GUI. Вы можете загрузить Visual Studio Express Edition , чтобы сначала попробовать.

Если вы хотите что-то более простое, вы можете взглянуть на программирование на .NET, или если вы хотите остаться с C ++, это тоже хорошо, и вы можете использовать прямой Win32 API или MFC-программирование. В большинстве случаев вы, вероятно, не хотите прямого программирования для Win32 GUI или MFC, но если вы этого хотите, подумайте о покупке книги у Чарльза Петцольда (на Win32) или Джеффа Просиза (на MFC).

2 голосов
/ 09 июля 2010

Лучший ответ на ваш вопрос может зависеть от многих вещей.

Я разрабатывал приложения для платформы Microsoft Windows в течение почти двадцати лет, и я использовал все, от простого API Windows, Turbo Pascal, MFC, Borland C ++ builder и Visual Basic.

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

В общем, если вы ТОЛЬКО хотите ориентироваться на платформу Windows (несмотря на Mono Project ), IMHO, использование языка C # для нацеливания на платформу .NET с Visual Studio, вероятно, является самым простым и полным. специальная среда, которую вы найдете сегодня для создания приложений Windows.

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

.NET также поддерживает C ++ и ряд других языков для удовлетворения ваших потребностей. Если вам нужен низкоуровневый доступ к Win32 API, вы можете получить доступ к API напрямую, используя pinvoke. Если вам нужен еще более низкий уровень контроля, вы можете ссылаться на управляемые или неуправляемые библиотеки DLL из своего приложения .NET.

1 голос
/ 09 июля 2010

Я знаю, что все меньше людей пишут нативные приложения, особенно для одной платформы, и особенно, когда эта платформа - Windows.Хотя очевидно, что спрос на это все еще существует, я не уверен, что хотел бы сегодня приложить много усилий для изучения особенностей Windows API., что позволило мне использовать веб-инструменты.Это довольно высокий уровень, он достаточно быстрый для всего, что я делаю, с открытым исходным кодом и кросс-платформенный (даже в Интернете).Я видел приложения (до Titanium), которые написаны в виде веб-страниц, которые поставляются с собственным рендерингом и движком javascript.

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