¿Aprender primero Silverlight o WPF?
(9)
¿Deberías aprender ASP.NET o Winforms primero? ASP o MFC? HTML o VB? C # o VB?
Deje de lado la idea de que hay una progresión lógica a través de lo que se ha convertido en un complejo conjunto de tecnologías entrelazadas, y dé un paso atrás y hágase una serie de preguntas:
- Cuáles son tus metas; ¿Cómo quieres equilibrar los beneficios con el disfrute?
- ¿Estás orientado a corto plazo o en el largo plazo?
- ¿Eres el tipo de persona a la que le gusta ser bueno en algo y hacerlo mucho o te aburres una vez que lo entiendes?
El próximo y más difícil paso es aceptar que cualquier consejo que se le dé sea incorrecto; y cuanto más largo es el horizonte de tiempo, más probable es que sea incorrecto. Si el consejo es por más de seis a 12 meses, la probabilidad de que el consejo sea salvajemente incorrecto se aproxima a 1.
Solo puedo contarte mi historia, rápido. En 2000, me sentí feliz como consultor trabajando de forma rentable en C ++ en aplicaciones de Windows, escribiendo sobre ASP.NET y WinForms. entonces vi C # y el mundo al revés. Nunca volví.
Hace dos años tuve el mismo tipo de revelación, solo un orden de magnitud más grande, más fuerte y con más convicción sobre Silverlight. Sí, WPF es magnífico, y es posible que yo esté muy emocionado con esto, pero creo en mi intuición de que Silverlight lo cambia todo. No hubo dudas entonces y no hay duda hoy de que Silverlight es la plataforma de desarrollo más importante para Microsoft desde .NET (ciertamente) y posiblemente desde el cambio a C ++.
En pocas palabras, aquí está el por qué. No entiendo cuáles son sus limitaciones. Con la mayoría de las plataformas que hago: puedes hacer esto, pero no puedes hacer eso. WPF es un buen ejemplo de ello, al igual que ASP.Net y WinForms, y realmente todo hasta ahora.
Con Silverlight, todavía no veo los límites. Silverlight ya saltó del escritorio a los teléfonos, y no veo ninguna razón para que se detenga allí. Sí, es cierto, está vinculado por el navegador, pero veo que es menos como una celda de la cárcel que como un tanque en el que Silverlight se desplazará por muchos terrenos (debe ser muy tarde, debería irme a la cama).
En cualquier caso, por ahora, aprender Silverlight es un gas, hay mucho material en el sitio Silverlight.net , y lo mejor de Silverlight es que si no ves lo que necesitas puedes gritar. a mí y me aseguraré de que lo entiendas bastante rápido.
Disfruta, buena suerte y el pequeño y sucio secreto es que estarás bien cualquiera que elijas. Todo es solo software.
-jesse
Jesse Liberty "Silverlight Geek"
Parece que Silverlight / WPF son el futuro a largo plazo para el desarrollo de la interfaz de usuario con .NET. Esto es genial porque puedo ver la ventaja de reutilizar las habilidades de XAML tanto en el lado del cliente como en el de desarrollo web. Pero mirando a WPF / XAML / Silverlight parecen tecnologías muy grandes y, entonces, ¿dónde es el mejor lugar para comenzar?
Me gustaría saber de alguien que tenga un buen conocimiento de ambos y pueda recomendar cuál es un mejor punto de partida y por qué.
Algunos consejos para comenzar con el desarrollo de Silverlight
Bueno, depende de lo que va a estar trabajando. Si está trabajando en el cliente / servidor, entonces iría con WPF. Si está trabajando en un entorno en el que puede garantizar que .Net esté instalado en todas las máquinas, entonces también podría usar WPF, ya que puede usar lo que se denomina XBAP, que es una aplicación WPF que se ejecuta a través de el navegador.
Depende de ti. Sin embargo, afirmaría que Silverlight aún no es RTM, y WPF sí lo es. WPF tiene muchos libros sobre el tema, donde Silverlight no lo hace. Puede ser más fácil obtener todo el Zen de WPF leyendo algunos de esos libros, y luego sumergirse en el que quiera jugar con él.
Solo tenga en cuenta que Silverlight tiene un subconjunto de los controles de WPF, un .Net framework emparejado y no hace llamadas sincrónicas. Mientras lo sepa desde el principio, puede comenzar a aprender el núcleo de la base completa y adaptar su experiencia práctica más adelante a la tecnología que sea mejor para usted.
Comenzaría aprendiendo XAML, leyendo algunos tutoriales y jugando con XAMLPad. Esto te dará una idea de lo básico antes de crear una aplicación.
Comenzaría con WPF y haría muestras de familiarización de control muy simples. Tu objetivo debe ser aprender XAML y Binding. Entonces, si solo creas algunas aplicaciones básicas de la ventana WPF, se iniciará tu velocidad de aprendizaje. Entonces eventualmente puedes pasar a Silverlight. Sí, como se menciona aquí, Silverlight es un subconjunto de WPF.
Silverlight es una versión simplificada de WPF por lo que debería tener menos cosas que aprender dentro. Por otro lado, las dos plataformas tienen objetivos diferentes (cliente web y rico), así que supongo que depende de qué aplicación va a construir.
Si solo quieres aprender por ti mismo (no hay aplicaciones en un futuro cercano) escogería Silverlight porque sería menos de asimilar. Aún así, Silverlight es un objetivo móvil, mucho más que WPF, por lo que tendrás que mantenerte al día con algunos cambios (las alegrías de ser uno de los primeros en adoptar :)).
WPF tiene muchas más cosas que probablemente querrás usar en algún momento, pero yo esperaría a que surgieran primero las necesidades.
Todos los expertos de la industria que he escuchado en los podcasts, los blogs y las entrevistas recomiendan aprender Silverlight primero y luego mudarse gradualmente a WPF, que es un gran marco de interfaz de usuario.
Silverlight es liviano y le permite trabajar en un subconjunto más pequeño de controles y funciones, de modo que se familiarice con este nuevo paradigma de construcción de IU basado en
- Templating
- El enlace de datos
- Estilos
Actualización: 07/2011
Odio mencionar esto, pero en los últimos tiempos Microsoft se ha enfocado más en HTML5, Javascript y CSS al presentar las capacidades de IE 9 e IE 10, así como también el próximo Windows 8.
Cada vez más desarrolladores y CTOs son escépticos sobre Silverlight como una plataforma de aplicaciones LOB a medida que pasa el tiempo, sospechamos que Silverlight se limitará a Windows Phone y áreas de dominio, como salud de aplicaciones relacionadas con gráficos en lugar de una aplicación LOB regular.
Tal como parece ahora, a partir del verano de 2011, el futuro podría verse fragmentado con más oportunidades para tecnologías web puras (HTML5, JS y CSS) en comparación con un plugin y tecnología de interfaz de usuario específica del sistema operativo.
¡Diría que primero ve con Silverlight!
He programado con WPF y Silverlight antes.
Pero como Silverlight es un subconjunto de WPF, si profundizas demasiado e intentas pasar a la escritura de aplicaciones de Silverlight, estarás rascándote la cabeza buscando esa "etiqueta" que aprendiste a amar en WPF pero que no está disponible en Silverlight.
Cuando primero dominas las cosas básicas en Silverlight, las funciones adicionales de mecanismo / disparador / lo que sea en WPF simplemente se sumarán a la mayoría de lo que ya conoces.
Silverlight en WPF difiere en el nivel de características , no solo en algunos controles o animaciones faltantes. Tomemos el mecanismo de desencadenadores de WPF, por ejemplo, no está disponible por completo en Silverlight.
Entonces, al aprender el subconjunto más pequeño primero, puede ampliar ese conocimiento al conjunto completo más adelante, pero si comenzó en el conjunto completo y se vuelve adicto a algunas de las sutilezas disponibles, tendrá dificultades cuando alguien le pregunte a puerto sus aplicaciones WPF de uso diseñado para Silverlight.
Iré contra la corriente y digo aprende WPF primero.
Aquí está mi razonamiento:
Hay muchos más recursos disponibles para WPF que Silverlight, como libros, blogs y documentación de msdn.
No estás lidiando con un objetivo Beta, en movimiento
No tiene que lidiar con trabajar solo con llamadas asincrónicas
No está limitado por la falta de características como los diccionarios fusionados, desencadenantes, TileBrushes, etc.
No tiene que preocuparse por volver a aprender a hacer las cosas correctamente debido a la falta de funciones en SL