Componentes

La mítica 'Vista Application'

La mítica prueba de BTT por etapas VolCAT a vista de pájaro

La mítica prueba de BTT por etapas VolCAT a vista de pájaro
Anonim

Amo a los analistas Ya sea para predecir la próxima gran cosa del futuro o para poner fin al patrón de la industria de ayer, los analistas nunca se quedan sin nuevas formas de equivocarse.

Caso práctico: Windows Vista y la "brecha de la aplicación". Según Evans Data Corporation (EDC) , menos del 10 por ciento de los desarrolladores están escribiendo para el estado actual de la tecnología de Microsoft. La mayoría (49 por ciento) todavía escriben para XP, mientras que un contingente pequeño, pero creciente, (13 por ciento) se enfoca en Linux. Mientras tanto, la gran cantidad de medios de comunicación continúan desacreditando la falta de nuevas aplicaciones de Vista. "Es el sistema operativo que nadie quiere", dicen, y los desarrolladores están "reaccionando en consecuencia".

Por supuesto, están equivocados. De nuevo.

[Más información: nuestros mejores trucos, sugerencias y ajustes de Windows 10]

Verá, no existe una aplicación de Vista. Al igual que no hay tal cosa como una aplicación de XP. O una aplicación de Windows 2000. Los desarrolladores que escriben para Windows rara vez se dirigen a una versión específica. Por el contrario, seleccionan un marco API particular, por ejemplo, MFC / ATL o.Net, y proceden de allí. Si la aplicación resultante se ejecuta o no en una versión determinada de Windows depende de las extensiones de API específicas de la versión, si las hay, que el desarrollador emplea en su proyecto.

Para la mayoría de los tipos de aplicaciones, no es necesario. Usan el genérico Funciones de API, que les permite ejecutar cualquier versión de Windows que admita ese marco. Y dado que Microsoft hace un buen trabajo de back-porting nuevos frameworks a sus plataformas heredadas de SO, los desarrolladores rara vez tienen que elegir entre una funcionalidad rica de API o una amplia base instalada (la notable excepción son los desarrolladores de videojuegos, para quienes aprovechar DirectX 10 significa comprometerse con Vista).

Por lo tanto, todo el argumento de la "brecha de la aplicación" de Vista es un poco descabellado. La verdadera pregunta debería ser: ¿Por qué los desarrolladores no aprovechan las diversas iteraciones de.Net Framework? Como atestiguará cualquiera que siga el mapa de ruta de desarrollo de Microsoft, la mayor parte de la evolución de API de vanguardia de la compañía se está llevando a cabo dentro de.Net. De hecho, cuando los "expertos" hablan sobre nuevos recursos programáticos en Vista: Windows Presentation Foundation (WPF), Windows Communication Foundation (WCF), etc., realmente están hablando sobre.Net framework 3.0. Y dado que.Net 3.0 está disponible en plataformas de nivel inferior (como Windows XP), el argumento gira en torno a la cuestión de la aceptación de.Net entre los desarrolladores, y por qué lo han rechazado (hasta ahora).

la respuesta es doble: en primer lugar, a los desarrolladores no les gusta apuntar a las API que no están ampliamente disponibles en la base instalada. A pesar del soporte agresivo de Microsoft para las versiones de nivel inferior, todavía hay una gran diferencia entre "disponible" y "disponible después de descargar 20MB-plus de bibliotecas complejas y tenerlas instaladas en varias partes de su sistema". El hecho es que.Net no se envía como parte de Windows XP, y eso significa que los desarrolladores deben convencer a los usuarios de que primero instalen la versión requerida de.Net Framework antes de que puedan instalar un software, no siempre es fácil de vender, especialmente en el mundo cerrado de TI empresarial.

Como el primer sistema operativo que se envía con.Net Framework instalado por defecto, se suponía que Vista alentaría el desarrollo de aplicaciones.Net 3.0. Sin embargo, dado que también es compatible con las antiguas aplicaciones heredadas Win32, COM, ATL, MFC y.NET, no hay una verdadera escasez de programas Vista. De hecho, a menos que solo tenga que tener la última y mejor funcionalidad de marco WPF / WCF, hay poco que lo motive a usted, el desarrollador, a dar el salto a.Net 3.0 o incluso 2.0. Suponiendo que no se encuentre con el mecanismo de Control de cuentas de usuario (UAC), su aplicación Windows "heredada" probablemente se vea y funcione de maravilla en Vista tal como está. Lo sé, porque ese fue el caso con mi propio código: algunos ajustes para acomodar UAC (principalmente desplazando algunos archivos temporales de las estructuras de directorio recién protegidas) y mis aplicaciones y servicios se ejecutaban como champs bajo Vista, como lo hacen bajo Windows XP, Server 2003 y Windows 2000. ¿Por qué arreglarlo cuando no está roto?

La segunda razón por la que los desarrolladores han evitado.Net es que es lenta. Muchas funciones comunes simplemente toman más tiempo en.Net, lo que obliga a los desarrolladores a elegir entre la sofisticación API y el rendimiento sin procesar. No es sorprendente que la mayoría de los desarrolladores elijan este último, como me obligaron a hacer cuando descubrí que el equivalente.Net de Performance Data Helper (PDH) no era utilizable para el muestreo en tiempo real de los datos del contador de rendimiento de Windows. Como resultado, me veo obligado a mantener una base de código Visual Studio 6 que envejece (alrededor de 1997) mientras espero a que Microsoft simplifique finalmente.Net hasta un punto en que sea una alternativa viable. Es una historia antigua y demasiado común entre los desarrolladores de Windows.

Conclusión: cuando los analistas (y sus cómplices de los medios) condenan la falta de "aplicaciones de Vista", simplemente proclaman su propia ignorancia.

Supongo que es una Lo de Mac: Muchos de mis contemporáneos se han visto atrapados en el campo de la distorsión de la realidad, por lo que la idea de un vínculo entre la funcionalidad API y la versión del sistema operativo se ha convertido en una parte aceptada de la sabiduría convencional. Es un error honesto, que iguala el arcaico mosaico de dependencias de versiones de Apple con la expansión de la API imperfecta, pero mucho más flexible.

Demasiada fruta te hará eso.