none
novato. ¿ que escojo, wpf, windows forms o uwp? RRS feed

  • 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
    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.

    miércoles, 21 de febrero de 2018 21:44

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.

    miércoles, 21 de febrero de 2018 21:44
  • 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
    jueves, 22 de febrero de 2018 15:55
  • 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

    jueves, 22 de febrero de 2018 18:59
  • 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 

    jueves, 22 de febrero de 2018 21:44
  • 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

    jueves, 22 de febrero de 2018 21:55
  • - 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.

    jueves, 22 de febrero de 2018 22:03
  •  ¿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?

    En cuanto a lo que es el lenguaje C#, es exactamente igual, el lenguaje no cambia. Las llamadas al Framework de .Net también son las mismas (por ejemplo, para leer un fichero, hacer comunicaciones, etc.) Lo que sí cambia es el modo de acceder a la "pantalla", es decir, los controles son distintos y tienen diferentes propiedades, eventos y comportamiento. Por poner un simple ejemplo, la mayoría de los eventos reciben un argumento que hereda de RoutedEventArgs en lugar de EventArgs, y su comportamiento es un poco distinto porque "burbujean" y se propagan a los contenedores (igual que en html) en lugar de limitarse al control en el que se produjo el evento (como en winforms).
    viernes, 23 de febrero de 2018 6:53