WPF/windows form/C#.net diferencias y dudas generales

Iniciado por markitus90, 16 Febrero 2013, 08:40 AM

0 Miembros y 1 Visitante están viendo este tema.

markitus90

Hola amigos,
Tengo varias dudas porque hasta ahora solo havia programado windows forms, pero he estado mirando WPF y parece interesante. Me gustaria que alguien me explicara un poco la diferencia entre uno y otro.

Tambien me gustaria saber si con Visual basic (programa) es possible hacer algun proyecto que no requiera necesariamente la instalacion de las librerias .net en caso que no las encuentre. Osea un programa independiente.

Una ultima cosa, para hacer un juego, que luego este enfocado a trabajar en un server con una parte cliente y otra servidor, (por ejemplo un sudoku en linia entre dos usuarios), me recomiendan .net o sino que tipo de lenguaje?????

Por cierto otra cosa C# que tipo de ventaja tiene de forma general respecto a visual basic?? Se puede considerar mejor osea con mas posibilidades???

Pido perdon si son muchas preguntas  :o :o :o Cada uno responda a la que sepa, y perdonad pero todavia soy noob  :silbar: :silbar: :silbar: :silbar:...

Os agradezco a todos y os felicito por el foro  :D :D :D

Gracias por adelantado
Marco Aurelio

spiritdead

Cita de: markitus90 en 16 Febrero 2013, 08:40 AM
Hola amigos,
Tengo varias dudas porque hasta ahora solo havia programado windows forms, pero he estado mirando WPF y parece interesante. Me gustaria que alguien me explicara un poco la diferencia entre uno y otro.

Tambien me gustaria saber si con Visual basic (programa) es possible hacer algun proyecto que no requiera necesariamente la instalacion de las librerias .net en caso que no las encuentre. Osea un programa independiente.

Una ultima cosa, para hacer un juego, que luego este enfocado a trabajar en un server con una parte cliente y otra servidor, (por ejemplo un sudoku en linia entre dos usuarios), me recomiendan .net o sino que tipo de lenguaje?????

Os agradezco a todos y os felicito por el foro  :D :D :D


Marco Aurelio

todo proyecto hecho con visual c++, c#,vbnet,etc

desarrollados en visual basic,studio,etc

si mal no calculo creo q si o si debe tener framework, no estoy seguro
Facilitador De Tareas - Task Simplifier (FDT)

Eleкtro

La mayor diferencia es que Windowsform está obsoleto, por obsoleto quiero decir que, Microsoft ya no añade ni añadirá nuevas funcionalidades ni nada y no da soporte, en cambio en WPF sí, está en continuo desarrollo en cada versión de VisualStudio.

Lo que deberías hacer es empezar un proyecto en WF, y luego otro en WPF, sólo para mirar POR ENCIMA las diferencias, porque te aseguro las diferencias visuales saltan a la vista, y las diferencias de las propiedades, es impresionante WPF.

Yo he tocado WPF un poco (sólo para hacer un programa) y lo del XML no es tán dificil como dicen algunos (ya que siempre está la solución en Google xD).


te he aportado poco, porque no soy un experto en .NET, pero algo es algo,
un saludo!








markitus90

Entiendo lo que me dices y me sirvio de mucho para irme adaptando a lo nuevo, pero lo veo bastante complicado....Bueno de hecho no he estudiado XML todavia xD.

Doy por hecho que tu trabajas con WF n?

Que piensas de lo ultimo de si se puede hacer un proyecto en visual basic que no necesite instalar  las librerias .net de internet en caso de no teneralas¿?

Y una cosa, dices uqe eres experto en .net pero WPF trabaja en .net no¿?

Gracias y saludos  ::) ::) ::) ::)

CitarPublicado por: EleKtro H@cker
Insertar Cita
La mayor diferencia es que Windowsform está obsoleto, por obsoleto quiero decir que, Microsoft ya no añade ni añadirá nuevas funcionalidades ni nada y no da soporte, en cambio en WPF sí, está en continuo desarrollo en cada versión de VisualStudio.

Lo que deberías hacer es empezar un proyecto en WF, y luego otro en WPF, sólo para mirar POR ENCIMA las diferencias, porque te aseguro las diferencias visuales saltan a la vista, y las diferencias de las propiedades, es impresionante WPF.

Yo he tocado WPF un poco (sólo para hacer un programa) y lo del XML no es tán dificil como dicen algunos (ya que siempre está la solución en Google xD).


te he aportado poco, porque no soy un experto en .NET, pero algo es algo,
un saludo!

Eleкtro

#4
Cita de: markitus90 en 16 Febrero 2013, 11:01 AMQue piensas de lo ultimo de si se puede hacer un proyecto en visual basic que no necesite instalar  las librerias .net de internet en caso de no teneralas¿?
Eso es como intentar ejecutar un script sin el intérprete del lenguaje,
Desarrollas software con las clases y métodos de Framework, por ende necesitas disponer de Framework.

Cita de: markitus90 en 16 Febrero 2013, 11:01 AMY una cosa, dices uqe eres experto en .net pero WPF trabaja en .net no¿?
No porfavor, lee bien lo que dije (no soy un experto en .NET), lo llevo aprendiendo sólo unos meses.

WPF trabaja sobre .NET, si, claro, igual que C# xD
Léete estos comentarios, te será un poco de ayuda para entender la relación entre C# <> Framework : http://stackoverflow.com/questions/551554/can-you-compile-c-sharp-so-it-doesnt-need-the-net-framework-at-runtime
Edito: Y esto: http://msdn.microsoft.com/en-us/library/z1zx9t92.aspx


un saludo!








Keyen Night

#5
Todos los lenguajes de Visual Studio necesitan Framework, el WinForms, es más que todo para hacer aplicaciones que no requieran casi apoyo visual o interfaces muy llamativas, sino simplemente una funcionalidad y una UI sencilla. Todos los días al menos en un foro de programación preguntan que diferencias hay entre C# y Vb.Net, y la verdad es que ninguna, salvo la sintaxis, no se porque todos piensan que C# es mejor, que tenga una sintaxis más robusta no quiere decir que sea mejor que Vb.Net, usan ambos el Framework y terminan ambos en MSIL:

http://msdn.microsoft.com/es-es/library/bb972208.aspx

Y por ultimo el WPF cuyo lenguaje es XAML, es el lenguaje del diseño esta especializado en el diseño de interfaces extremadamente gráficas, para el usuario, donde el GDI+ sobrepasa por mucho al de WinForms. Además es multi-plataforma entre los sistemas de Microsoft, te permite usar la misma lógica para muchas interfaces a través de MVVM.

Y con respecto a el proyecto del juego, si quieres enfocarte mucho en el diseño tu lenguaje es XAML en WPF, igualmente este lenguaje es solamente descriptivo la lógica se hace igualmente en un lenguaje de tu preferencia C# o Vb.net, pero si solo quieres hacer algo simple puedes elegir entre C# o Vb.Net en WinForms.
La Fé Mueve Montañas...
                                    ...De Dinero

La programación es más que un trabajo es más que un hobby es una pasión...

markitus90

Me ha parecido muy interessante tu aportación y aclaradora. Creo que tendre que buscar algun lenguaje que no dependa tanto de framework.....
Gracias infinitas..


CitarTodos los lenguajes de Visual Studio necesitan Framework, el WinForms, es más que todo para hacer aplicaciones que no requieran casi apoyo visual o interfaces muy llamativas, sino simplemente una funcionalidad y una UI sencilla. Todos los días al menos en un foro de programación preguntan que diferencias hay entre C# y Vb.Net, y la verdad es que ninguna, salvo la sintaxis, no se porque todos piensan que C# es mejor, que tenga una sintaxis más robusta no quiere decir que sea mejor que Vb.Net, usan ambos el Framework y terminan ambos en MSIL:

http://msdn.microsoft.com/es-es/library/bb972208.aspx

Y por ultimo el WPF cuyo lenguaje es XAML, es el lenguaje del diseño esta especializado en el diseño de interfaces extremadamente gráficas, para el usuario, donde el GDI+ sobrepasa por mucho al de WinForms. Además es multi-plataforma entre los sistemas de Microsoft, te permite usar la misma lógica para muchas interfaces a través de MVVM.

Y con respecto a el proyecto del juego, si quieres enfocarte mucho en el diseño tu lenguaje es XAML en WPF, igualmente este lenguaje es solamente descriptivo la lógica se hace igualmente en un lenguaje de tu preferencia C# o Vb.net, pero si solo quieres hacer algo simple puedes elegir entre C# o Vb.Net en WinForms.

USLO

#7
Hola Makrkitus,

Te cuento mi experiencia como programador y luego tu decides.
Empece como programador de VB.net,tambien vb6.y Asp(vb)
Despues de 4 años con vb tuve que ponerme a buscar trabajo en otro sitio.
Cuantas ofertas de trabajo hay para c# y cuantas para vb.net?
Hay el doble de ofertas de c#.Por lo demás, es muy parecido.

Asi que desde entonces no he parado con c#.

No te preocupes tanto por los frameworks , los framewroks son siempre bienvenidos porque los sistemas operativos y arquitecturas de dispositivos son diferentes, por lo que necesitas un lenguaje de programacion que sea multiplataforma.
c# es multiplataforma dependiendo de que frameworks utilices.(monodevelop(multiplataforma), .net , Unity(multiplataforma)).

Si no te gustan las ultimas siempre puedes ir a por java(multiplataforma).
Muy parecido a c#.

Un saludo.




Se me olvido comentarte que , ahora piden mucho que sepas programar en MVC.
saludos




[MOD]: No hagas doble post

Meta

Hola:

Por ahora me gusta mucho más acr interfaz para electónica y PIC o Arduino con Windows Form que el WPF. Lo qu eme gusta del WPF es la estética. Aún le queda mucho por hacer WPF si quiere estar a la altura en muchas cosas que aún no lo han incluido. Fíjate tu que la mayoría están usando Windows Form por todas partes.

LA barra de progress Bar de Windows Form no se le puede cambiar el color facilmente en las propiedades y en WPF lo haces directamente de forma muy fácil, esos detalles no entiendo a estas altura de la vida que no lo hayan progrmado así.

He oído que Windows Form Microsoft lo medi avandonó. Una lástima, me encanta más que el WPF en muchos aspectos.

Saludos.
Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/

Eleкtro

#9
@Meta                                                                                                              
Antes de nada ..¿te diste cuenta que el post es del año 2013?, las reglas... :P


Cita de: Meta en  4 Marzo 2016, 03:51 AMAún le queda mucho por hacer WPF si quiere estar a la altura en muchas cosas que aún no lo han incluido.

Es una equivocación pensar de ese modo, puesto que es precisamente todo lo contrario.

Entre WinForms y WPF no hay punto de comparación, siendo WPF una tecnología sucesora, superior, y mucho más completa en cualquier sentido.

Como tú ya sabrás por haber experimentado en .Net, el desarrollo en WPF requiere conocimientos de dos lenguajes (Vb.Net/C#/C++/F# + Xaml, como mínimo) y así mismo su utilización implica una perspectiva y estructura de programación que es incompatible para un programador y un programa de WinForms, la responsabilidad u obligación de separar el modelo de datos, de la UI.




Cita de: Meta en  4 Marzo 2016, 03:51 AMFíjate tu que la mayoría están usando Windows Form por todas partes.

El motivo por el cual WinForms se utilice mucho más (o que al menos nosotros tengamos esa sensación) es por que es mucho menos complejo y a la gente le gusta obtener buenos resultados de la forma mas sencilla posible, lo cierto es que WinForms está condenado (o favorecido, según se mire) a convertirse en lo que hoy dia podemos ver que le ha pasado a VB6, puesto que, generalizando, las personas somos vagas y nos conformamos con la mediocridad, así de simple.

@Meta, por si no lo sabes, puedes hospedar controles de WPF en tu UI de WinForms si esa es la UI que prefieres, yo lo hice una vez por experimentar ...resulta curioso (aunque no productivo, acabé echo un lio para ser sinceros), pero no se cuan limitado estará esta integración de compatibilidad de WPF para WindowsForms. De la misma manera WPF proporciona un mecanismo para hospedar un control Win32 en la UI WPF. Si quires probar, en el toolbox de WinForms, en la sección de "WPF Interoperability" encontrarás el "ElementHost", en WPF es "ControlHost" si no me equivoco.




Cita de: Meta en  4 Marzo 2016, 03:51 AMLA barra de progress Bar de Windows Form no se le puede cambiar el color facilmente en las propiedades y en WPF lo haces directamente de forma muy fácil, esos detalles no entiendo a estas altura de la vida que no lo hayan progrmado así.

WinForms fue la primera tecnología de interfáz de usuario para el desarrollo en .Net, de eso hace muchos años ya, mientras que WPF es una tecnología actual y en constante actualización con la implementación de nuevas características y facilidades en general, esto de por si ya es una gran razón por la cual existe una enorme diferencia siendo WPF mucho más flexible que WinForms en aspectos de personalización de la interfáz de usuario, pero otro motivo muy importante a tener en cuenta es que WinForms no es más que una serie de librerías que actuan como un wrapper abstracto de la API de Win32 para dibujar las ventanas de los controles, WinForms está basado en Win32, mientras que WPF no, el concepto es muy distinto, sobre todo las capacidades de su motor GDI+ con el uso de DirectX y Direct3D para renderizar los estilos visuales desde el Xaml, que no se exactamente como funciona el dibujado de los elementos, ya que no he profundizado nunca en WPF y/o en sus internals, pero graficamente hablando es muy distinto y superior.

WPF es simplemente mejor, y mucho más potente en todos los sentidos que se nos pueda imaginar, pero eso implica un nivel de dificultad superior en su comprensión y en su utilización comparado con el manejo de Windows Forms.




Cita de: Meta en  4 Marzo 2016, 03:51 AMHe oído que Windows Form Microsoft lo medi avandonó.

Efectivamente, según palabras de Microsoft, manifestaron que WinForms es un proyecto descontinuado, el cual se ha quedado en modo mantenimiento, sin intención de incluir nuevas características. Como le pasó al Windows XP, seguramente se limitarán a corregir posibles bugs ...y ya está, hasta que un buen dia comuniquen oficialmente que lo han abandonado por completo y se considere un lenguaje deprecado como VB6, y eso en parte quiere decir que aun le quedan unas varias décadas de vida a WinForms !! ...a pesar de no haber cosas nuevas.

Saludos!