J'ai fabriqué des programmes simples en C et C ++ avec des compilateurs simples (appris à l'université; je suis étudiant de statistique). Aussi je suis un programmateur PHP amateur. Maintenant, je veux commencer la programmation pour Windows. P>
Mon objectif est juste de voir comment cela se fait. Et je pourrais créer une application de base qui interagit avec une base de données dans un serveur Web. P>
Où devrais-je commencer? Windows Visual Studio? .RAPPORTER? Que dois-je savoir? P>
6 Réponses :
Je vais sortir sur un membre et recommander C # en utilisant visuel Studio 2010 C # Express . Cela vous permet de vous familiariser avec le style C / C ++ votre probablement familier avec. P>
Voir cette question:
Programmation de GUI C # pour débutants: Où commencer? p>
surtout Cette y répondre. p>
Je pense que vous devriez commencer par le formulaire Windows, WPF est la nouvelle chose pour Windows Dev et sa lumière de chaux, mais je ne recommande vraiment pas de partir avec elle. P>
Programmation des formulaires Windows par Charles Petzold est Bel livre (Charles est très cool), les formulaires Windows n'ont pas trop changé depuis Visual 2005, vous devriez apprendre C # 4, la dernière langue. P>
Visual C # 2010 Étape par étape est Un bon livre pour obtenir un gist du monde .Net et toutes vos options (y compris WPF) p>
Voir ces questions pour les questions: P>
espère que cela aide. P>
Incase Vous pensiez aller avec C ou C ++ pour le développement de Windows, n'est-ce pas facile. J'ai fait des API Win32 et crois-moi que vous écrirez des programmes sérieusement longs / compliqués pour des choses encore simples p>
Vous avez deux options MS, vous pouvez simplement utiliser la langue C ou C ++ et appeler les fonctions API Win32. P>
Ce livre est la Bible pour cela. P>
L'autre option MS utilise MFC, les personnes ont des vues assez fortes (mauvaises) sur MFC. Je n'ai pas beaucoup fait moi-même, je ne peux pas dire trop.
Voir: https://stackoverflow.com/questions/557114/stick-with- MFC-OR-GO-TO-NET P>
Il y a bien sûr des tonnes d'options non ms, qui à nouveau je ne recommanderais pas.
Voir: Options de développement d'applications Windows natif P>
Je pense que vous pouvez commencer par C # .NET, puis asp.net p>
Je ne suis pas sûr de savoir pourquoi les gens n'utilisent pas plus souvent des outils à outils de l'interface graphique. J'ai tendance à écrire ma GUI en Java et à transférer le contrôle de C ++ pour la logique du programme réelle. Si vous connaissez le modèle architectural MVC, vous pouvez utiliser Java pour implémenter la vue et le contrôleur et C ++ pour mettre en œuvre la vue. Si le programme est simple et que la performance n'est pas critique, je code souvent tout directement en Java. J'ai énuméré quelques avantages de inconvénients d'utiliser Java pour coder UI à d'autres langues ci-dessous. P>
pros fort> p>
EDIT STRY>: Il existe de nombreuses ressources pour les débutants, tels que Celui-ci . p>
La raison pour laquelle les gens ont changé quelque chose comme Java pour les travaux de l'interface graphique de l'interface graphique de l'interface graphique de l'interface graphique de l'interface graphique de l'interface graphique de l'interface graphique de l'interface graphique de l'interface graphique de l'interface graphique de l'interface graphique de l'interface graphique de l'interface graphique de l'interface graphique de l'interface graphique de l'interface graphique de l'interface graphique de l'interface graphique de l'interface graphique de l'interface graphique de l'interface graphique de l'interface graphique de l'ILS devaient une interface graphique de l'interface graphique de l'interface graphique.
Wow, j'étais sur le point de poster le même commentaire que @david, bien que non aussi soigneusement libellé soigneusement. +1
@ (M. HEFFERNAN): Java peut produire des Guisse natales avec le cadre AWT. En outre, jetez un coup d'œil au Nimbus Look and Sentez - de nombreux programmeurs de la négligence de l'utiliser (il faut environ trois lignes de code), de sorte que le mode de lecture métallique obsolète est utilisé par défaut: Download.orcle.com/javase/Tutorial/uiswing/lookandfeel/... .
@Void Connaissez-vous quelques exemples de Guis Java Native?
Bien sûr, tout composants de Java.Awt. * Servir en tant que liaisons sur des bibliothèques indigènes pour chaque OS: EN.Wikipedia. org / wiki / abstract_window_toolkit . Voici une applet en affichant certains d'entre eux: krhs.net/computerscience/java/componts.htm . La prise en charge des composants AWT est certes limitée; L'API Swing offre plus de ressources. Les composants balançoires sont beaucoup plus flexibles, bien que: Jogamp.org/Deployment/webstart/jogl -demos / xtrans.jnlp .
AWT pourrait être une option; Je ne sais rien à ce sujet. Mais je peux vous dire juste de regarder cette capture d'écran de Nimbus qu'il est pas b> sensationnel ou sentiment. C'est comme Mac OS X, Gnome et KDE avaient un enfant bâtard. Et il a l'air absolument horrible sur Windows. Je ne peux même pas imaginer essayer d'utiliser b>. (Parce que je ne le ferais pas. Une autre application, j'ai perdu du temps de télécharger de temps en premier lieu.) Je ne suis pas sûr de ce que la Big Hullaballoo est de skinner ou de fournir des gites "TEMBLES". Le système d'exploitation fait déjà cela. Un autre avantage est qu'il est disponible pour toutes les applications i>. Expérience utilisateur instantanément cohérente.
Nimbus fait partie de la balançoire; AWT est indigène et séparé. Vous pouvez obtenir des composants AWT à l'aide de Java - ils utiliseront la L & F de votre système d'exploitation. Cité de lien: "Pour Linux et Solaris, le système L & FS est" GTK + "si GTK + 2.2 ou version ultérieure est installé," Motif "sinon. Pour Windows, le système L & F est" Windows ", qui imite la L & F de la L & F de la L & F Cela concerne les fenêtres courantes, XP ou Vista. Le GTK +, le motif et les fenêtres L & FS sont fournis par Sun et expédiés avec le JAVA SDK et JRE, bien qu'ils ne font pas partie de l'API Java. " télécharger.oracle.com/javase/taturial/uiswing/lookandfeel/... < / a>
@Code Grey et sur MacOSX: Java.sun.com/Developer/technicalArticles/javalp/ Javatomac2 .
@Void Je suis intéressé par un exemple d'apporté d'application avec une interface graphique Java qui ressemble et se sent natif. Connaissez-vous d'un?
Je crois que Eclipse utilisera automatiquement la L & F par défaut de votre système d'exploitation; C'est une source ouverte et la majorité d'entre elles est écrite en Java: Eclipse.org .
J'ai pensé à Java mais c'est interprété la langue et a une très mauvaise performance.
Les gens exagèrent la performance de Java; Il y a peut-être une décennie, c'était vrai, mais à cause du schéma de collecte des ordures de Java et du JIT, il bat souvent des programmes C ++ utilisant une allocation statique en termes de performance. Il y a une raison pour laquelle Google utilise Java. De toute façon, je vous souhaite la meilleure chance dans l'apprentissage de la programmation!
@Void: Comme David, je suis très curieux de voir un programme écrit en utilisant l'une de ces boîtes à outils qui ont l'air natif. J'ai visité tous les liens que vous avez postés, mais les captures d'écran ont l'air affreux. Je suis sûr que certaines de ces choses ont l'air bien à Linux, mais je n'utilise pas Linux. Le Stuff OS X a environ 10 ans. OS X a été sorti de la bêta publique depuis quelque temps maintenant ... De plus, alors que je suis d'accord que pour la majorité des applications commerciales, le code JIT est pas i> un goulot d'étranglement de la performance (je suis un. PROGRAMMER NET), je ne pense pas qu'il est juste de prétendre que Java est plus rapide que C ++, lorsque vous le comparez à C ++ mal écrit.
@Code gris Le nombre de mots est ennuyeux et je trouve difficile de compacter ce que je dois dire; S'il vous plaît voir la modification que j'ai faite dans mon message d'origine.
Si vous voulez effectivement apprendre l'API sous-jacente, vous devez commencer sans l'un des cadres. p>
Apprenez-le comme nous l'avons fait toutes ces années avec le livre de Charles Petzold, la programmation Windows. Un très bon fondement de la connaissance de la façon dont Windows et les messages fonctionnent vous serviront bien. p>
à long terme, un bon cadre, par exemple Winforms, Qt, VCL, etc. augmenteront la productivité. Mais si vous commencez par l'un d'entre eux, vous risquez de ne pas connaître la différence entre les messages envoyés et en file d'attente, sans connaître la différence entre un Un bon cadre, c'est génial, mais vous en tirerez plus si vous comprenez ce qui est sous le dessous de cela. P> hwnd code>, un HDC code> et un gérer code>, et ainsi de suite. p>
Il existe différents codes d'échantillonnage disponibles au téléchargement. Je les ai trouvés très utile lorsque je commençais à apprendre à programmer pour Windows Phone. p>
Visual Studio fonctionne bien pour C #. Vous devriez probablement envisager de créer un compte avec Microsoft si via Outlook.com si vous envisagez de publier ce que vous développez. P>
Si vous souhaitez développer pour Windows 8, je vous conseillerais d'installer Windows 8 et de développer à l'aide de cela. P>
Voulez-vous coller avec la langue C ou C ++ que vous connaissez déjà, ou êtes-vous prêt à apprendre une autre langue comme C #? (Je suis étonnant de savoir comment toutes les réponses jusqu'à présent supposent i> que vous souhaitez utiliser la plate-forme .NET.) Il existe un nombre ridicule d'options disponibles; La programmation Windows est un sujet très large.
@Code gris vrai! = P mais honnêtement, la route C \ C ++ pour la programmation Windows n'est pas facile.
Je suis prêt à apprendre une autre langue si nécessaire, oui je suis disposé.
@ilhan un de mes amis Tout comme vous venez d'un antique Course C, il va vraiment bien avec VC # étape par étape.
@Giddy: Pourquoi n'est-ce pas facile? La façon dont je le vois, la partie la plus difficile consiste à apprendre les langues C ou C ++! Si vous les connaissez bien (ou au moins assez bien), la programmation de l'interface graphique est relativement simple.
@Code Grey Qu'en est-il de l'API! Sa folie, il a nécessité une compréhension profonde de la fonctionnalité Windows, de tous les
hwnd code> S. wndproc code> avec toutes ces relevés de commutation imbriqués, j'ai toujours voulu donner un coup de la MFC , surtout juste pour pratiquer C ++ (à s'écarter dans ma propre question, pensez-vous que c'est une bonne idée?) Mais surtout son outil, je veux dire, IntelliSense, designers, refactoring ... fin de la journée, cela vous aide à écrire mieux code si vous savez ce que vous faites.@Giddy Vous pourriez trouver des fenêtres et des messages difficiles, mais si vous n'obtenez pas de bonne terre, cela vous retiendra.
@David Yea je suis totalement d'accord! La plupart de mes luttes avec Win32 sont venues très pratiques avec des Winforms, mais je pense que Win32 / C-C ++ est bon parce que vous connaissez un niveau d'abstraction, mais je ne suis pas sûr de la manière dont il serait productif d'écrire une application LOB avec C'est dans la journée d'aujourd'hui.
@Giddy: Honnêtement, je ne sais pas comment vous écrivez une application "réelle" dans Winforms sans avoir au moins quelques i> compréhension de l'API Win32. Je ne pouvais certainement jamais. J'ai depuis migré la plupart de mes efforts de développement à RAW WIN32 ou MFC. Certaines choses sont plus difficiles parce que je n'ai pas toutes les fonctionnalités intégrées du .NET FW à ma disposition, mais d'autre part, Je passe beaucoup moins de temps à écrire P / invoquer des définitions I>. Pendant un moment, cela semblait être tout ce que je faisais lors de l'écriture des applications WinForms. (Et, comme cela ne serait pas surprenant, je suis d'accord avec les commentaires de David Heffernan.)
@giddy: En outre, je n'ai pas la haine bouillante que tout le monde semble avoir pour MFC. Cela me rend plus productif que la ligne droite Win32, tout en me permettant de rédiger des applications indigènes, alors je suis en panne. Bien sûr, il y a des bizarreries, mais c'est le cas avec toute bibliothèque i>. La clé est compréhension i> eux, et comme c'est principalement basé sur la Win32, je pense que je le fais. À cet égard, il pourrait être intéressant d'apprendre à vous faire un meilleur programmeur Windows. Mais comme une prise pour apprendre C ++? définitivement pas b>. C ++ a changé drastiquement i> puisque MFC a été écrit. Ce n'est plus un exemple brillant de meilleures pratiques ...
@cody je sais juste que vous aimeriez Delphi VCL !!