如何在Windows中开始编程?

ilh*_*han 11 windows

我用简单的编译器在C和C++中编写了简单的程序(在大学里学过它;我是统计学的学生).我也是业余PHP程序员.现在我想开始为Windows编程.

  • 具有用户界面的应用
  • 没有用户界面的应用

我的目的只是看它是如何完成的.我可能会创建一个与Web服务器中的数据库交互的基本应用程序.

我应该从哪里开始?Windows Visual Studio?.净?我应该知道什么?

Dav*_*nan 14

如果您真的想学习底层API,那么您应该在没有其中一个框架的情况下开始.

通过Charles Petzold的书"编程Windows"来了解我们多年前所做的事情.关于窗口和消息如何工作的知识的一个非常好的基础将很好地为您服务.

从长远来看,一个好的框架,例如WinForms,Qt,VCL等将提高生产力.但是如果你从其中一个开始,那么你就有可能不知道发送和排队消息之间的区别,而不知道a HWND,an HDC和a 之间的区别HANDLE等等.

一个好的框架,很棒,但如果您了解它下面的内容,您将获得更多.


gid*_*eon 10

看到这个问题:
初学者的C#GUI编程:从哪里开始?

特别是这个答案.

我认为你应该从Windows Form开始,WPF是Windows Dev的新东西,并且它得到了所有的亮点,但我真的不建议从它开始.

由Charles Petzold编写Windows Forms是一本很好的书(Charles非常酷),自从Visual 2005以来,Windows窗体并没有太多改变,你应该学习C#4,这是最新的语言.

Visual C#2010 Step by Step是一本很好的书,可以获得.NET世界的所有内容以及所有选项(包括WPF)

看到这些SO问题:

希望有所帮助.

更新


如果您考虑使用C或C++进行Windows开发,这不容易.我已经完成了一些Win32 API并相信我,即使是简单的事情,你也会写出长期/复杂的程序

您有两个MS选项,您可以使用C或C++语言并调用Win32 API函数.

这本书就是圣经.

另一个MS选项是使用MFC,人们对MFC有一些相当强烈(糟糕)的看法.我自己没有做太多,所以不能说太多.请参阅:https://stackoverflow.com/questions/557114/stick-with-mfc-or-go-to-net

当然有很多非MS选项,我再也不建议这样做.请参阅:本机Windows应用程序开发选项

最重要的是,在我看来,C#是一个非常完善的语言,你将获得TON的支持,Visual Studio是最好的工具之一,你将学习C#/ .NET很开心,最大的优势就是你可以使用您的C#知识编写甚至Web应用程序,云和移动应用程序等等.


voi*_*ter 5

我不确定为什么人们不经常使用跨平台的GUI工具包.我倾向于用Java编写我的GUI,并将控制转移到C++以获得实际的程序逻辑.如果您了解MVC架构模式,则可以使用Java实现视图和控制器,使用C++实现视图.如果程序很简单且性能不重要,那么我经常直接在Java中编写所有代码.我列举了一些使用Java编写UI而不是下面的其他语言的优点.

优点

  • Java已经有一个充满有用实用程序的大型库,是一个很好的起点,人们可以从中学习其他语言.有许多经过充分测试的Swing组件可供使用,在线教程可为您提供许多常见用例的良好起点.
  • 查看JogAmp网站,并试用他们的演示.我更喜欢使用C/C++来为用户界面进行渲染和Java,但如果性能不是很关键,那么JogAmp API在控制您想要使用的OpenGL子集方面具有很大的灵活性.
  • Java对数据库和servlet有广泛的支持 - 请查看JDBC API.
  • Java是开源的,并不限制您使用特定的IDE(或操作系统!).
  • Java附带了一个名为Javadoc的内置文档生成器,它运行得非常好.实际上,JDK的文档是使用它生成的.

缺点

  • Java是一种解释型语言,因此性能通常会比其他编译语言的性能更差.
  • Java强迫您使用面向对象的原则来构建整个程序逻辑,即使它们不适合您的特定用例(例如,简单的一次性实验).有时,为了完成特定任务,您的代码最终可能会比它需要的更冗长.

编辑:初学者有很多资源,比如这个.

  • 人们避免像JAVA那样用于GUI工作的原因是它产生的非原生GUI看起来很差并且消耗了大量的系统资源并且在执行垃圾收集时随机冻结. (5认同)