Dart: muy verde todavía

Y fin del tema. Me he pasado unos cuantos días jugando con Dart, el último nuevo lenguaje de Google y la conclusión es que está muy verde, aún después de dos años. Como siempre los diseñadores se preocupan de temas como el tipeado más o menos fuerte, la fácil traslación a Javascript (en este caso), la velocidad de ejecución, los espacios de nombres y otros tecnicismos que, si bien son necesarios, dejan siempre de lado algo demasiado evidente: la usabilidad o, como dirían en el mundo de los videojuegos, la jugabilidad.
Después de tantos años con internet en las empresas, en nuestras casas, con negocios que desarrollan su actividad en la red con software diseñado para la red aún tiene que crearse un lenguaje que traiga de serie algo tan simple como un procedimiento que lea los parámetros de una url y devuelva sus valores. Todo programador debe tener su propia colección de rutinitas de este tipo recolectadas por ahí o de su propia cosecha. No forman parte de las especificaciones de un lenguaje dicen los especialistas. Cierto, pero no cuesta nada crear una pequeña librería de utilidades comunes digo yo, y más si pretendes que tu invento rebase los limites de los geeks ¿no?
Supongo que por ser muy joven Dart tiene muchas carencias de ese estilo. Como dije en un post anterior tiene un soporte para objetos JSON paupérrimo, peor que el de Javascript. Dándole vueltas al pequeño programa que hice para listar bookmarks investigué cómo acceder a ficheros fuera del dominio de mi blog y fue imposible por el esfuerzo que exige. Se me ocurrió intentar usar las API de Google para acceder al servicio Drive. Encontré una supuesta Google APIs Client Library for Dart que no fui capaz de instalar con la utilidad de gestión de paquetes que proporciona Dart (pub). Pensando que era problema de la librería probé con otras con idéntico resultado. Conclusión: la utilidad de gestión de paquetes de Dart falla más que una escopeta de feria, eso si funciona. Buscando la forma de acceder a la dichosa API encontré otra página donde lo solucionan importando una librería en Javascript, lo que significa instalar dicha librería más 2 folios de código para conseguir cargar un simple fichero de texto, y todo para usar finalmente Javascript. Excesivo para lo que se pretende.
En definitiva, si quieres un acceso sencillo al DOM y un estilo de programación ligeramente más estructurado que con Javascript puedes jugar con Dart, sino mejor olvidarlo. Para pequeños juegos y geeks muy geeks.

Enlaces: Listing Files with Google Drive and Dart

PD.: Mal, muy mal. Siendo cabezón como soy intento de nuevo instalar Google Drive v2 API para Dart, no hay manera desde el (supuesto) instalador del editor. Lo consigo desde una ventana MSDOS directamente con Git. Vuelvo al editor y veo que hay una actualización de Dart disponible, la descargo y la instalo. Consigo instalar el paquete pero ahora falla el editor, no puede cargar los fuentes en Dart. Bravo. Reinstalo la versión anterior. El paquete instalado sigue ahí (aunque no aparece en pubsec.yaml). Consigo importar la API y acceder a Google Drive para descargar un fichero de texto, ejecuto files.get(fileId) y me devuelve los metadatos. Bien. Según la documentación de Google ahora debo usar el enlace contenido en el campo downloadLink para poder descargarlo. Ejecuto un request y nada. Fichero no encontrado. Envío a la consola la url. La API en cuestión  le añade siempre https://www.googleapis.com/drive/v2, si o si. Intento manipular las propiedades basePath y  rootUrl con Uri.domain. Nada que hacer. Cuando se consigue establecer el dominio base la función request no inserta la barra invertida entre el dominio y la ruta, y si intentas insertarla manualmente pasa del dominio y vuelve a usar https://www.googleapis.com/drive/v2. Lo intento también con HttpRequest y peor todavía, acceso prohibido. ¿Que queda por probar? ¿Usar OAuth y pedirle a los usuarios que se autentifiquen cada vez que quieran ver un listado de enlaces? ¿Quien ha programado ésto? Mal, muy mal. Volveremos a probarlo dentro de 10 años. O 20. Lo dicho, para geeks muy geeks y con mucho tiempo que perder.

Enlaces: Getting Started with usign Pub on Windows - The Dart Package Manager

No hay comentarios:

Publicar un comentario