Gracias al extenso trabajo de compatibilidad, Windows 10 ejecutará aplicaciones diseñadas para casi todas las versiones de Windows, a pesar de los cambios significativos en el interior del sistema operativo. Un esfuerzo de cinco años que comenzó en 2003 solo para documentar todas las llamadas, interfaces, bibliotecas y servicios internos del sistema en Windows ha llevado al muy mal entendido MinWin: no es un nuevo sistema operativo, sino una nueva línea divisoria dentro del sistema operativo para realmente bajo. funcionalidad de nivel como los conceptos básicos del kernel y del sistema de archivos, conectividad de red, controladores y otros servicios básicos del sistema.

Esta demarcación facilitó el desarrollo del sistema operativo sin romper las dependencias de las aplicaciones que se ejecutan en Windows (o para partes del propio Windows). Desde entonces, Windows ha tenido nuevos SDK, nuevas API y nuevos modelos de aplicaciones como UWP, y mucha confusión sobre cómo se suponía que sería el futuro de las aplicaciones de Windows; nada de eso ayudó con los términos siempre cambiantes que se usan para describir ellos (Metro, 'moderno', WinRT, Windows Runtime, Store, UWP).

VER: Windows 10: una hoja de trucos (República Tecnológica)

Algunas funciones nuevas de Windows, como Share Charm, Geolocalización o Aprendizaje automático integrado, solo estaban disponibles para las aplicaciones creadas con las nuevas API de Windows Runtime. por lo que puede compartir una página web desde el navegador Edge a OneNote para Windows o la aplicación de correo, pero necesita la extensión OneNote Web Clipper o la aplicación de integración de escritorio de Office Outlook para enviar la página al escritorio de OneNote o Outlook.

Otros controles y API permanecieron en las API y el SDK de Win32. Parte de la falta de funcionalidad se debió simplemente a que tomó tiempo volver a desarrollar las API para una nueva plataforma de aplicaciones, y muchas API ahora están disponibles en los espacios de nombres Win32 y Windows Runtime.

Algunos de ellos fueron diseñados para una mayor seguridad, duración de la batería y control del usuario: se ejecutan en una zona de pruebas, limitan los archivos y carpetas accesibles, evitan que el código se ejecute en segundo plano y aplican una desinstalación completa con un solo clic. Y algunas eran API más antiguas que aún funcionaban pero que no se incorporaron a la nueva plataforma porque están obsoletas.

Los beneficios de la nueva plataforma de aplicaciones de Windows para los usuarios significaron más trabajo y complejidad para los desarrolladores, incluso con múltiples iniciativas, como el puente de escritorio Project Centennial para volver a empaquetar las aplicaciones Win32 para la Tienda y mover .NET para desacoplar las API y compilaciones de nuevas versiones de Ventanas. El nuevo instalador de MSIX brinda a las aplicaciones Win32 un modelo de administración de aplicaciones que se parece más a UWP, con actualizaciones administradas que los usuarios no tienen que hacer manualmente y una experiencia de desinstalación más limpia. MSIX también permite a los desarrolladores ejecutar un proceso de UWP con una aplicación de escritorio para acceder a las API, como convertirse en un objetivo compartido: así es como Outlook puede aparecer como una de las aplicaciones que puede compartir desde Edge.

Los desarrolladores pueden llamar a muchas API de Windows Runtime en Windows Forms y aplicaciones de escritorio Win32, como agregar notificaciones de brindis que se muestran en el Centro de actividades o usar la compatibilidad con impresoras 3D integradas. Si quieren usar controles de interfaz UWP como Maps y Ink, o el nuevo diseño Fluent, en aplicaciones Win32, pueden hacerlo en Windows 10 1903 y versiones posteriores con islas XAML.

El desacoplamiento de la interfaz de usuario basada en XAML de las aplicaciones para UWP de UWP con las islas XAML se ha convertido en un enfoque mucho más ambicioso para WinUI: los componentes y controles de la interfaz de usuario en Windows ahora están separados del SDK de Windows y del propio Windows 10. Como Kevin Gallo, CVP de Windows Developer Platform, explicó durante Build 2020, Microsoft pasa por las llamadas API, incluidas las API privadas, "desenredándolas y, en algunos casos, eliminando subsistemas completos" para que funcionen en más lugares.

WinUI 3.0 es un proyecto de código abierto que incluirá versiones de controles de interfaz de usuario de Windows 10 que funcionarán en Windows 7, Windows 8.1, macOS y Linux, así como los controles WebAssembly de la plataforma Uno. Por lo tanto, una interfaz WinUI funcionará en un navegador, en iOS y Android, en Windows, Mac y Linux. El código de la aplicación debe cambiar, o ejecutarse como PWA o en Electron, por supuesto, por lo que los desarrolladores que crean una aplicación multiplataforma usan el nuevo control Chromium Edge WebView o usan la nueva implementación C++ React Native y WinUI para crear aplicaciones JavaScript. para funcionar en Windows 10 y macOS, pero WinUI funcionará con aplicaciones Win32 integradas en C++ si eso es lo que los desarrolladores quieren crear.

Habiendo comenzado por desacoplar los controles de la interfaz de usuario, Microsoft ahora está trabajando para llevar el mismo enfoque de selección y combinación a la amplia gama de API de Windows. Los desarrolladores que escriben aplicaciones Win32 pueden usar los lenguajes y los tiempos de ejecución que deseen (C++, C#, Rust, .NET 5 y .NET Standard 2), las API que deseen, ya sean características antiguas o nuevas, sin tener que cambiar a la aplicación UWP. modelar o reescribir código para diferentes versiones de Windows.

Índice
  • Proyecto reunión: la hoja de ruta
  • Proyecto reunión: la hoja de ruta

    Project Reunion actualmente incluye WinUI, el nuevo control Edge WebView y MSIX, así como proyectos C++/WinRT, RUST/WinRT y C#/WinRT que permiten a los desarrolladores de C++, Rust y C# utilizar las API de WinRT en sus aplicaciones. Con el tiempo, incluirá más bibliotecas, marcos, componentes y herramientas (de Microsoft y de terceros) que los desarrolladores pueden usar para escribir aplicaciones, y los nuevos controles se lanzarán individualmente, no como parte de un nuevo SDK dirigido a una versión específica. . de Windows. Teóricamente, cualquier lenguaje y entorno de tiempo de ejecución que pueda manejar objetos COM utilizados para componentes de software en Windows funcionará con Project Reunion.

    El alcance de la plataforma no es tan amplio como WinUI: Project Reunion permitirá a los desarrolladores crear aplicaciones para Windows 10 desde 1709 y 1803 y, en algunos casos, para Windows 8.1. El uso de MSIX Core significa que las aplicaciones se pueden empaquetar para estas versiones anteriores de Windows, pero no es necesario que se distribuyan a través de Microsoft Store.

    Las nuevas API de Windows serán API de reunión "siempre que sea posible". Esto incluirá API para cosas como el almacenamiento de datos de una aplicación, la identidad y la conectividad de la nube, el empaquetado de la aplicación, las comunicaciones de la aplicación y el acceso a la cámara, el micrófono, la ubicación y otros recursos donde los usuarios desean poder elegir qué aplicaciones pueden usarlos. razones de confidencialidad.

    También habrá API para facilitar el uso de la funcionalidad Win32 y UWP en la misma aplicación mediante la administración de tareas de la aplicación, como tareas de inicio, administración de reinicio y cierre de sesión, administración de energía y acceso al portapapeles.

    En el futuro, Project Reunion también cubrirá las funciones realmente básicas de cada versión de Windows: gestión de procesos, subprocesos y memoria, creación de ventanas, gráficos, entrada, sistema de archivos y acceso al almacenamiento, redes, impresión y DirectX (y máquina impulsada por GPU). aprendizaje con DirectML). Generalmente, estos cambian ligeramente de una versión de Windows a otra; use las API de subconjunto de Project Reunion, y los desarrolladores pueden codificarlas una vez y hacer que funcionen en todas las versiones.

    VER: Qué hacer si aún usa Windows 7 (PDF gratuito) (República Tecnológica)

    Parte de lo que Project Reunion permitirá que los desarrolladores usen es una función de Windows que aún no tiene una API pública; Microsoft no ha hablado sobre cuáles podrían ser estos componentes no expuestos anteriormente.

    Con nuevas versiones de Windows que llegan cada seis meses en lugar de cada tres o cinco años, vincular la interfaz de usuario y los componentes del código de Windows con tanta fuerza a una nueva versión ya no tenía sentido. Y desde que se anunció Windows 8, los desarrolladores se han quejado de tener que cambiar a la creación de aplicaciones para UWP para aprovechar las nuevas funciones de Windows, mientras que una gran cantidad de aplicaciones de escritorio Win32 todavía están en uso y desarrollo.

    La propia Microsoft abandonó rápidamente la idea de recrear Office en aplicaciones UWP; el único éxito es la versión UWP de OneNote, y este equipo está ocupado fusionando la base de código en sus aplicaciones de escritorio UWP y Win32. De hecho, Project Reunion podría diseñarse para ayudar a desarrolladores como el equipo de OneNote, que tienen que lidiar con una amplia gama de plataformas y modelos de aplicaciones.

    Qué proyecto de reunión no es También es importante: no es un nuevo modelo de aplicación o una nueva clase de API, ni la base de un nuevo sistema operativo como Windows 10X. Es solo una forma de permitir que los desarrolladores usen todas las API y funciones de Windows de su aplicación, sin importar en qué idioma lo escriban, sin importar qué modelo de aplicación estén usando. Tomará algunos años más ofrecer todo eso, pero debería significar que esta vez, cuando los desarrolladores ajusten sus aplicaciones para las últimas opciones de Windows, no tendrán que abandonar las funciones antiguas que ya estaban usando para obtener lo último.

    Los desarrolladores aún tendrán que elegir entre los modelos de aplicaciones Win32 y UWP durante algún tiempo, y Gallo dedicó un tiempo a explicar cómo pensar en las diferencias ahora.

    "Comienzo con UWP a menos que necesite una integración profunda del sistema operativo. El contenedor de UWP protege mis aplicaciones y evita que haga lo que el usuario no quiere que haga por accidente y me pierdo. Tiene malware o algo. Estoy en un contenedor. que agrega una mayor protección Si quiero una gran cantidad de integración del sistema operativo o [I’m building] una utilidad del sistema, empiezo desde Win32. Depende de lo que esté construyendo y de las características que necesite. Pero con el tiempo, estas decisiones se desvanecerán.

    Una de las fortalezas perdurables de Windows es la cantidad de plataformas de aplicaciones diferentes que admite: puede ejecutar aplicaciones .NET, Java y web en paralelo con las aplicaciones React Native y Electron, así como UWP de escritorio, Windows Forms y Win32. aplicaciones Siempre que sea posible, Project Reunion eliminará algunas divisiones innecesarias para que, a largo plazo, las aplicaciones solo puedan ser aplicaciones de Windows y usen todas las funciones de Windows, antiguas o nuevas.