2009-07-18 11 views
5

Soy nuevo en la programación y me gustaría escribir una aplicación para Windows. Hasta ahora he leído Teach Yourself C en 24 horas, ¿qué debo hacer (tutorial para leer) para lograr mi objetivo? GraciasCómo escribir una aplicación de Windows?

+1

Hola. El campo de título es donde da una breve descripción de lo que trata su pregunta. ¿Te das cuenta de cómo cambié el título? Eso es más para lo que está destinado. –

+0

Por favor, haz que los títulos de tus preguntas sean menos detallados; editarlos no es una alegría. –

+1

¿Qué tipo de aplicación planeas hacer? – Matthieu

Respuesta

10

Cuando comencé a desarrollar aplicaciones para Windows (hace unos 15 años) recuerdo haber leído algunas cosas muy útiles por Charles Petzold. Sus libros más recientes son sobre C#, pero sus libros más antiguos siguen siendo relevantes porque la API de Win32 no ha cambiado tanto en lo que respecta a los conceptos básicos.

+1

Específicamente [Programación de Windows] (http://www.charlespetzold.com/pw5/index.html) y aprenderá mucho sobre los aspectos prácticos de Windows. – artlogic

+1

+1. el libro de Petzold brinda una buena base para el desarrollo básico de Win32. –

+1

Programación de Windows es un gran libro. –

1

Lea this.

¿Está sugiriendo que le gustaría escribir una aplicación de escritorio de Windows en C? Eso se remonta un largo camino. Has vuelto en 2002, según this.

La mayoría de las personas que escriben en Windows usan .NET, lo que significa C++ o C#.

+3

No creo que sea una mala idea escribir _one_ en C. – Nosredna

+0

No es una mala idea de ninguna manera, Nosredna. No soy un programador de Windows, así que ni siquiera sé si las API de Petzold todavía están disponibles. Usaría C++ como "una C mejor" si todavía estuviera escribiéndola. – duffymo

+0

Bueno, ciertamente podría usar el compilador C++ y tratarlo como C si así lo desea. – Nosredna

9

¡Hola, mundo!

Escribir el famoso "Hola, Mundo" (Google si no está seguro):

  1. Para el texto de salida de la consola.
  2. Para enviar texto a una ventana de diálogo.
  3. Para que aparezca el cuadro de diálogo después de seleccionar un elemento del menú.

Entonces, si usted todavía está interesado:

  1. escribir un programa que permite a una persona para introducir texto en un campo de texto. Muestre ese texto en una ventana de diálogo después de hacer clic en un botón.
  2. Guarde el texto en un archivo.
  3. Escriba un programa para leer el archivo y mostrar su contenido en una ventana.

Eso debería comenzar a aprender los fundamentos de lo que está sucediendo al escribir una aplicación de Windows.

Además, lea todos los enlaces que la gente le recomienda leer, en este hilo y otros.

antiguo y nuevo

Recomendaciones para el aprendizaje de .NET, C#, C++ y es grande. Esas tecnologías esconden mucho del aburrido trabajo "gruñido" para ti. Todavía siento que es bueno tener una comprensión de lo que está sucediendo en un nivel inferior, por diversas razones, entre ellas:

  • Aprendizaje C es aplicable a más de aplicaciones basadas en Windows (algunos argumentan .NET y C# son portable, que es cierto en teoría, mientras que ANSI C y Java son portátiles en la práctica).
  • Comprender lo que está oculto le permitirá evitar errores técnicos y diagnosticar problemas técnicos profundos.

En este punto, realmente depende de sus objetivos. Si todo lo que quiere hacer es escribir una aplicación de Windows, entonces use tecnologías modernas que se adapten mejor a dicha tarea.Si desea escribir una aplicación para Windows con una comprensión de cómo escribir aplicaciones en general (no necesariamente solo para Windows), continúe siguiendo la ruta C por ahora, y ramifíquese en otras tecnologías a medida que amplía su conocimiento.

1

Si necesita algo de interfaz gráfica de usuario o de características complejas, usted necesita algunas habilidades de programación orientados a objetos ...
podrán leer parte de este libro Serie: Jefe primera ... de O'Reilly

  1. De cabeza Análisis Orientado a objetos y Diseño
  2. La cabeza primero de desarrollo de software
  3. De cabeza C# o Java (no importa qué idioma ...)
  4. Trolltech Qt4, ¡también es obligatorio! Gracias CptAJ

Son muy buenos libros para principiantes ... y programadores avanzados también ;-)

agradable lectura!

+1

Si está aprendiendo C, ¿por qué las habilidades orientadas a objetos ayudarían? C es un lenguaje de procedimiento. Por supuesto, si su recomendación es que realmente debería estar aprendiendo C# o Java, entonces su sugerencia es válida, pero no ha recomendado un idioma diferente. –

+1

¡Puedes hacer la programación de Windows sin OOP! Plain C es suficiente. – PhiLho

+0

¡Porque la mayoría de las aplicaciones de Windows con GUI lo necesitan! – Matthieu

4

Depende de la aplicación. Pero lo que necesitas ahora es familiarizarte con una API. Las API son básicamente funciones prefabricadas que utilizas como herramientas para hacer ... sea lo que sea que la API fue diseñada para ayudarte. Está buscando una interfaz gráfica de usuario API. Windows tiene su propio pero te recomiendo que uses algo multiplataforma para que tu aplicación funcione en múltiples plataformas.

buscar más información en la wikipedia:

GTK +

de Trolltech QT4

Se puede hacer casi cualquier cosa que el API de Windows puede hacer con el beneficio adicional de trabajar en múltiples plataformas como Windows, Linux, mac, etc.

-2

Sugeriría utilizar VB en lugar de C#. La sintaxis es un poco más amigable, y tiene todas las características y el rendimiento equivalentes.

¿Por qué no seguir los tutoriales de MSDN? Si no te gustan, prueba con Google "VB tutorial".

http://msdn.microsoft.com/en-ca/library/hewcw458.aspx

De cualquier VB o C# tiene un trillón de ejemplos de todo lo que puede ser buscado en Google. Me quedaría con cualquiera de estos idiomas, solo para el "soporte de google" solo.

2

http://winprog.org/tutorial/

Estos son bastante buenos para el aprendizaje de Win32. Charles Petzold es un buen recurso si puedes conseguir una copia, pero The Forger's es gratis y puedes tenerlos en tus manos pequeñas ahora mismo.

En general, sin embargo, debe dedicar un tiempo a escribir primero las aplicaciones C/C++ que usan las bibliotecas estándar. Apertura de archivos, escritura de salida, escritura de archivos, lectura/escritura de stdio y primero obtener un buen manejo de los conceptos básicos del idioma.

Buscar libros sobre estructuras de datos, y el análisis de algoritmos son fundamentales para cualquier tipo de programación que desee hacer también.

1

No estoy de acuerdo con muchas de las respuestas aquí ... aprender desde cero no es algo malo.

No salgo a hacer una aplicación completa en C, pero ciertamente hacer una pequeña aplicación en C es una buena forma de aprender el idioma y apreciar (o más aún, detestar) la API win32.

Además, realmente no se puede apreciar lo que los lenguajes/frameworks más nuevos hacen por usted si no experimenta la vieja forma dolorosa de hacer las cosas.

Dicho esto, reconozca que existen lenguajes y marcos más nuevos y aprenda también; particularmente si estás tratando de conseguir un trabajo.

+1

Si alguna vez profundizas lo suficiente en la API de Win32 para cumplir con 'MsgWaitForMultipleObjectsEx', es la .NET BCL API que detestás ... porque en .NET todos los archivos y la actividad de red es una función síncrona y los eventos son solo para GUI, mientras que Win32 permite que * todo * sea un evento, que es una forma mucho más consistente y eficiente de programar. –

0

Lea este libro, Learn to Program with C#.

Luego, haga pequeños proyectos en WPF; el mejor libro de WPF es Windows Presentation Foundation Unleashed; intente eso después de leer el libro C#/starting-programming.

C#, .NET Framework y WPF se crearon para ir más allá de la API C Win32, para facilitar la creación de aplicaciones de Windows.

Si desea hacer una aplicación estándar de Windows, siga esa ruta.

1

Aunque no voy a decir que has perdido el tiempo aprendiendo algo de C, supongo que tampoco es el lugar donde vas a terminar.

Si usted realmente desea conseguir rodar, sin demasiados problemas, lo recomiendo te sugeriría conseguir:

Esto debería obtener exactamente lo que desea. Tendrás todo lo que necesitas, y Petzold comienza de manera muy simple, y te ayuda a hacer aplicaciones interesantes sin perderte.

(Puede preguntarse por qué yo, y muchas otras personas lo dirigen a C# u otros idiomas después de haber dicho específicamente que ya ha leído y aprendido C. Esto se debe a que la programación en Windows utilizando la antigua API de Win32 mucho más tedioso. Es fácil sentirse abrumado rápidamente por la gran cantidad de desperdicio adicional que tiene que entrar.)

+0

¿Por qué comparaste una aplicación Win32 que muestra una GUI completa y pinta "Hello World" en la pantalla a una aplicación de consola C#? Es como comparar manzanas y botes de basura. Sí, una aplicación de interfaz gráfica de usuario de C# es aún más fácil que una aplicación de interfaz gráfica de usuario de Win32, por lo que su punto sigue en pie, estoy confundido en cuanto a por qué trataría de hacerlo de esta manera. –

+0

Compara el programa básico de la consola Hello World con la aplicación de ventana Win32. #include int main (void) { printf ("hello world"); return 0; } – toto

+0

Los dos programas no son comparables. La versión C debe ser una llamada de una línea a MessageBox() si va a usar MessageBox.Show() en C#. – ChrisV

1

En Microsoft, hemos estado trabajando arduamente para encontrar algunos recursos geniales para crear aplicaciones de Windows . Nuestra página, Start Programming with Windows 7, contará con toneladas de nuevos recursos para programadores intermedios y avanzados.

Hay dos series muy importante nuevo aprendizaje que hemos estado trabajando en:

  • El Proyecto Hilo: Una aplicación construida desde cero para mostrar cómo se puede desarrollar programas que son específicamente taylored a Windows 7 características que utilizan las más modernas metodologías de diseño de aplicaciones y programación.
  • El módulo Learn to Program para Windows: una introducción a la programación de Windows escrita por un experto en educación de desarrolladores en Microsoft. Este módulo suena más como lo que estás buscando, te recomiendo que lo revises.

Estamos trabajando en maneras de exponer los recursos de aprendizaje lo mejor que podamos en el Windows Developer Center: una colección de recursos de aprendizaje para desarrolladores nuevos en Windows o nuevos en desarrollo utilizando las últimas características de Windows.

Se ofrecen instrucciones adicionales a través de los nuevos recursos de Inicio y Concentrador para aplicaciones de cliente/escritorio en la página de inicio de MSDN.

Cuestiones relacionadas