Flutter: Me gustaría poder evitar errores de carga de activos en tiempo de ejecución

Creado en 2 ago. 2017  ·  3Comentarios  ·  Fuente: flutter/flutter

Actualmente, con Flutter es muy fácil terminar con errores de carga de activos en el tiempo de ejecución, ya que los activos se extraen de las cadenas, que no se validan de ninguna manera en el momento del análisis (o generado/proporcionado por el sistema).

Actualmente, el bloqueo más común de Posse en su aplicación en vivo es una carga de cadena de activos fallida.

También tienen un archivo manual de constantes de cadena que mantienen desde su pubspec.yaml (presumiblemente podría generarse automáticamente con bastante facilidad).

Esto parece un patrón con el que podríamos ayudar. Este error se trata de encontrar ideas para reducir la probabilidad de este tipo de falla.

FYI @yjbanov

P5 assets framework passed first triage tool

Todos 3 comentarios

Podríamos generar automáticamente una enumeración de nombres de activos conocidos, o algo por el estilo.

Todavía estoy ansioso por entregar esto, nunca estuve seguro de cuál era la opinión del equipo de flutter al respecto. Mi POC está congelado desde los días beta. Propondré un MVP lo suficientemente limpio como para que sea una PR. Pronto (TM).

Hola a todos:

Soy miembro del equipo Fly-Mix de la empresa NetEase. Mi equipo desarrolló una herramienta de desarrollo de aleteo: Flr(Flutter-R) para admitir la función que desea.

Flr es una herramienta de administrador de recursos de flutter, que puede ayudar al desarrollador de flutter a especificar automáticamente los activos en pubspec.yaml y generar un archivo r.g.dart al que le gusta R.java en Android después de cambia los activos del proyecto flutter. Con r.g.dart , el desarrollador de flutter puede aplicar el activo en el código haciendo referencia a su función de ID de activo, como:

import 'package:flutter_r_demo/r.g.dart';

// test_sameName.png
var normalImageWidget = Image(
  width: 200,
  height: 120,
  image: R.image.test_sameName(),
);

// test_sameName.gif
var gifImageWidget = Image(
  image: R.mage.test_sameName_gif(),
);

// test.svg
var svgImageWidget = Image(
  width: 100,
  height: 100,
  image: R.svg.test(width: 100, height: 100),
);

// test.json
var jsonString = await R.text.test_json();

// test.yaml
var yamlString = await R.text.test_yaml();

PD: sí, es como la AAPT (herramienta de empaquetado de activos de Android) en Android.

Hasta ahora, Flr ha sido compatible con el complemento de Android Studio, la CLI y la extensión VSCode:

  1. Versión del complemento Flr Android Studio

  2. Versión CLI Flr

  3. Versión de extensión Flr VSCode

¿Fue útil esta página
0 / 5 - 0 calificaciones