Ver Mensaje Individual
  #13  
Antiguo 21-09-2007
Avatar de mamcx
mamcx mamcx is online now
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.917
Reputación: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Varias cosas:

- Con todo respeto al usuario que arranco el hilo, fue una terrible apuesta darle a Winforms. Primero, hace *años* que se sabia que MS lo hiba a anular -o en una expresion politicamente mas correcta, lo hiba poner "deprecated" o seria un api inferior y sin mucho futuro- en favor de avalon/wpf. Segundo, Winforms es super-lento. Lento con lentitud abismal. Es un API que carece cualquier optimizacion via hardware - lease mi tarjeta grafica nvidia quadro fx 1500 con sus 256 de ram, una profesional que renderea del carajo y soporta resoluciones brutales, sirve para 3 cosas con winforms: Nada, nada y adorno. Para .net 1.1 y cuasi-2.0 solo habian 2 rutas para una gui con desempeño: La manged direct x api y tirar puro pinvoke .... y la vcl.net. Por eso, nada, nadita, en vista fue con winforms - y si lo recuerdan lo que se estaba haciendo en winforms de cliente se cancelo en las primeras alphas, y no fue por el asunto de la memoria, fue desempeño visual-

El asunto es que era *totalmente* claro desde el principio que era una ruta sin futuro. Y de principio me acuerdo que fue cuando arranque con este rollo del .NET - beta 1, algo asi-. Eso es como 3 años ya?

Ahora, desde la version 3.0 - perdon, la mismita 2.0 con librerias adicionales - todo es http://www.microsoft.com/spanish/msd...ducingwpf.mspx.

- CodeGear anulo el soporte a Winforms porque:

1. Como aclare, era un api sin futuro. Desde hace ya 2 años MS habia especificado que el soporte que daria era poder embeer winforms en avalon. O sea, parecido a los activex. Les suena una idea agradable?

2. MS, perdon, el equipo de VS.NET tiene *adueñado* el asunto de los designers graficos, primero de la Compact framework (desde VS 2002) y luego de Winforms (a partir de VS 2005), lo raro es que el equipo de .NET - entiendase, MS tiene varis paises bajo su confederacion que tienen actitudes diferentes - detesta esa actitud y por eso tienen todo el API del sdk lo mas completo posible, pero por politica se decidio que los designer era de VS.

Eso quiere decir que NADIE QUE CREE UN IDE COMPETIDOR puede usar esos designers porque el sdk de .net no los tiene. Ante la disyuntiva y luego que fue claro con el asunto del CF que el equipo de VS.NET lo hiba a soltar -por eso es que ni SharDevelop ni CodeGear ni nadie, ni siquiera RemObjects tienen designers para CF- codegear vio dos caminos:

- O replica los designers, de los cuales el unico con futuro seria el del CF
- O los tira al olvido, y sigue de frente con la vcl.net y le da mas fuerza a que sea portable entre los distintos ambientes, que es lo que estan haciendo (que seria una cosa analoga con respecto a la MFC)

Con respecto a WPF, que si le dan una mirada veran que *si* es algo revolucionario, ya que es un lenguaje XML no hay riesgo de quedar con burro amarrado. CodeGear ya aclaro que hara que la VCL.NET tenga la opcion de correr sobre WPF en el futuro para salvar otra vez al mundo de otro cambio de API sin necesidad., y lo digo, porque desde las betas de .NET 1.0 ya se sabia como seria el asunto de la WPF.

En total:

- Winforms estaba muerto antes de nacer
- VCL.NET sera la misma VCL, es mas rapida, esta mas probada
- Avalon/WPF es el futuro en .NET, y tiene menos riesgo de volverse obsoleto en los siguientes 2-3 años. Por lo menos el lenguaje es mas portable
- Si es hacer aplicaciones GUI, a menos que sean internas, es bobada hacerlas en Winforms. Y de hacerlas en WPF, hay que tener en cuenta que es un API que sirve si hay aceleradora grafica porque esta basado en DirectX. Afortunadamente, DirectX es una cosa bien hecha. Desafortunadamente, tiene que ser directX muy nuevo - no recuerdo si es la 10 o con la 9????-

Esa es la razon mis señores, por las que todo el mundo que tiraba a .NET lo hacia hacia ASP.NET o servicios web, y se dejaba los proyectos con GUI para aplicaciones internas. Hay que meterse en la cabeza y a palazos que .NET es un Java, y al igual que fue una perdida de tiempo darle a Java/Gui al incio, igual fue con .NET.
__________________
El malabarista.
Responder Con Cita