La herramienta de interfaz de usuario multiplataforma de Google llega a Windows con soporte para Win32 y UWP
por Simon Bisson
Hay mucho que decir sobre las herramientas que facilitan la orientación a múltiples plataformas desde una única base de código, lo que reduce la carga de los desarrolladores y aumenta el alcance de sus aplicaciones. Xamarin de Microsoft es un excelente ejemplo de esto, extendiendo .NET a iOS y Android. Pero, ¿qué pasa con la otra dirección, donde una herramienta de desarrollo móvil establecida agrega Windows como una nueva plataforma?
No sucede a menudo, pero sorprendentemente el entorno de desarrollo móvil Flutter de Google está agregando un nuevo objetivo de compilación en Windows , junto con su soporte existente para Android, iOS, macOS, Linux y la web. Con las últimas versiones de desarrollo, ahora puede crear aplicaciones Flutter para Win32 , utilizando los mismos controles y herramientas de diseño para entregar código de escritorio al mismo tiempo que crea aplicaciones móviles.
Apuntar a Windows tiene sentido para Google, ya que la publicación del blog de lanzamiento señala que más de la mitad de los desarrolladores de Flutter usan herramientas de desarrollo de Windows. Las herramientas de interfaz de usuario de Flutter son código nativo y, como funciona con llamadas API estándar de Windows, puede usarlas con código nuevo o existente.
Usando Flutter en Windows
Flutter se basa en la última versión del lenguaje Dart de Google. Es un lenguaje similar a C con una estructura que recuerda tanto a JavaScript como a C #. Si lo utiliza con experiencia en .NET, no hay mucho que aprender; las construcciones del lenguaje le resultarán familiares. Una barrera de entrada baja es algo bueno, ya que debe estar listo para comenzar a codificar muy rápidamente.
Link: https://imasdk.googleapis.com/js/core/bridge3.413.0_en.html#goog_966454336Volumen 0%
El soporte de Windows de Flutter es experimental, por lo que debe realizar algunos cambios en una instalación estándar desde la línea de comandos. Primero cambie al canal de desarrollo y luego actualice para asegurarse de que está ejecutando la última compilación del canal de desarrollo. Finalmente, use las herramientas de Flutter de línea de comando para habilitar el soporte de escritorio de Windows. Una vez hecho esto, reinicie los editores abiertos. Puede comprobar que la compatibilidad con Windows está habilitada comprobando los dispositivos conectados; Windows se mostrará aquí. Es una buena idea ejecutar la utilidad Doctor Flutter para verificar que todas las dependencias apropiadas estén instaladas, ya que esto instalará las funciones faltantes según sea necesario.
A diferencia de las versiones de Flutter para dispositivos móviles, la versión de escritorio necesita Visual Studio 2019, con sus herramientas de desarrollo de escritorio C ++. Aún puede trabajar en Visual Studio Code si tiene alguna aplicación móvil de Flutter existente que desee llevar al escritorio, pero el escritorio Flutter necesita usar el compilador de Windows C ++ para crear aplicaciones de Windows con todas las bibliotecas de soporte necesarias.
Escribir aplicaciones Flutter en Windows
Aunque necesita las herramientas C ++ de Visual Studio, todavía edita y crea muchas de sus aplicaciones de escritorio Flutter en Visual Studio Code con el complemento Flutter, cambiando a Visual Studio cuando necesita editar C ++ o usar los SDK de Windows. La creación de un nuevo proyecto generará automáticamente el andamiaje necesario para crear una aplicación de escritorio de Windows junto con las versiones predeterminadas de Android e iOS. A continuación, puede editar el código de su aplicación en el archivo main.dart común, que se compilará en las versiones apropiadas en el momento de la compilación.
El código común de Dart permanece en la carpeta lib. La carpeta de Windows es donde escribe su código específico de la plataforma, manteniéndolo separado de cualquier función multiplataforma. Este enfoque le permite aprovechar sus inversiones existentes en código de Windows y API utilizando los canales de plataforma de Flutter para brindar interoperabilidad entre el código C ++ de Windows y Dart de Flutter.
Las herramientas Visual Studio Code Flutter y Dart aún necesitan la instalación de Android Studio, ya que son necesarias para crear versiones de Android de sus aplicaciones. Si está trabajando en una aplicación multiplataforma, es mejor escribir cualquier código de Android en Android Studio, guardando el código de Kotlin en el árbol de códigos de Android de su aplicación Flutter. Compartir una estructura de código de esta manera tiene sentido; Si bien tiene la opción de usar Visual Studio Code para editar el código C ++ de Windows, el IDE de Visual Studio completo tiene muchas más posibilidades y un mejor soporte de biblioteca, lo que lo convierte en un entorno de desarrollo preferible para el código que necesita usar el SDK de Win32 y las bibliotecas.
Usar bibliotecas, API y SDK de Windows con Flutter
Flutter está diseñado para funcionar en distintas pilas de desarrollo y ofrece dos rutas diferentes para trabajar con API nativas de Windows. El primero, los canales de plataforma , proporciona una forma de pasar mensajes desde una interfaz de usuario de Flutter a una API nativa utilizando un complemento de plataforma como envoltorio para la API. Aunque este es el método aprobado para trabajar a través de los límites de la pila, está basado en mensajes y es asincrónico, por lo que no es adecuado para todas las API de Windows.
Alternativamente, puede usar su Interfaz de función externa para vincular directamente a una biblioteca nativa y usar sus llamadas API. Es probable que este enfoque sea la mejor manera de entregar la funcionalidad de Windows a una aplicación de Flutter, ya que puede vincular directamente al código existente o nuevo, con vínculos estáticos o dinámicos. El código nativo debe tener símbolos C disponibles para que su código Flutter pueda vincularse a ellos; cualquier código C ++ deberá exportarlos en formato C a través de la extern
opción.
La mayoría de las bibliotecas del SDK de Windows ya están compiladas, por lo que debe usar enlaces dinámicos para incorporarlas a sus aplicaciones Flutter. Utilice la DynamicLibrary.open
función Flutter para agregarlos a su aplicación y luego trátelos como lo haría con un complemento de Flutter. De hecho, el equipo de Flutter ya está trabajando en un complemento de Win32 que proporcionará acceso a la mayoría de las API de Windows, listas para usar en su código.
Una herramienta para el desarrollo rápido y colaborativo de la interfaz de usuario
Una de las ventajas de las herramientas de desarrollo de Flutter es su opción de recarga en caliente. Puede ejecutar una copia de su código y adjuntarla a un depurador, realizar un cambio en el código y presionar la tecla de recarga en caliente en el terminal de Visual Studio Code para volver a cargar la aplicación sin cambiar su estado. Hay una opción de reinicio en caliente si prefiere comenzar con un estado nuevo.
Ser capaz de cambiar rápidamente la IU o la lógica empresarial sin reiniciar una aplicación es una característica realmente útil para Flutter. La programación se vuelve más interactiva, especialmente si trabaja junto a un diseñador o un usuario final. Puede preguntar qué funciona, realizar cambios sugeridos rápidamente y obtener una respuesta instantánea de sus socios de desarrollo. Una vez que esté listo para publicar e implementar su código, ejecute una compilación para generar un archivo exe con todas las DLL de soporte adecuadas, listo para empaquetar con su elección de instalador.
Tampoco está limitado a Win32, ya que un shell Flutter de UWP se encuentra actualmente en desarrollo (y ya se ha utilizado para las aplicaciones de la Tienda). El resultado es una capa de interfaz de usuario multiplataforma flexible y potente que funcionará con código nativo en una variedad de plataformas, que se adapta a las pantallas más grandes de las PC, funciona con los SDK de Windows modernos y heredados y debería estar lista para trabajar con Project. Reunión a medida que se desarrolla.
Autor del blog Enterprise Microsoft de InfoWorld, Simon Bisson ha trabajado en investigación académica y de telecomunicaciones, ha sido el director de tecnología de una startup, ha dirigido la parte técnica de UK Online y ha realizado consultoría y estrategia tecnológica.
Fuente: https://www.infoworld.com/article/3583950/rapid-ui-development-with-flutter-for-windows.html