{"id":6978,"date":"2019-05-24T06:00:43","date_gmt":"2019-05-24T13:00:43","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=6978"},"modified":"2025-06-13T20:52:27","modified_gmt":"2025-06-14T03:52:27","slug":"fluttercouch-flutter-and-couchbase","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/es\/fluttercouch-flutter-and-couchbase\/","title":{"rendered":"Fluttercouch: Combinando la potencia de Flutter y Couchbase"},"content":{"rendered":"<p><em>Este es un art\u00edculo escrito por Luca Christille. Luca es un desarrollador autodidacta y el creador de <a href=\"https:\/\/github.com\/oltrenuovefrontiere\/fluttercouch\">Fluttercouch<\/a>. Escribi\u00f3 su primera l\u00ednea de c\u00f3digo cuando ten\u00eda ocho a\u00f1os, y su pasi\u00f3n por el desarrollo no ha hecho m\u00e1s que crecer desde entonces. Es desarrollador Android certificado por Google y trabaja a tiempo completo como ingeniero de pila completa. Dedica gran parte de su tiempo libre a trabajar por cuenta propia como desarrollador m\u00f3vil.<\/em><\/p>\n<p><em><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-6981\" style=\"float: left;margin-right: 20px\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2019\/05\/luca_christille-300x225.jpg\" alt=\"\" width=\"300\" height=\"225\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/05\/luca_christille-300x225.jpg 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/05\/luca_christille-1024x768.jpg 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/05\/luca_christille-768x576.jpg 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/05\/luca_christille-1536x1152.jpg 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/05\/luca_christille-20x15.jpg 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/05\/luca_christille-1320x990.jpg 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/05\/luca_christille.jpg 1600w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/em><\/p>\n<p><em>Luca no es ajeno a las bases de datos NoSQL, ya que ha pasado tiempo trabajando y evaluando varias soluciones. En \u00faltima instancia, se sinti\u00f3 atra\u00eddo por Couchbase por sus capacidades de sincronizaci\u00f3n de datos, ya que un requisito importante para muchas aplicaciones m\u00f3viles es tener una funcionalidad \"offline-first\".<\/em><\/p>\n<p><em>Al principio, Luca se centr\u00f3 estrictamente en crear aplicaciones totalmente nativas. Sin embargo, con el tiempo se encontr\u00f3 con un cliente que necesitaba una soluci\u00f3n multiplataforma, y despu\u00e9s de investigar la multitud de opciones disponibles opt\u00f3 por utilizar <a href=\"https:\/\/flutter.dev\/\">Aleteo.<\/a><\/em><\/p>\n<h2>Flutter: Dise\u00f1a aplicaciones atractivas<\/h2>\n<p>Dando un paso atr\u00e1s, puede que se pregunte qu\u00e9 es <a href=\"https:\/\/flutter.dev\/\">Aleteo<\/a>? En pocas palabras, <a href=\"https:\/\/github.com\/flutter\/flutter\">Flutter es un SDK de c\u00f3digo abierto<\/a> para crear aplicaciones m\u00f3viles de alto rendimiento y alta fidelidad para iOS y Android. El framework Flutter te facilita la creaci\u00f3n de interfaces de usuario que reaccionan con fluidez en tu app, al tiempo que reduce la cantidad de c\u00f3digo necesario para sincronizar y actualizar la vista de tu app.<\/p>\n<p>Al igual que muchos otros ecosistemas de desarrollo, Flutter ofrece la posibilidad de integrarse con proyectos de c\u00f3digo por componentes conocidos como <a href=\"https:\/\/pub.dev\/flutter\">Paquetes Flutter<\/a>. Los paquetes Flutter ayudan a los desarrolladores a integrar funcionalidades complejas en sus aplicaciones m\u00f3viles. Los paquetes pueden ser <a href=\"https:\/\/dart.dev\/\">Dardo<\/a>-que ampl\u00edan las capacidades est\u00e1ndar del marco Flutter a soluciones que interact\u00faan directamente con las capas nativas y permiten nuevas funcionalidades basadas en los SDK de Android e iOS.<\/p>\n<h2>Presentaci\u00f3n de Fluttercouch<\/h2>\n<p><a href=\"https:\/\/github.com\/oltrenuovefrontiere\/fluttercouch\">Fluttercouch<\/a> es un paquete que integra a la perfecci\u00f3n <a href=\"https:\/\/docs.couchbase.com\/server\/4.1\/concepts\/cb-mobile-development.html\">Couchbase M\u00f3vil<\/a> en sus aplicaciones Flutter, gestionando sus capas nativas Android e iOS. El paquete evita tener que crear c\u00f3digo repetitivo para configurar la base de datos, utilizar documentos y ejecutar la replicaci\u00f3n. En \u00faltima instancia, Fluttercouch te permite centrarte en la creaci\u00f3n de la l\u00f3gica de tu aplicaci\u00f3n, utilizando Dart, en lugar de construir c\u00f3digo espec\u00edfico de la plataforma con los SDK nativos de Couchbase Mobile.<\/p>\n<h3>Primeros pasos<\/h3>\n<p>Para empezar a utilizar <a href=\"https:\/\/github.com\/oltrenuovefrontiere\/fluttercouch\">Fluttercouch<\/a> tendr\u00e1 que a\u00f1adir una directiva de dependencia al archivo <strong>pubspec.yaml<\/strong> archivo.<\/p>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight decode:true\"><code class=\"language-yaml\" data-lang=\"yaml\">dependencias:\r\n  fluttercouch: ^0.5.0<\/code><\/pre>\n<\/div>\n<\/div>\n<p>Despu\u00e9s de a\u00f1adir la directiva de dependencia, puede utilizar <a href=\"https:\/\/github.com\/oltrenuovefrontiere\/fluttercouch\">Fluttercouch<\/a> en cualquier clase modelo que ya tengas, o simplemente empieza con una nueva. Puedes extender clases modelo de InheritedWidget, Scoped Model o Bloc. Una vez extendidas, las clases <a href=\"https:\/\/github.com\/oltrenuovefrontiere\/fluttercouch\">Fluttercouch<\/a> \u00a1superpoderes desbloqueados!<\/p>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight decode:true\"><code class=\"language-dart\" data-lang=\"dart\">class CounterBlock extends Bloc with Fluttercouch {\r\n\r\n    class FrogColor extends InheritedWidget with Fluttercouch {\r\n    \r\n        class ContadorModelo extends Modelo with Fluttercouch {\r\n\r\n            class MiModelo extends Objeto with Fluttercouch {<\/code><\/pre>\n<\/div>\n<\/div>\n<h3>Operaciones b\u00e1sicas<\/h3>\n<p>A partir de este momento, puede obtener una instancia de una base de datos creada anteriormente o instanciar una nueva directamente desde su clase. Una vez inicializada una base de datos, se convierte en la <strong>elecci\u00f3n por defecto<\/strong>y cualquier otra invocaci\u00f3n a un m\u00e9todo se referir\u00e1 a \u00e9l. Despu\u00e9s de crear una instancia de base de datos tendr\u00e1s la capacidad de realizar f\u00e1cilmente todas las operaciones CRUD que esperas de las bases de datos de Couchbase Lite.<\/p>\n<p>Por ejemplo, puede recuperar un documento por su id y obtener una cadena de la propiedad <code>miPropiedad<\/code>. A continuaci\u00f3n, convierta el documento en un documento mutable, modif\u00edquelo y vuelva a guardarlo.<\/p>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight decode:true\"><code class=\"language-dart\" data-lang=\"dart\">holaBaseDeCasos() async {\r\n    await initBaseDeDatosConNombre('miBaseDeDatos');\r\n    Document myDocument = await getDocumentWithId('hola::mundo');\r\n    String holaMundo = myDocument.getString('saludos');\r\n    MutableDocument myMutableDocument = myDocument.toMutable();\r\n    myMutableDocument.setString('holaClave', 'mundoValor');\r\n    saveDocument(miDocumentoMutable);<\/code><\/pre>\n<\/div>\n<\/div>\n<h3>Trabajar con replicadores<\/h3>\n<p>La replicaci\u00f3n de datos tambi\u00e9n es posible con Fluttercouch. Con Dart, puede crear y configurar f\u00e1cilmente replicadores.<\/p>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight decode:true\"><code class=\"language-dart\" data-lang=\"dart\">\/\/ Proporciona la direcci\u00f3n de la base de datos replicada por el servidor Sync Gateway.\r\n\/\/ Si desea activar el cifrado SSL, utilice wss:\/\/ en lugar de ws:\/\/.\r\n\/\/ Para conectarse a una instancia local de Sync Gateway, utilice localhost como nombre de host para el simulador de iOs, y 10.0.2.2 para el simulador de Android.\r\nsetReplicatorEndpoint(\"ws:\/\/su-direcci\u00f3n-de-servidor:4984\/nombre-de-suBaseDeDatosDeReplicaci\u00f3n\");\r\n\r\n\/\/ Establece el tipo de replicaci\u00f3n como PULL, PUSH o PUSH_AND_PULL\r\nsetReplicatorType(\"PUSH_AND_PULL\");\r\n\r\n\/\/ Establece la replicaci\u00f3n como continua\r\nsetReplicatorContinuous(true);\r\n\r\n\/\/ Establece un BasicAuthenticator para la replicaci\u00f3n. Los m\u00e9todos aceptan un par\u00e1metro de tipo Map\r\n\/\/ con dos claves llamadas \"username\" y \"password\".\r\nsetReplicatorBasicAuthentication({\r\n  \"nombredeusuario\": \"tuNombreUsuario\",\r\n  \"password\": \"tuContrase\u00f1a\"\r\n});\r\n\r\n\/\/ Establece un SessionAuthenticator para la replicaci\u00f3n. El SessionID se obtiene consultando la API REST p\u00fablica de su Sync Gateway\r\nsetReplicatorSessionAuthentication(sessionID);\r\n\r\n\/\/ Antes de iniciar la replicaci\u00f3n, debe inicializar el objeto replicador\r\ninitReplicator();\r\n\r\n\/\/ Inicia la replicaci\u00f3n\r\nstartReplicator();\r\n\r\n\/\/ Detiene la replicaci\u00f3n\r\nstopReplicador();<\/code><\/pre>\n<\/div>\n<\/div>\n<p>Tambi\u00e9n puede escuchar eventos de replicaci\u00f3n pasando una funci\u00f3n al m\u00e9todo listenReplicatorEvents. El listenReplicatorEvents llama a la funci\u00f3n con un par\u00e1metro que contiene el tipo de evento.<\/p>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight decode:true\"><code class=\"language-dart\" data-lang=\"dart\">listenReplicationEvents((evento din\u00e1mico) {\r\n    switch(evento) {\r\n      case (\"OCUPADO\"):\r\n        \/\/ se ejecuta cuando el estado del replicador cambia a BUSY\r\n      case (\"IDLE\"):\r\n        \/\/ se ejecuta cuando el estado del replicador cambia a IDLE\r\n      case (\"OFFLINE\"):\r\n        \/\/ se ejecuta cuando el estado del replicador cambia a OFFLINE\r\n      case (\"STOPPED\"):\r\n        \/\/ se ejecuta cuando el estado del replicador cambia a STOPPED\r\n      case (\"CONNECTING\"):\r\n        \/\/ se ejecuta cuando el estado del replicador cambia a CONNECTING\r\n    }\r\n  }\r\n);\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<h2>Pr\u00f3ximos pasos<\/h2>\n<p>\u00a1Ya est\u00e1s listo para liberar el potencial de Couchbase en tu pr\u00f3xima aplicaci\u00f3n Flutter! Descarga Fluttercouch desde la <a href=\"https:\/\/pub.dev\/packages\/fluttercouch\">pub repositorio<\/a>y documentaci\u00f3n m\u00e1s detallada, puede visitar la p\u00e1gina del proyecto en <a href=\"https:\/\/github.com\/oltrenuovefrontiere\/fluttercouch\">GitHub<\/a> para obtener una referencia completa sobre c\u00f3mo interactuar con su base de datos.<\/p>\n<p>Fluttercouch es un proyecto de c\u00f3digo abierto que actualmente mantengo y a\u00f1ado durante mi tiempo libre. En un futuro pr\u00f3ximo espero completar la capa de abstracci\u00f3n N1QL Query para Dart, a\u00f1adiendo soporte para Blob y <a href=\"https:\/\/www.couchbase.com\/blog\/es\/subdoc-explained\/\">Subdocumento<\/a> y muchas otras caracter\u00edsticas que existen en los SDKs de CouchbaseMobile.  El proyecto se beneficiar\u00eda enormemente de las contribuciones de la comunidad, \u00a1y cualquier comentario, problema y\/o pull-requests ser\u00e1n apreciados!<\/p>","protected":false},"excerpt":{"rendered":"<p>This is a guest post written by Luca Christille. Luca is a self-taught developer, and the creator of Fluttercouch. He wrote his first line of code when he was eight years old, and his passion for development has only grown [&hellip;]<\/p>","protected":false},"author":34959,"featured_media":6980,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[2370,7667,1810,2371,2366],"tags":[2350,1536],"ppma_author":[9080],"class_list":["post-6978","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-android","category-couchbase-lite","category-couchbase-mobile","category-flutter","category-sync-gateway","tag-cross-platform-mobile","tag-ios"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.9 (Yoast SEO v25.9) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Fluttercouch Integrates Couchbase Mobile Functionality<\/title>\n<meta name=\"description\" content=\"Fluttercouch is a package that seamlessly integrates Couchbase Mobile functionality into your Flutter apps, managing your Android and iOS native layers.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.couchbase.com\/blog\/es\/fluttercouch-flutter-and-couchbase\/\" \/>\n<meta property=\"og:locale\" content=\"es_MX\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Fluttercouch: Combining the power of Flutter and Couchbase\" \/>\n<meta property=\"og:description\" content=\"Fluttercouch is a package that seamlessly integrates Couchbase Mobile functionality into your Flutter apps, managing your Android and iOS native layers.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/es\/fluttercouch-flutter-and-couchbase\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2019-05-24T13:00:43+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-14T03:52:27+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/05\/Flutter_Logo.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"1080\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Rob Hedgpeth, Senior Developer Advocate, Couchbase\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@probablyrealrob\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Rob Hedgpeth, Senior Developer Advocate, Couchbase\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/fluttercouch-flutter-and-couchbase\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/fluttercouch-flutter-and-couchbase\/\"},\"author\":{\"name\":\"Rob Hedgpeth, Senior Developer Advocate, Couchbase\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/4fe39f690069382f7641d3a02f551e47\"},\"headline\":\"Fluttercouch: Combining the power of Flutter and Couchbase\",\"datePublished\":\"2019-05-24T13:00:43+00:00\",\"dateModified\":\"2025-06-14T03:52:27+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/fluttercouch-flutter-and-couchbase\/\"},\"wordCount\":673,\"commentCount\":3,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/fluttercouch-flutter-and-couchbase\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/05\/Flutter_Logo.png\",\"keywords\":[\"cross-platform mobile\",\"ios\"],\"articleSection\":[\"Android\",\"Couchbase Lite\",\"Couchbase Mobile\",\"Flutter\",\"Sync Gateway\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/fluttercouch-flutter-and-couchbase\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/fluttercouch-flutter-and-couchbase\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/fluttercouch-flutter-and-couchbase\/\",\"name\":\"Fluttercouch Integrates Couchbase Mobile Functionality\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/fluttercouch-flutter-and-couchbase\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/fluttercouch-flutter-and-couchbase\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/05\/Flutter_Logo.png\",\"datePublished\":\"2019-05-24T13:00:43+00:00\",\"dateModified\":\"2025-06-14T03:52:27+00:00\",\"description\":\"Fluttercouch is a package that seamlessly integrates Couchbase Mobile functionality into your Flutter apps, managing your Android and iOS native layers.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/fluttercouch-flutter-and-couchbase\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/fluttercouch-flutter-and-couchbase\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/fluttercouch-flutter-and-couchbase\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/05\/Flutter_Logo.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/05\/Flutter_Logo.png\",\"width\":1920,\"height\":1080},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/fluttercouch-flutter-and-couchbase\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Fluttercouch: Combining the power of Flutter and Couchbase\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"width\":218,\"height\":34,\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/4fe39f690069382f7641d3a02f551e47\",\"name\":\"Rob Hedgpeth, Senior Developer Advocate, Couchbase\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/d2687b799f515d10560e40ed5b695b63\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/8059b152c76ec2d3d1a3a05ad6dfd02e2c74a4ae158b724c3420b254c5fd7499?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/8059b152c76ec2d3d1a3a05ad6dfd02e2c74a4ae158b724c3420b254c5fd7499?s=96&d=mm&r=g\",\"caption\":\"Rob Hedgpeth, Senior Developer Advocate, Couchbase\"},\"description\":\"Rob Hedgpeth is a Senior Developer Advocate at Couchbase specializing in mobile and IoT technologies. Rob has been developing applications of all flavors for over a decade, but has primarily been focused on the mobile space since 2010. Prior to working at Couchbase Rob worked as a Mobile Architect at Xamarin and Microsoft.\",\"sameAs\":[\"https:\/\/x.com\/probablyrealrob\"],\"url\":\"https:\/\/www.couchbase.com\/blog\/es\/author\/robert-hedgpeth\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Fluttercouch Integrates Couchbase Mobile Functionality","description":"Fluttercouch es un paquete que integra a la perfecci\u00f3n la funcionalidad de Couchbase Mobile en tus aplicaciones Flutter, gestionando tus capas nativas de Android e iOS.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.couchbase.com\/blog\/es\/fluttercouch-flutter-and-couchbase\/","og_locale":"es_MX","og_type":"article","og_title":"Fluttercouch: Combining the power of Flutter and Couchbase","og_description":"Fluttercouch is a package that seamlessly integrates Couchbase Mobile functionality into your Flutter apps, managing your Android and iOS native layers.","og_url":"https:\/\/www.couchbase.com\/blog\/es\/fluttercouch-flutter-and-couchbase\/","og_site_name":"The Couchbase Blog","article_published_time":"2019-05-24T13:00:43+00:00","article_modified_time":"2025-06-14T03:52:27+00:00","og_image":[{"width":1920,"height":1080,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/05\/Flutter_Logo.png","type":"image\/png"}],"author":"Rob Hedgpeth, Senior Developer Advocate, Couchbase","twitter_card":"summary_large_image","twitter_creator":"@probablyrealrob","twitter_misc":{"Written by":"Rob Hedgpeth, Senior Developer Advocate, Couchbase","Est. reading time":"4 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/fluttercouch-flutter-and-couchbase\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/fluttercouch-flutter-and-couchbase\/"},"author":{"name":"Rob Hedgpeth, Senior Developer Advocate, Couchbase","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/4fe39f690069382f7641d3a02f551e47"},"headline":"Fluttercouch: Combining the power of Flutter and Couchbase","datePublished":"2019-05-24T13:00:43+00:00","dateModified":"2025-06-14T03:52:27+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/fluttercouch-flutter-and-couchbase\/"},"wordCount":673,"commentCount":3,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/fluttercouch-flutter-and-couchbase\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/05\/Flutter_Logo.png","keywords":["cross-platform mobile","ios"],"articleSection":["Android","Couchbase Lite","Couchbase Mobile","Flutter","Sync Gateway"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/fluttercouch-flutter-and-couchbase\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/fluttercouch-flutter-and-couchbase\/","url":"https:\/\/www.couchbase.com\/blog\/fluttercouch-flutter-and-couchbase\/","name":"Fluttercouch Integrates Couchbase Mobile Functionality","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/fluttercouch-flutter-and-couchbase\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/fluttercouch-flutter-and-couchbase\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/05\/Flutter_Logo.png","datePublished":"2019-05-24T13:00:43+00:00","dateModified":"2025-06-14T03:52:27+00:00","description":"Fluttercouch es un paquete que integra a la perfecci\u00f3n la funcionalidad de Couchbase Mobile en tus aplicaciones Flutter, gestionando tus capas nativas de Android e iOS.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/fluttercouch-flutter-and-couchbase\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/fluttercouch-flutter-and-couchbase\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/fluttercouch-flutter-and-couchbase\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/05\/Flutter_Logo.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/05\/Flutter_Logo.png","width":1920,"height":1080},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/fluttercouch-flutter-and-couchbase\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Fluttercouch: Combining the power of Flutter and Couchbase"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"El blog de Couchbase","description":"Couchbase, la base de datos NoSQL","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"El blog de Couchbase","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","width":218,"height":34,"caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/4fe39f690069382f7641d3a02f551e47","name":"Rob Hedgpeth, Promotor Senior para Desarrolladores, Couchbase","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/d2687b799f515d10560e40ed5b695b63","url":"https:\/\/secure.gravatar.com\/avatar\/8059b152c76ec2d3d1a3a05ad6dfd02e2c74a4ae158b724c3420b254c5fd7499?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/8059b152c76ec2d3d1a3a05ad6dfd02e2c74a4ae158b724c3420b254c5fd7499?s=96&d=mm&r=g","caption":"Rob Hedgpeth, Senior Developer Advocate, Couchbase"},"description":"Rob Hedgpeth es desarrollador senior en Couchbase especializado en tecnolog\u00edas m\u00f3viles y IoT. Rob ha estado desarrollando aplicaciones de todos los sabores durante m\u00e1s de una d\u00e9cada, pero se ha centrado principalmente en el espacio m\u00f3vil desde 2010. Antes de trabajar en Couchbase, Rob trabaj\u00f3 como arquitecto m\u00f3vil en Xamarin y Microsoft.","sameAs":["https:\/\/x.com\/probablyrealrob"],"url":"https:\/\/www.couchbase.com\/blog\/es\/author\/robert-hedgpeth\/"}]}},"authors":[{"term_id":9080,"user_id":34959,"is_guest":0,"slug":"robert-hedgpeth","display_name":"Rob Hedgpeth, Senior Developer Advocate, Couchbase","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/8059b152c76ec2d3d1a3a05ad6dfd02e2c74a4ae158b724c3420b254c5fd7499?s=96&d=mm&r=g","author_category":"","last_name":"Hedgpeth, Senior Developer Advocate, Couchbase","first_name":"Rob","job_title":"","user_url":"","description":"Rob Hedgpeth es desarrollador senior en Couchbase especializado en tecnolog\u00edas m\u00f3viles y IoT. Rob ha estado desarrollando aplicaciones de todos los sabores durante m\u00e1s de una d\u00e9cada, pero se ha centrado principalmente en el espacio m\u00f3vil desde 2010. Antes de trabajar en Couchbase, Rob trabaj\u00f3 como arquitecto m\u00f3vil en Xamarin y Microsoft."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/6978","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/users\/34959"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/comments?post=6978"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/6978\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media\/6980"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media?parent=6978"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/categories?post=6978"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/tags?post=6978"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/ppma_author?post=6978"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}