Saltar al contenido principal

Aprovechar las APIs y frameworks del sistema de Apple

Conoce los plugins de Flutter que ofrecen funcionalidades equivalentes a los frameworks de Apple.

Cuando vienes del desarrollo de iOS, es posible que necesites encontrar plugins de Flutter que ofrezcan las mismas capacidades que las bibliotecas del sistema de Apple. Esto puede incluir el acceso al hardware del dispositivo o la interacción con frameworks específicos como HealthKit.

Para una visión general de cómo se compara el framework SwiftUI con Flutter, consulta Flutter para desarrolladores de SwiftUI.

Presentación de los plugins de Flutter

#

Dart llama plugins (abreviatura de "paquete de plugin") a las bibliotecas que contienen código específico de la plataforma. Al desarrollar una aplicación con Flutter, utilizas plugins para interactuar con las bibliotecas del sistema.

En tu código Dart, utilizas la API de Dart del plugin para llamar al código nativo de la biblioteca del sistema que se está utilizando. Esto significa que puedes escribir el código para llamar a la API de Dart. La API entonces hace que funcione para todas las plataformas que el plugin admite.

Para aprender más sobre los plugins, consulta Uso de paquetes. Aunque esta página enlaza a algunos plugins populares, puedes encontrar miles más, junto con ejemplos, en pub.dev. La siguiente tabla no respalda ningún plugin en particular. Si no encuentras un paquete que satisfaga tus necesidades, puedes crear el tuyo propio o utilizar canales de plataforma directamente en tu proyecto. Para aprender más, consulta Escribir código específico de la plataforma.

Añadir un plugin a tu proyecto

#

Para usar un framework de Apple dentro de tu proyecto nativo, impórtalo en tu archivo Swift o Objective-C.

Para añadir un plugin de Flutter, ejecuta flutter pub add nombre_del_paquete desde la raíz de tu proyecto. Esto añade la dependencia a tu archivo pubspec.yaml. Después de añadir la dependencia, añade una sentencia import para el paquete en tu archivo Dart.

Es posible que necesites cambiar la configuración de la aplicación o la lógica de inicialización. Si es necesario, la página "Readme" del paquete en pub.dev debería proporcionar los detalles.

Plugins de Flutter y frameworks de Apple

#
Caso de usoApple Framework o clasePlugin de Flutter
Acceder a la biblioteca de fotos PhotoKit utilizando los frameworks Photos y PhotosUI y UIImagePickerController image_picker
Acceder a la cámara UIImagePickerController utilizando .camera como sourceType image_picker
Usar funciones avanzadas de la cámara AVFoundation camera
Ofrecer compras dentro de la aplicación (in-app purchases) StoreKit in_app_purchase 1
Procesar pagos PassKit pay 2
Enviar notificaciones push UserNotifications firebase_messaging 3
Acceder a coordenadas GPS CoreLocation geolocator
Acceder a datos de sensores4 CoreMotion sensors_plus
Realizar peticiones de red URLSession http
Almacenar claves-valores Envolvedor de propiedad (property wrapper) @AppStorage y NSUserDefaults shared_preferences
Persistir en una base de datos CoreData o SQLite sqflite
Acceder a datos de salud HealthKit health
Usar aprendizaje automático (machine learning) CoreML google_ml_kit 5
Reconocer texto VisionKit google_ml_kit 5
Reconocer voz Speech speech_to_text
Usar realidad aumentada ARKit ar_flutter_plugin
Acceder a datos meteorológicos WeatherKit weather 6
Acceder y gestionar contactos Contacts contacts_service
Exponer acciones rápidas en la pantalla de inicio UIApplicationShortcutItem quick_actions
Indexar elementos en la búsqueda de Spotlight CoreSpotlight flutter_core_spotlight
Configurar, actualizar y comunicarse con Widgets WidgetKit home_widget
Automatizar acciones de la aplicación con Siri/Atajos AppIntents intelligence
  1. Admite tanto Google Play Store en Android como Apple App Store en iOS.

  2. Añade pagos con Google Pay en Android y pagos con Apple Pay en iOS.

  3. Utiliza Firebase Cloud Messaging e integra con APNs.

  4. Incluye sensores como acelerómetro, giroscopio, etc.

  5. Utiliza el ML Kit de Google y admite varias funciones como el reconocimiento de texto, la detección de rostros, el etiquetado de imágenes, el reconocimiento de puntos de referencia y el escaneo de códigos de barras. También puedes crear un modelo personalizado con Firebase. Para saber más, consulta Utilizar un modelo personalizado de TensorFlow Lite con Flutter. 2

  6. Utiliza la OpenWeatherMap API. Existen otros paquetes que pueden obtener datos de diferentes APIs del clima.