Flutter 2.0 con Null safety
Tags: flutter, dart, firstpost, news
Published: 2021-03-10 19:37:03

Ya se oían rumores acerca de la próxima actualización de Flutter en el evento que se llevó a cabo el 3 de marzo de 2021 y efectivamente se cumplieron estas profecias. Veamos un repaso acerca de esta actualización.

## ¿Que nos trajo Flutter 2.0?
Pues bien, Flutter tuvo unos cambios bastante relevantes y que lo convierten a partir del 2021 en uno de los entornos de desarrollo mas poderosos para competir en el mercado ya que soporta gran variedad de plataformas basadas en un solo código y que te nombraré continuación.

###Soporte Web
Aunque ya se estaban desarrollando aplicaciones web con **Flutter** no había una seguridad o garantía sobre la estabilidad o disponibilidad de todos paquetes ya que estaba en la rama "beta", sin embargo, en esta actualización pasaron este soporte en la rama "stable", es decir, que ya puedes darle rienda suelta a tus desarrollos; si quieres desarrollar para web solo debes activarlo desde la terminal

```
flutter config --enable-web true
```

###Soporte de escritorio en Sistemas Operativos
Flutter ha hecho un trabajo increíble permitiendo llevar nuestros desarrollos a los sistemas operativos más importantes: Windows, MacOS y Linux. Sin embargo, hay que tener en cuenta que aunque han llevado este soporte a la rama "stable" aún no esta completamente implementada, es decir, sigue evolucionando.
¿Puedes imaginarte ahora hasta donde puedes llegar?
si quieres saber como habilitar este soporte ingresa aqui:
[Soporte de escritorio](https://flutter.dev/desktop)

###Surface Duo & Foldable phones
Los foldable phones o telefonos plegables llegaron y aunque no lo creas serán más comunes. entre ellos Samsung Galaxy Fold, Huawei Mate x2 y por supuesto Surface duo. Pues, la noticia es que Microsoft ha participado en la contribución del código para que ahora soporte estos dispositivos con doble pantalla y puedes descargar un emulador para ello.
Aquí puedes ampliar esta información: [Flutter Dual Screen Foldable](https://devblogs.microsoft.com/surface-duo/flutter-dual-screen-foldable/)

###Flutter con Null safety
Aunque dart ya venía soportando null-safety a partir de la versión 2.12, pero en Flutter, aún no había sido posible del todo. La buena noticia es que en esta actualización junto con Flutter una gran variedad de paquetes en [pub.dev](https://pub.dev) actualizaron a versiones con soporte null safety.
Si no sabes que es null-safety te lo explicaré aquí brevemente pero escribiré un post completo acerca de esta característica.

###Soporte Null safety
**Null safety** es una característica que nos permite a nosotros como desarrolladores tener control sobre nuestros código cuando enviamos u obtenemos valores nulos que probablemente harán que nuestra aplicación reviente debido a una excepción comunmente llamada "Null Exception", es decir, alguna variable, clase o método requiere un valor para poder ejecutarse pero no esta recibiendo nada. hay que tener en cuenta que el null-safety desde mi punto de vista no se debe usar para dejar pasar el error sino para tener control sobre el mismo.

###Flutter Fix tool
Ahora Android Studio, IntelliJ y VS Code tienen una pequeña herramienta que nos ayuda a detectar y corregir código obsoleto para una migración correcta.
![image](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/stqi7icbmvlgpvtayu9h.png)

###null safety migration tool
Con la entrada de null-safety a nuestras vidas, Flutter & Dart ponen a nuestra disposición una herramienta a través de la linea de comandos para ayudar a migrar el código de una manera rápida. 
**¿Qué hace esta herramienta?** pues, con una serie de comando puedes identificar los paquetes y sus versiones disponibles, sabrás cuales traen soporte null-safety y también ofrece un entorno web para visualizar los cambios que se realizarán después de la migración. Pero no todo es color de rosa ya que la herramienta funciona de lujo si todos los paquetes que usa tu proyecto ya traen ese soporte. Pero, si no todos soportan null-safety igualmente puedes abrir la herramienta usando el siguiente comando.
```
dart migrate --skip-import-check
```
Puedes seguir la guia de migración en el siguiente enlace:
[Guía de migración](https://dart.dev/null-safety/migration-guide)

###Dev Tools inspect
DevTools ademas de otras funciones ahora lanza una notificación con la descripción de un error y un link para inpeccionar el Widget que tiene algún conflicto visual, esto significa que si la UI presenta un error como por ejemplo que un widget no se ajuste visualmente a la pantalla, el inspector te lleva directamente al arbol de widget en el sitio donde se ocurre el error.

Se que hay otras funcionalidades como AppSize, y el Google Mobile Ads SDK pero creo que estás son las más relevantes. so te ha gustado este post házmelo saber y quédate conectado porque espero subir más contenido sobre Desarrollo.