Tengo un montón de aplicaciones Ionic Framework V2 antiguas creadas para Android y ahora quiero migrar estas aplicaciones a una aplicación Flutter. El caso es que mi aplicación Ionic usa muchas bibliotecas JS que no estoy seguro de si son compatibles con Flutter, ya que está basado en Dart.
Pero he leído que Dart solo compila en javascript. ¿Cuál es la mejor ruta a seguir para migrar estas aplicaciones Ionic a Flutter mientras se mantiene el uso de estas bibliotecas JS? Definitivamente no podré reescribir estas bibliotecas ya que son de terceros.
¿Cuáles son las herramientas o funciones que debería considerar para realizar una migración de prueba de mis aplicaciones Ionic a Flutter?
Este será un trabajo relativamente complejo. Esto es lo que recomendaría (mejores opciones primero), pero realmente depende de tu proyecto, ¿por qué quieres migrar a Flutter ?
Sin conocer muchos detalles sobre su aplicación o sus objetivos, elegiría el número 1. Las aplicaciones más grandes pueden encontrar que el costo de incrustar la aplicación Ionic original es más barato que el costo de reescribir inicialmente y podrían migrar gradualmente. Sin embargo, le advierto que esta área de Flutter con Ionic no está tan bien explorada, por lo que podría enfrentar dificultades.
La migración de la aplicación nativa de Android a Flutter es más fácil que la aplicación Ionic a Flutter, porque puede integrar Flutter en diferentes partes de su aplicación. Además, los desarrolladores nativos de Android probablemente entiendan Android mucho mejor que los desarrolladores de Ionic, lo cual es una gran ventaja para hacer cosas extrañas/inusuales como esta .
PD: la respuesta de Marian es un poco incorrecta: desea que el código se ejecute en Android , no en los navegadores. La respuesta no aborda el problema en el que una vez que compila su código Dart en JS, no puede ejecutarlo en Android.
Dart permite tener una interoperabilidad de Javascript, que se puede usar para llamar a las bibliotecas JS. Puede encontrar más información sobre la interoperabilidad de JS en la documentación oficial .
De manera predeterminada, usted es responsable de escribir la interoperabilidad usted mismo y el package:js solo le brinda herramientas, como anotaciones y funciones.
Hay una herramienta llamada js_facade_gen , que parece ser capaz de generar código de interoperabilidad Dart-JS desde cualquier biblioteca. Por ejemplo, la biblioteca chartjs afirma que se generó con esta herramienta, aunque parece que la herramienta ya no se mantiene (última actualización hace 2 años).