Comienza a usar Firebase Data Connect

En esta guía de inicio rápido, aprenderás a compilar Firebase Data Connect en tu aplicación.

  • Agrega Firebase Data Connect a tu proyecto de Firebase.
  • Configura un entorno de desarrollo que incluya una extensión de Visual Studio Code para trabajar con una instancia de producción.
  • Luego, te mostraremos cómo hacer lo siguiente:
    • Crea un esquema para una app de opiniones sobre películas y, luego, impleméntalo en producción.
    • Define las consultas y mutaciones para tu esquema.
    • Genera SDKs con tipos fuertemente definidos y úsalo en tu app
    • Implementa tu esquema, consulta y datos finales en producción.

Requisitos previos

Para usar esta guía de inicio rápido en tu entorno local, necesitarás lo siguiente:

Cómo conectarte a tu proyecto de Firebase

  1. Si aún no lo hiciste, crea un proyecto de Firebase.
    1. En la consola de Firebase, haz clic en Agregar proyecto y, luego, sigue las instrucciones que aparecen en pantalla.
  2. Ve a la sección Data Connect de Firebase console y sigue el flujo de trabajo de configuración del producto.
  3. Actualiza tu proyecto al plan Blaze. Esto te permite crear una instancia de Cloud SQL para PostgreSQL.

  4. Selecciona una ubicación para tu base de datos de CloudSQL para PostgreSQL.

  5. Anota los nombres y los IDs del proyecto, el servicio y la base de datos para confirmarlos más adelante.

  6. Sigue el flujo de configuración restante y, luego, haz clic en Listo.

Elige y configura un entorno de desarrollo

Data Connect admite dos experiencias de desarrollo:

  • Si eres desarrollador de Kotlin para Android, iOS, Flutter o Web, puedes usar el desarrollo de VS Code para diseñar y probar esquemas y operaciones de forma local mientras te conectas a tu instancia de Cloud SQL para PostgreSQL.
  • Si eres desarrollador web, puedes usar IDX Development para crear prototipos en un espacio de trabajo de IDX con una plantilla de IDX preconfigurada con PostgreSQL, la extensión de VS Code con el emulador de Data Connect y el código del cliente de la guía de inicio rápido configurado por ti. Encontrarás más información en el sitio de IDX del proyecto.

Esta guía de inicio rápido se enfoca en el flujo de desarrollo de extensiones de VS Code. Para continuar, haz lo siguiente:

  1. Crea un directorio nuevo para tu proyecto local.
  2. Abre VS Code en el directorio nuevo.
  3. Instala la extensión de Firebase Data Connect desde Visual Studio Code Marketplace.

Configura tu proyecto local

Instala la CLI siguiendo las instrucciones normales. Si ya tienes instalado npm, ejecuta el siguiente comando:

npm install -g firebase-tools

Configura el directorio de tu proyecto

Para configurar tu proyecto local, inicializa el directorio del proyecto.

En el panel izquierdo de VS Code, haz clic en el ícono de Firebase para abrir la IU de la extensión de Firebase para VS Code.

  1. Haz clic en el botón Acceder con Google.
  2. Haz clic en el botón Connect a Firebase project y selecciona el proyecto que creaste antes en la consola.
  3. Haz clic en el botón Run firebase init.
  4. Si tu proyecto está en el plan Blaze, cuando se te solicite "¿Quieres configurar tus recursos de backend ahora?", responde "Sí".
  5. Haz clic en el botón Start emulators.

Crea un esquema

En el directorio de tu proyecto de Firebase, en el archivo /dataconnect/schema/schema.gql, comienza a definir un esquema de GraphQL que incluya películas.

Película

En Data Connect, los campos de GraphQL se asignan a columnas. El tipo Movie tiene id, title, imageUrl y genre. Data Connect reconoce los tipos de datos primitivos String y UUID.

Copia el siguiente fragmento o quita los comentarios de las líneas correspondientes en el archivo.

# File `/dataconnect/schema/schema.gql`

# By default, a UUID id key will be created by default as primary key.
type Movie @table {
  id: UUID! @default(expr: "uuidV4()")
  title: String!
  imageUrl: String!
  genre: String
}

MovieMetadata

Ahora que tienes películas, puedes modelar los metadatos de las películas.

Copia el siguiente fragmento o quita los comentarios de las líneas correspondientes en el archivo.

# Movie - MovieMetadata is a one-to-one relationship
type MovieMetadata @table {
  # This time, we omit adding a primary key because
  # you can rely on Data Connect to manage it.

  # @unique indicates a 1-1 relationship
  movie: Movie! @unique
  # movieId: UUID <- this is created by the above reference
  rating: Float
  releaseYear: Int
  description: String
}

Ten en cuenta que el campo movie está asignado a un tipo de Movie. Data Connect comprende que esta es una relación entre Movie y MovieMetadata, y la administrará por ti.

Obtén más información sobre los esquemas de Data Connect en la documentación

Implementa tu esquema en producción

Si usas la extensión de VS Code de Firebase para trabajar con tu base de datos de producción, debes implementar tu esquema antes de continuar. Después de implementar el esquema en tu base de datos de producción, deberías poder ver el esquema en la consola.

  1. Puedes usar la extensión de VS Code de Data Connect para realizar la implementación.
    • En la IU de la extensión, en el panel Firebase Data Connect, haz clic en Deploy to production.
  2. Es posible que debas revisar los cambios en el esquema y aprobar las modificaciones potencialmente destructivas. Se te pedirá que hagas lo siguiente:
    • Revisa los cambios de esquema con firebase dataconnect:sql:diff
    • Cuando estés conforme con los cambios, aplícalos con el flujo que inició firebase dataconnect:sql:migrate.

Agrega datos a tus tablas

En el panel del editor de VS Code, puedes ver que los botones de CodeLens aparecen sobre los tipos de GraphQL en /dataconnect/schema/schema.gql. Como implementaste tu esquema en producción, puedes usar los botones Agregar datos y Ejecutar (producción) para agregar datos a tu base de datos en el backend.

Para agregar registros a la tabla Movie, haz lo siguiente:

  1. En schema.gql, haz clic en el botón Agregar datos que se encuentra sobre la declaración de tipo Movie.
    Botón Agregar datos de Code Lens para Firebase Data Connect
  2. En el archivo Movie_insert.gql que se genera, codifica los datos de los cuatro campos.
  3. Haz clic en el botón Run (Production).
    Botón Run de Code Lens para Firebase Data Connect
  4. Repite los pasos anteriores para agregar un registro a la tabla MovieMetadata y proporcionar el id de tu película en el campo movieId, como se indica en la mutación MovieMetadata_insert generada.

Para verificar rápidamente si se agregaron los datos, sigue estos pasos:

  1. En schema.gql, haz clic en el botón Read data sobre la declaración de tipo Movie.
  2. En el archivo Movie_read.gql resultante, haz clic en el botón Run (Production) para ejecutar la consulta.

Obtén más información sobre las mutaciones de Data Connect en la documentación

Define tu consulta

Ahora viene la parte divertida: las consultas. Como desarrollador, estás acostumbrado a escribir consultas SQL en lugar de consultas GraphQL, por lo que esto puede parecer un poco diferente al principio. Sin embargo, GraphQL es mucho más conciso y seguro de tipo que SQL sin procesar. Además, nuestra extensión de VS Code facilita la experiencia de desarrollo.

Empieza a editar el archivo /dataconnect/connector/queries.gql. Si quieres obtener todas las películas, usa una consulta como esta.

# File `/dataconnect/connector/queries.gql`

# @auth() directives control who can call each operation.
# Anyone should be able to list all movies, so the auth level
# is set to PUBLIC
query ListMovies @auth(level: PUBLIC) {
  movies {
    id
    title
    imageUrl
    genre
  }
}

Ejecuta la consulta con el botón CodeLens cercano.

Obtén más información sobre las consultas de Data Connect en la documentación

Genera SDKs y úsalo en tu app

  1. Haz clic en el botón Add SDK to app.
  2. En el diálogo que aparece, selecciona un directorio que contenga código para tu app. Data Connect. Allí se generará y se guardará el código del SDK.

  3. Selecciona la plataforma de tu app y, luego, ten en cuenta que el código del SDK se genera de inmediato en el directorio que seleccionaste.

Obtén información para usar el SDK generado y llamar a consultas y mutaciones desde apps cliente (Web, Android, iOS, Flutter).

Implementa tu esquema y consulta en producción

Completaste una iteración de desarrollo. Ahora puedes implementar tu esquema, datos y consultas en el servidor con la IU de la extensión de Firebase o la CLI de Firebase, tal como lo hiciste con tu esquema.

Si usas la extensión de VS Code de Firebase para la implementación, haz clic en el botón Implementar en producción.

Una vez que se implemente, ve a la consola de Firebase para verificar que el esquema, las operaciones y los datos se hayan subido a la nube. Debes poder ver el esquema y ejecutar tus operaciones en la consola. La instancia de Cloud SQL para PostgreSQL se actualizará con su esquema y datos generados y, luego, se implementará.

Obtén más información sobre el uso del emulador de Data Connect en la documentación

Próximos pasos

Revisa tu proyecto implementado y descubre más herramientas:

  • Agrega datos a tu base de datos, inspecciona y modifica tus esquemas, y supervisa tu servicio de Data Connect en Firebase console. Accede a más información en la documentación. Por ejemplo, como completaste la guía de inicio rápido, puedes hacer lo siguiente:

  • Obtén más información sobre el desarrollo de esquemas, consultas y mutaciones.

  • Obtén información para generar SDKs cliente y llamar a consultas y mutaciones desde código cliente para la Web, Android, iOS y Flutter.