que - ¿Qué debe saber un desarrollador experto en C#/. Net/WPF?
qué es un desarrollador net (8)
Tengo más de 5 años de experiencia en el desarrollo de C ++ / Unix. He estado probando el desarrollo de software basado en C # /. Net / WPF desde hace algún tiempo. Estoy en una etapa en la que puedo escribir aplicaciones funcionales con fluidez, pero no estoy seguro de cómo llevar mis habilidades al siguiente nivel.
Entonces, mi (s) pregunta (s) para todos ustedes, especialmente para aquellos que tienen experiencia en C # /. Net / WPF:
¿Cuáles son las habilidades y el conocimiento de los componentes que debe tener un desarrollador experto en esta plataforma?
¿Qué libros específicos de tecnología esperaría que un posible experto hubiera leído?
¿Qué otros pasos deliberados puedo tomar para ser realmente bueno en el desarrollo de aplicaciones usando C # / .Net / WPF?
¡Muchas gracias de antemano! Estaría especialmente agradecido por las respuestas integrales; estoy bastante seguro de que muchos otros desarrolladores tienen preguntas similares.
Aprende cómo funcionan el lenguaje C # y el tiempo de ejecución .NET leyendo CLR a través de C # .
Asegúrese de aprender a usar y aprovechar la inyección de dependencia / inversión de control en sus aplicaciones. Otras piezas muy importantes de software para aprender a incluir en su desarrollo son Microsoft Enterprise Library y Windows Communication Foundation. Esas 2 herramientas ofrecen una increíble cantidad de apalancamiento para evitar tener que recrear la rueda para resolver problemas.
Otros paquetes realmente buenos para familiarizarse con NHibernate y Fluent NHibernate.
Windows Workflow Foundation es una pieza de software muy potente, sin embargo, el nivel de complejidad es alto, esto sería otra gran adición a su base de conocimientos, si el tiempo lo permite.
El artículo de Scott Hanselman, "What Great .NET Developers Debería Saber" , es un gran recurso sobre el tema.
Mi equipo ha trabajado en C # durante los últimos 5 años. Por lo general, los programadores de C ++ experimentados tardan una o dos semanas en ser totalmente funcionales en C #. Incluso he visto a algunos hacerlo casi al instante, después de sentarme con ellos una mañana, mostrándoles nuestro código y explicando los conceptos básicos del lenguaje que difieren de C ++. Pero no es así como te recomiendo que lo hagas.
Te recomiendo que hagas esto:
Lee un libro de C # : Mi elección sería Programming C # de Jesse Liberty. Los capítulos importantes son el lenguaje en sí y los conceptos básicos de las bibliotecas de .NET Framework. El .NET Framework es enorme, por lo que no tiene que saber todo en detalle. Puede omitir (o hojear) los capítulos de formularios de Windows. Windows Forms es tan diferente de WPF que no le será útil si planea hacer solo WPF.
texto alternativo http://images.amazon.com/images/P/0596006993.01.MZZZZZZZ.jpg
Lea un libro de WPF : El mejor libro que he leído hasta ahora es Windows Presentation Foundation Unleashed by Adam Nathan. WPF tiene una curva de aprendizaje pronunciada en comparación con Windows Forms, incluso para programadores experimentados de C # / WinForms. Tiene una gran cantidad de elementos complejos para entender como XAML, propiedades de dependencia, enlaces, plantillas, animación, recursos, etc. Este libro le enseña los conceptos básicos de forma gradual y es fácil de leer y entender. ¡Y está a todo color!
texto alternativo http://ec1.images-amazon.com/images/P/0672328917.01._SCLZZZZZZZ_.jpg
Lea sobre el patrón Model-View-ViewModel : todavía no he encontrado un buen libro sobre eso, pero ha sido muy importante para mí hacer que mis aplicaciones WPF sean más simples y manejables. Mi material favorito para aprender sobre MVVM es esta presentación de una hora de Jason Dolinger . Construye una aplicación WPF desde cero sin usar ningún patrón en particular y, paso a paso, la migra al patrón MVVM.
Para WPF específicamente (y el poder del enlace WPF) me gusta MV-VM: http://karlshifflett.wordpress.com/
Realmente me gusta WPF en Acción y Programación. Los componentes de .NET son una lectura esencial para cualquier desarrollador de .NET.
También eche un vistazo a esta última pregunta de : preguntas que todo desarrollador de .NET debería poder responder.
Yo agregaría pruebas unitarias, TDD y marcos burlones a tu lista de cosas para saber.
Tengo "The Art of Unit Testing" y lo encontré útil.