2008-11-16 10 views
11

Para un recién llegado al desarrollo web .NET y la programación en general, ¿quién elige C# como idioma preferido?C#/Estrategia de aprendizaje de desarrollo web

¿Es mejor aprender C# primero, sin intentar aplicarlo al desarrollo web? Parece que la mayoría de la literatura para C# usa la consola o Windows Forms como una plataforma de aprendizaje. Entonces, ¿esa sería la mejor dirección?

¿O debería practicar en desarrollo web y tratar de aprender C# junto?

Respuesta

8

Necesita comprender los fundamentos de C# para desarrollar algo útil, ya sea un sitio web ASP.NET, cliente de Windows o servicio web.

Comenzaría con algunos buenos tutoriales sobre los conceptos básicos de tipos, clases, métodos, eventos, etc. para familiarizarme con C#. La estación C# tiene algunos buenos tutoriales introductorios here.

Para desarrollar habilidades específicas de la web, comience con HTML y CSS.

A continuación, observe cómo la plataforma ASP.NET integra tanto C# (código de aplicación) como HTML y CSS (código de presentación).

¡Y buena suerte!

7

He ayudado a varias personas a utilizar idiomas anteriores (como C++) y sin experiencia en el uso de C#.

Definitivamente aprenda C# antes de probar cualquier tipo particular de desarrollo (como cosas en la Web). Solo confundirá al recién llegado.

Si ya conoce un idioma, puede ser de mucha ayuda volver a implementar una pequeña aplicación del idioma antiguo al nuevo.

También suelen haber libros para transiciones de lenguaje comunes: los C# para los libros de desarrolladores de C++ son buenos ejemplos. Recomiendo leerlos.

Aquí está mi plan de enseñanza (en breve resumen):.

  1. dan una visión de lenguaje C# (tipos, métodos, principales()
  2. que los estudiantes escriban Hello World desde la consola
  3. Tener los estudiantes implementan el juego "Simon Says" desde la consola
  4. Haga que los estudiantes implementen "Simon Says" en WPF. (Usando el diseñador. Esto solía ser Windows Forms, pero WPF es un modelo más limpio)
  5. Dar una encuesta de t l características más avanzadas en C#: delegados, eventos, etc.
  6. Haga que los alumnos implementen "Simón dice" en ASP.NET.
+1

Eso me parece un plan bastante bueno. Nunca me ha gustado la forma en que muchos libros intentan enseñar el idioma con una GUI. La programación de GUI es difícil, y tiene varios desafíos que realmente no desea mientras aprende el lenguaje/plataforma central. Las GUI pueden hacerlo más "emocionante" pero también más difícil. –

5

No estoy de acuerdo con aprender C# en una burbuja. Si su objetivo final es hacer desarrollo web, ¿por qué empezar desarrollando algo más?

La única excepción es la consola. Es increíblemente fácil de aprender si, para, foreach, etc. en la consola.

¿Tienes alguna experiencia en programación, web u otra? Si la respuesta es no, primero aprendería XHTML y CSS. Hay un millón de tutoriales en línea y es bastante fácil.

Si ya tiene experiencia en programación web, aprender C# y postularse a la web no debería ser muy difícil. Asegúrese de leer los conceptos básicos de los dos tipos de ASP.NET (WebForms y MVC) y elija cuál tiene más sentido para usted. Vaya a través de los tutoriales en asp.net y debería comenzar bastante bien.

Así es como lo hice de todos modos.

1

Mi sugerencia sería hacer las dos cosas como si estuviera haciendo solo desarrollo web, entonces las aplicaciones de consola o Windows pueden no ser significativas para completar. Otro punto es que puede haber partes de C# que sean específicas de Webforms, como la funcionalidad de AJAX, por nombrar un ejemplo, aunque ASP.Net MVC puede ser otro que valga la pena analizar hasta cierto punto.

Comenzaría con el simple, "¡Hola, mundo!" ejemplo (que se puede hacer de varias maneras en el caso web y vale la pena conocerlos a todos, por ejemplo, HTML directo que no tiene nada de lujoso, Response.Write en el archivo .aspx, Response.Write en el código detrás, y usando las etiquetas "<% =" y "%>" para el último formulario) y luego amplíe eso usando almacenamiento en archivos o bases de datos y trabaje hacia la construcción de varias habilidades alrededor del núcleo de ver C# usado dentro de la web cosas.

Cuestiones relacionadas