Esta es una aplicación con flutter que consume servicios desde un api pública de noticias, donde se logra mostrar una variedad de noticias segmentadas por categorías y donde se puede ver el detalle de cada una de ella.
Es importante saber que este tipo de aplicaciones pueden ser desplegadas en moviles como android e ios asi como tambien como aplicaciones de escritorio para macOS, Linux, Windows y Web
Puede levantar el proyecto con visual studio code ejecutando comand + shift + P. Luego "Select Device".
Luego abre el archivo main.dart y presiona F5 o fn + F5 app.
Nota: es importante tener instalado todas las configuraciones necesarias para flutter
https://docs.flutter.dev/get-started/install
-
Home.
- Detalle de la noticia.
-
Explore.
- Detalle de la noticia.
-
Botón para cambio de tema claro/oscuro.
-
Link en webview.
Se utiliza el api de https://newsapi.org para obtener las noticias.
En el proyecto se han utilizado algunos paquetes de terceros que fueron de mucha ayuda para la construcción final.
A continuación encontrará la información sobre estos paquetes.
Paquete | Explicación |
---|---|
cupertino_icons | Iconos de cupertino |
providers | Manejador de estados |
http | Peticiones http |
flutter_launcher_icons | Librería para configurar icono y splash screen |
url_launcher | Librería para mostrar una pagina web interna |
skeletonizer | Librería para crear esqueletos de cargas |
shared_preferences | Librería para guardar datos en el dispositivo |
intl | Librería para el formateo de fechas |
Directorio | Explicación |
---|---|
assets | Contiene todas las imagenes png, svg o gif |
android, ios, web | Contiene todas las configuraciones de la plataforma que genera flutter automáticamente |
lib | Contiene toda la lógica de la aplicación |
Luego el directorio lib
Directorio | Explicación |
---|---|
screens | Contiene todas las clases de cada pantalla de la app |
widgets | Contiene todos los widgets personalizados que se reutilizan en distintas secciones de la app |
models | Contiene todos los modelos |
providers | Contiene todos los providers |
services | Contiene todos los servicios en este caso para peticiones http |
theme | Contiene toda la configuración del tema |
ui | Contiene lógica de estilos de inputs |
utils | Contiene la lógica de utilidades como obtener un numero random |