Onde é um bom lugar para começar GUIs programação para Windows?

votos
23

Tenho experiência escrevendo console e aplicações cliente / servidor de rede em C e C ++, mas eu sei quase nada sobre como usar a API do Visual win32, MFC, Qt, wxWidgets, etc. Onde é um bom lugar para começar, e qual o método que devia especializar-se em, de modo a ser o futuro pronta e robusta?

Publicado 07/08/2008 em 04:06
fonte usuário
Em outras línguas...                            


9 respostas

votos
44

Esta é uma questão bastante ampla, como aplicações de programação GUI no Windows pode ser feito de muitas maneiras.

Há duas partes principais para o desenvolvimento de qualquer aplicativo GUI: o idioma ea API / quadro . Considerando que você está interessado em aprender a criar aplicativos do Windows GUI, a língua não é realmente um ponto de foco para você. Portanto, você deve escolher um idioma que você já conhece e trabalho com um quadro ou API que pode ser aproveitada por idioma escolhido.

Se você quiser usar C você está praticamente restrita a lidar com a API Win32-se, no caso de leitura que Petzold ou Richter seria ótimos lugares para começar. A API Win32 pode ser muito assustador, mas vale bem a pena o esforço para aprender (IMHO). Há uma abundância de tutoriais sobre Win32 na web, e há sempre MSDN , com uma referência / guia completo para a API Win32. Certifique-se de não cobrir apenas o API, mas outras áreas como recursos / diálogos como eles são blocos de construção para a sua aplicação Win32.

Se você quiser usar C ++ você tem todas as opções que você tem quando se utiliza C mais alguns outros. Eu recomendo ir com a API Win32 diretamente, e, em seguida, avançar para um quadro conhecido como MFC, Qt, wxWindows ou GTK para que você possa gastar menos tempo trabalhando com código clichê e em vez disso se concentrar em escrever a lógica do aplicativo. Os últimos 3 opções Eu apenas listados têm a vantagem de ser multi-plataforma, assim você não precisa se preocupar muito com as questões específicas da plataforma. Dado que você disse que quer trabalhar com o Windows, eu vou assumir que você está interessado em se concentrar no que ao invés de multi-plataforma - para ir com MFC, mas passar algum tempo com a API Win32 primeiro a se familiarizar com alguns dos os conceitos.

Ao lidar com MFC e Win32 API, é uma boa idéia para tentar obter uma sólida compreensão da terminologia antes de escrever código. Por exemplo, você precisa entender o que a bomba de mensagem é, e como ele funciona. Você precisa saber sobre conceitos como " desenho proprietário controles", e subclasses . Quando você entender essas coisas (e mais), você vai encontrá-lo mais fácil trabalhar com MFC, porque ele usa a terminologia similar em suas interfaces de classe (por exemplo. Você precisa saber o que "traduzir mensagens" significa antes que você possa compreender como e quando usar PreTranslateMessage ).

Você também pode usar Managed C ++ para escrever aplicações GUI .NET, mas eu li em alguns lugares que Managed C ++ realmente não estava destinado a ser usado dessa maneira. Em vez disso, deve ser usado como um gateway entre código nativo / gerenciado e código gerenciado. Se você estiver usando .NET é melhor usar uma linguagem .NET como VB.NET ou C # para construir suas GUIs.

Então, se você está indo para usar NET, você tem atualmente a escolha do WinForms biblioteca, ou WPF . Pessoalmente, sinto que você estaria perdendo tempo aprendendo a construir aplicações WinForms dado que WPF é projetado para substituí-lo. Ao longo do tempo WPF se tornará mais prevalente e WinForms muito provavelmente vai morrer. WPF tem um conjunto API muito mais rica, e não sofre de muitas das limitações que Winforms faz. Se você escolher esse caminho, no entanto, você vai sem dúvida tem que aprender XAML , que é uma linguagem de marcação que impulsiona aplicativos WPF. Esta tecnologia é vinda de idade, e há muitos ótimos lugares para aprender sobre ele. Primeiro, existem sites como o LearnWPF e DrWPF que têm alguns realmente grandes artigos. Em segundo lugar, há uma abundância de qualidade livros sobre o tema .

Então, para resumir, uma vez que você escolheu seu idioma e tecnologia, o caminho é realmente muito fácil. Basta pegar um livro ou dois, ler alguns blogs, entrar em algumas amostras de código .. eo mais importante ... escrever código. Continue escrevendo, continuar a fazer erros, e continuar a aprender com eles.

Como nota final ...

Em outras palavras, Silverlight. Se você não quiser ir a rota MS que você pode dar de Adobe Flash / Flex um olhar ver. Ambos Silverlight e Flash / Flex construir RIA. Que eu acho que é para onde estamos indo. Eles dias do Office como aplicativos são numerados

Não estou de acordo em tudo. Silverlight não é o mesmo que WPF. Silverlight é específica da web, e tem apenas um subconjunto de recursos do WPF. Dado que a questão pede para aplicativos do Windows GUI, Flash / Flex RIA Apps não são realmente uma sugestão de ajuste. Eu também não concordo que os dias de aplicativos rich client (como o Office) estão contados em tudo.

Espero que ajude. Boa sorte :)

Respondeu 07/08/2008 em 12:24
fonte usuário

votos
6

Eu não sei se eu diria que é um bom lugar para começar, mas se você quiser ser o futuro pronto, dê uma olhada no Windows Presentation Foundation , que é inteiramente construído com a finalidade de programação GUI é para janelas

Respondeu 07/08/2008 em 04:08
fonte usuário

votos
4

Minha primeira experiência de escrever aplicações GUI simples para o Windows estava com C # e Visual Studio. A interface de construção de GUI é um simples acordo de arrastar e soltar que gera métodos esqueleto com base em ações do usuário em potencial. Eu só fiz programação bastante básico com isso, mas eu imagino que seria um excelente lugar para começar a aprender o básico e se estendem até os recursos mais avançados como você vai.

Respondeu 07/08/2008 em 04:47
fonte usuário

votos
3

Há uma abundância de tutoriais on-line Win32:

http://www.zeusedit.com/forum/viewtopic.php?t=1218

Há uma abundância de compiladores para escolher:

http://www.zeusedit.com/forum/viewtopic.php?t=238

Eu recomendaria também obter o Borland Win32 SDK documentação em formato de arquivo WinHelp:

http://www.zeusedit.com/forum/viewtopic.php?t=7

Ele cobre apenas o básico nuas do Win32, mas quando começar, isso pode ser útil, pois é menos difícil e menos inchado do que o MSDN.

Respondeu 28/10/2008 em 00:20
fonte usuário

votos
1

Eu nunca ir para baixo o Silverlight, Flash / Flex ou qualquer rota similar. Ele faz uma boa aparência, mas o principal problema é que o código do motor que vai é completamente fechada-box e controlado por uma única empresa. Tomemos, por exemplo, versões de 64 bits do ambos. Se alguma nova plataforma surge, você não será capaz de migrar o código existente para ele.

Respondeu 18/09/2008 em 11:13
fonte usuário

votos
0

Obter o seu direito básico primeiro. Melhor tutorial que eu encontrei é: http://winprog.org/tutorial/start.html

Depois disso, embora a homepage é ódio de mau gosto, as páginas de tutoriais são bons em conteúdo e estética: http://www.tenouk.com/cplusmfcdotnet.html

Então é claro que há MSDN .

Respondeu 29/10/2011 em 09:56
fonte usuário

votos
0

Desde que você já está familiarizado com C e C ++ Eu recomendaria aprender a escrever um aplicativo simples do Windows GUI usando o livro de Charles Petzold. Ele lhe dará a compreensão fundamental de como o Windows funciona. É bom entender que a maioria de tudo que você vê é uma janela (um botão é uma janela, por exemplo) e que essas janelas responder às mensagens. Eu não tomaria' gastar muito tempo nesta embora e você não precisa necessariamente fazer isso primeiro se você estiver indo para escolher WPF. Eu só acho que é bom ter uma compreensão básica deste.

Houve uma boa podcasts recentemente em rochas .Net chamados "Kate Gregory desenvolve em C ++ para o Vista!" lá ela recomenda que alguém começando agora não deve usar / aprender MFC (mesmo que foi recentemente atualizado).

Tanto quanto se preparando para o futuro, você precisa aprender WPF, mas ainda não está completa, por isso, dependendo dos tipos de aplicativos do lado do cliente que você deseja criar, você provavelmente precisará aprender WinForms. A maioria das pessoas não estão usando WPF ainda, por isso é um bom momento para começar a aprender. Eu acho que você vai achar que é mais fácil usando C # para aprendê-la em vez de fazer o código gerenciado com C ++.

Respondeu 12/08/2008 em 14:59
fonte usuário

votos
0

Para um ponto de partida simples para obter a sua cabeça em torno da natureza "event-driven" basicamente todas as estruturas são criadas em torno olhada FLTK .

Aqui estão algumas rápidas vídeos de partida Fazer a ligação

Para uso profissional eu recomendo Qt, caro, mas muitas vezes vale a pena em situações comerciais.

Respondeu 12/08/2008 em 14:26
fonte usuário

votos
0

Para aplicativos de negócios, Windows Forms é muito maduro. Ele fornece um caminho suave de auto-geração de muito para você em permitir refinado controle e rolar seus próprios. Há toneladas de controles de alta qualidade de terceiros e um grande corpo de exemplos, documentos, etc lá fora. É difícil de executar em um problema que alguém não tenha resolvido. Eu recomendo a aquisição de algum fundo Win32 conhecimento (por exemplo Petzold ) como o quadro WinForms vive em cima dela.

Não tenho experiência WPF, mas a partir dos aplicativos de exemplo que eu vi parece uma boa escolha para aplicações cujas interfaces se beneficiariam de metáforas mais gráficas. Então, se você está fazendo um aplicativo bancário, provavelmente não vale a concepção sobrecarga extra. Mas se você está fazendo, digamos, uma gestão de armazém app que poderia ser melhorado, largando caixas bonitas em caixas bonitas.

@StephenCox: resposta errada à pergunta errada. OP é perguntando sobre aplicativos cliente de desktop, e, além disso, WPF! = Silverlight.

Respondeu 12/08/2008 em 13:23
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more