Principales respuestas
novato. ¿ que escojo, wpf, windows forms o uwp?

Pregunta
-
Hola, no se si hay un sitio donde saludar, asi que me presento, es mi primera vez aquí i aun no se muy bien por donde ir
HAce un puñado de años, prove a iniciarme en visual studio, (anteriormente he programado en turbopascal y Delphi, pero nada potente, solo OOP básica) si no recuerdo mal era el 2010, tuve que escoger entre aplicaciones de consola o pantallas de windows, fácil elección
Ahora que vuelvo a la carga, me encuentro con la gran cantidad de elecciones y tecnologias nuevas que existen, y me resulta complicado escoger correctamente
Quiero hacer una aplicación en C#, para ir probando, tipo ventanas de windows (uso windows 10 )
He visto que ahora, si no me he liado, tengo 3 caminos para escoger por donde empezar
- universal windows platform
- windows forms
- wfp que creo es algo como windows foundation platform
- incluso creo que hay otro que es windows team noseque
Si me haceis el favor, explicadme un poco que es cada una, si lo he dicho bien, y cual seria la adecuada para hacer un programa que trabaje en windows 10, con acceso a base de datos local para muchísimos datos, millones, pero son solo números, tal vez también palabras , que solo necesite acceder a algún dato de alguna web solo esporádicamente
Perdonad el rollo pero es la primera vez y aun no tengo nada claro
Merci
- Editado thoruk miércoles, 21 de febrero de 2018 20:52
Respuestas
-
Windows Forms es "la de siempre". Una tecnología sólidamente establecida y muy bien probada y conocida. Probablemente la más sencilla de aprender y utilizar para lo que quieres. Pero si la consideras "anticuada", tienes alternativas más modernas:
WPF (Windows Presentation Foundation) es el siguiente paso después de Windows Forms. Utiliza un diseño basado en lenguaje XAML y luego le conecta código por detrás. Requiere aprender el XAML, además del C#. Permite efectos gráficos mucho más potentes que lo que se puede conseguir en WinForms, y si quieres utilizar los vínculos de datos, también son más potentes que los de WinForms. Pero todo ello es a costa de una curva de aprendizaje mucho más empinada.
UWP es el "Universal Windows Platform". Sirve para crear las aplicaciones estilo "tableta" que se introdujeron con Windows 8. Tiene la ventaja de que si se hacen bien son compatibles con otras plataformas tales como XBox y Windows Mobile. Y el inconveniente de que tienen esa estética "moderna" que a muchos no les gusta, y que da la sensación de que la funcionalidad es mucho más restringida, como si no aprovecharan bien las pantallas modernas de gran tamaño y alta resolución. Las APIs que utilizan son distintas, por lo que si ya te habías acostumbrado al Framework tendrás que reeducarte. También se basan en XAML, como las de WPF.
- Propuesto como respuesta Pablo RubioModerator miércoles, 21 de febrero de 2018 22:10
- Marcado como respuesta Pablo RubioModerator domingo, 25 de febrero de 2018 1:09
Todas las respuestas
-
Windows Forms es "la de siempre". Una tecnología sólidamente establecida y muy bien probada y conocida. Probablemente la más sencilla de aprender y utilizar para lo que quieres. Pero si la consideras "anticuada", tienes alternativas más modernas:
WPF (Windows Presentation Foundation) es el siguiente paso después de Windows Forms. Utiliza un diseño basado en lenguaje XAML y luego le conecta código por detrás. Requiere aprender el XAML, además del C#. Permite efectos gráficos mucho más potentes que lo que se puede conseguir en WinForms, y si quieres utilizar los vínculos de datos, también son más potentes que los de WinForms. Pero todo ello es a costa de una curva de aprendizaje mucho más empinada.
UWP es el "Universal Windows Platform". Sirve para crear las aplicaciones estilo "tableta" que se introdujeron con Windows 8. Tiene la ventaja de que si se hacen bien son compatibles con otras plataformas tales como XBox y Windows Mobile. Y el inconveniente de que tienen esa estética "moderna" que a muchos no les gusta, y que da la sensación de que la funcionalidad es mucho más restringida, como si no aprovecharan bien las pantallas modernas de gran tamaño y alta resolución. Las APIs que utilizan son distintas, por lo que si ya te habías acostumbrado al Framework tendrás que reeducarte. También se basan en XAML, como las de WPF.
- Propuesto como respuesta Pablo RubioModerator miércoles, 21 de febrero de 2018 22:10
- Marcado como respuesta Pablo RubioModerator domingo, 25 de febrero de 2018 1:09
-
si fuera yo empezaria por C# y visual studio, por que? con C# puedes programar en asp.net y tambien utilizando xamarin para aplicaciones moviles, asi que con C# y Visual studio matas varios pajaros de un solo tiro, ademas un poco de html para utilizarlo en asp.net seria bueno tambien, lo que si te voy aconsejar es que no trates de aprender muchas cosas a la vez por que no vas aprender nada al menos que no seas un genio que es possible que lo seas, dtb y mucho exito
-
hola
>>cual seria la adecuada para hacer un programa que trabaje en windows 10, con acceso a base de datos local para muchísimos datos
si es algo simple y no quieres ponete aprender algo nuevo usa Winforms te sera mas simple
ahora bien si quieres aprender algo nuevo aplica WPF, el tema es que este para ahcelro bien requiere de aplicar el patron MVVM, lo cual si recien empizas puede resultar algo complicado
la eelccion depende de cuanto quieras invertir en tiempo
el tema del volumen no deberia afectar porque se supone que filtras y paginas los datos, NUNCA muentras miles de datos en pantalla
UWP aplicaria si el requerimiento son distintos dispositivos que eejcuten win10
Introduction to UWP app design
es mas hasta tienes una opcion mas que seria Xamarin, si quieres desarrollar mobile
en resumen solo dos opciones winform o wpf, depende de si tienes el tiempo de aprender algo nuevo o no
saludos
Leandro Tuttini
Blog
MVP Profile
Buenos Aires
Argentina -
vaya, gracias por ayudarme a ver
Alberto, me lo has explicado muy bien, si puedes rematame esto
- si programo en c#, ¿Cómo cabe el XAML?, se hacen modulos a parte o se mezcla en el mismo archivo, etc
- puedes darme un ejemplo de que efectos graficos mucho mas potentes?
Efrain, si, voy a empezar con c#, ya esta decidido, lo de xamarin me queda aun lejos
Leandro, gracias, aunque lo que muestre en pantalla no es mucho, el tamaño de la base de datos si es
muy muy grande, millones de lineas, aunque de pocos datos cada posicion, varios números sueltos, entre 9 y tal vez 40 y seguramente algunas palabras
- si puedes dime si el sql que debería utilizar en windows forms o en WPF lo soportaría
y muchas gracias a todos, me lo habéis dibujado de maravilla
-
Alberto, otra duda si utilizo WPF
- ¿la programacion en c# es igual, toda la sintaxis, etc como si programara en winforms, pero añadiendo
todo lo que puede hacer WPF y XAML, o es diferente? ( yo creo que utilizara todo igual lo de NET supongo )
merci
-
- si programo en c#, ¿Cómo cabe el XAML?, se hacen modulos a parte o se mezcla en el mismo archivo, etc
De forma predeterminada, por cada formulario que añades te queda un fichero tal como "Formulario1.xaml" y otro llamado "Formulario1.xaml.cs". En el .xaml pones el diseño, y en el .xaml.cs pones el C# asociado a ese XAML.
puedes darme un ejemplo de que efectos graficos mucho mas potentes?
Por ejemplo añadiendo unos pocos tags en el XAML, y sin tener que programar nada en C#, puedes hacer que al pasar el ratón por encima de un botón éste cambie de color y de tamaño, o incluso de estética. Puedes hacer, transiciones, animaciones, rotaciones, zoom, etc., y esto funciona con cualquiera de los controles, no solo con gráficos. Tienes el ViewPort3D para hacer gráficos tridimensionales, tienes un reproductor de medios que podría mostrar un vídeo, a la vez que lo "pegas" en una cara de un cubo y el cubo rota en tres dimensiones...
Para lo que comentas de la base de datos, puedes usar SQL Server. Millones de registros no es una base muy muy grande; si me hablaras de miles de millones ya empezaríamos a tener que afinar un poco, pero millones se los traga sin dificultad incluso la versión Express en un PC corrientito, no digamos ya una versión grande en un servidor potente.
-
¿la programacion en c# es igual, toda la sintaxis, etc como si programara en winforms, pero añadiendo todo lo que puede hacer WPF y XAML, o es diferente?