En un hito significativo para la comunidad de desarrolladores, DevToys ha lanzado su versión 2.0, ahora disponible para Windows, macOS y Linux. Este lanzamiento marca un nuevo capítulo en la evolución de la herramienta, diseñada para facilitar el trabajo diario de los desarrolladores con una colección de utilidades eficientes y productivas.
Antecedentes del Proyecto
DevToys comenzó su andadura como una aplicación UWP, limitada a Windows, con el objetivo de proporcionar herramientas útiles para los desarrolladores. Los creadores, Etienne Baudoux y Benjamin Titeux, centraron inicialmente sus esfuerzos en esta plataforma debido a su amplia experiencia en el ecosistema Windows. Sin embargo, el creciente interés y las solicitudes de soporte para macOS y Linux llevaron a los desarrolladores a reconsiderar su enfoque.
Desafíos en el Camino
El equipo de DevToys enfrentó numerosos desafíos técnicos al intentar convertir la aplicación en una herramienta multiplataforma. La primera gran decisión fue la elección del lenguaje de programación adecuado. Optaron por seguir utilizando C# y el ecosistema .NET, conocido por su capacidad multiplataforma y su rendimiento nativo en los sistemas objetivo.
Otro reto importante fue hacer que la aplicación fuera extensible, permitiendo a la comunidad agregar nuevas herramientas de manera eficiente. Además, la necesidad de mantener una interfaz de usuario (UI) nativa y atractiva en todas las plataformas añadió complejidad al desarrollo.
Seis Meses de Pruebas y Errores
Durante los primeros seis meses de 2023, el equipo exploró diversas tecnologías y marcos, incluidos Uno Platform, .NET MAUI y Avalonia. Cada opción presentaba sus propios problemas, desde la falta de soporte en ciertas plataformas hasta la incapacidad de mantener una apariencia nativa adecuada.
Finalmente, el equipo decidió experimentar con Blazor Hybrid, un marco que permite crear aplicaciones de escritorio y móviles con UI web, utilizando HTML, CSS y lógica en .NET. Esta solución ofrecía el equilibrio adecuado entre rendimiento, apariencia nativa y flexibilidad.
Solución y Ventajas
Blazor Hybrid permitió al equipo de DevToys mantener una apariencia y sensación nativa en todas las plataformas. Utilizando CSS, crearon componentes web que emulan Fluent UI en Windows, Aqua en macOS y Yaru en Linux. Además, la memoria de largo plazo es menor que en la versión anterior, y la aplicación puede aprovechar el visor web instalado en el sistema operativo, haciendo que sea más liviana que opciones como Electron.
Conclusión
DevToys 2.0 representa un gran avance para los desarrolladores, proporcionando una herramienta poderosa y extensible que funciona en múltiples plataformas. Aunque el proceso de desarrollo presentó numerosos desafíos, el equipo está orgulloso de los logros alcanzados y de la capacidad de ofrecer una solución eficiente y atractiva para la comunidad de desarrolladores.