{"id":1807,"date":"2023-03-23T11:06:24","date_gmt":"2023-03-23T11:06:24","guid":{"rendered":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/?p=1807"},"modified":"2023-04-05T14:15:56","modified_gmt":"2023-04-05T14:15:56","slug":"flutter-poniendo-orden","status":"publish","type":"post","link":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/flutter-poniendo-orden\/","title":{"rendered":"Flutter, poniendo orden"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1818\" src=\"http:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/wp-content\/uploads\/sites\/21\/2023\/03\/Flutter.jpg\" alt=\"\" width=\"630\" height=\"374\" srcset=\"https:\/\/encaminablogs.wpenginepowered.com\/piensa-en-software-desarrolla-en-colores\/wp-content\/uploads\/sites\/21\/2023\/03\/Flutter.jpg 630w, https:\/\/encaminablogs.wpenginepowered.com\/piensa-en-software-desarrolla-en-colores\/wp-content\/uploads\/sites\/21\/2023\/03\/Flutter-300x178.jpg 300w, https:\/\/encaminablogs.wpenginepowered.com\/piensa-en-software-desarrolla-en-colores\/wp-content\/uploads\/sites\/21\/2023\/03\/Flutter-610x362.jpg 610w\" sizes=\"auto, (max-width: 630px) 100vw, 630px\" \/><\/p>\n<p>Cuando comenzamos a aprender\u00a0<strong>Flutter<\/strong>\u00a0lo primero que nos llama la atenci\u00f3n, sobre todo a los viejos del barrio como yo, es que no hay una forma clara o predefinida por parte de\u00a0<em>Google<\/em>\u00a0de ordenar las cosas dentro de un proyecto\u00a0<strong>Flutter<\/strong>.<\/p>\n<p><!--more--><\/p>\n<p>Se limitan a decir que dentro de la carpeta\u00a0<strong>lib<\/strong>\u00a0va tu c\u00f3digo y \u00a1ya! o como mucho, he visto que a veces van un poco mas all\u00e1 y te dicen que pongas una carpeta\u00a0<strong>src<\/strong>\u00a0dentro de la carpeta\u00a0<strong>lib<\/strong> y ah\u00ed pones tu c\u00f3digo. No s\u00e9 a vosotros, pero esto a m\u00ed me mata un poco. Necesito poner orden y este es el motivo de este post.<\/p>\n<p>En este post, describir\u00e9 mi forma (o una forma) de ordenar el c\u00f3digo en nuestros proyectos de <strong>Flutter<\/strong>. Como ya digo, es mi sugerencia y para nada est\u00e1 escrita en piedra, por lo que cualquier aportaci\u00f3n o sugerencia ser\u00e1 bienvenida.<\/p>\n<p>Con\u00a0Xamarin\u00a0y\u00a0Microsoft\u00a0no ten\u00eda esta sensaci\u00f3n de\u00a0<em>\u00abdescontrol\u00bb<\/em>, dado que la mayor\u00eda de los ejemplos aportados en la documentaci\u00f3n de\u00a0Microsoft, llevan el mismo patr\u00f3n a la hora de ordenar nuestro c\u00f3digo dentro del proyecto. A\u00fan as\u00ed y supongo que, debido a la experiencia, incluso en los \u00faltimos proyectos con Xamarin\u00a0los orden\u00e1bamos de una forma un poco distinta a la que propone la misma\u00a0Microsoft\u00a0en su documentaci\u00f3n.<\/p>\n<p>Partiendo de esta experiencia previa, la ordenaci\u00f3n que me gusta seguir en los proyectos de\u00a0<strong>Flutter<\/strong> (y antes en los de\u00a0Xamarin) es\u00a0<strong>una ordenaci\u00f3n basada en la funcionalidad o l\u00f3gica<\/strong> en lugar de en tipos. Este tipo de estructura u ordenaci\u00f3n nos facilita la reutilizaci\u00f3n y la modularidad del c\u00f3digo, por lo tanto se adapta mejor a los cambios, ya que podemos tener m\u00f3dulos independientes que pueden identificarse y modificarse sin necesidad de tocar el resto de funcionalidades. Adem\u00e1s, ayuda a tener un \u00e1rbol de la soluci\u00f3n mucho menos vertical y m\u00e1s legible entre otras ventajas.<\/p>\n<p>De esta forma, para m\u00ed la estrucutra de un proyecto en <strong>Flutter<\/strong>\u00a0quedar\u00eda de la siguiente manera<\/p>\n<ul>\n<li>Partimos de la carpeta\u00a0<strong>lib<\/strong>\u00a0y en ella ya pondremos todo nuestro c\u00f3digo.<\/li>\n<li>La carpeta\u00a0<strong>bases<\/strong>\u00a0ser\u00e1 para todas nuestras clases base de las que heredaran el resto de las clases si las tenemos.<\/li>\n<li>La carpeta\u00a0<strong>commons<\/strong>\u00a0contendr\u00e1 todas aquellas clases con configuraciones comunes a toda la aplicaci\u00f3n, normalmente son clases est\u00e1ticas con cadenas de configuraci\u00f3n, por ejemplo\u00a0<em><strong>commons\/settings_keys.dart<\/strong><\/em><\/li>\n<li>La carpeta\u00a0<strong>enums<\/strong>\u00a0tendr\u00e1 todos los enumerados comunes de nuestra aplicaci\u00f3n.<\/li>\n<li>La carpeta\u00a0<strong>models<\/strong>\u00a0tendr\u00e1 todos los modelos comunes de nuestra aplicaci\u00f3n.<\/li>\n<li>La carpeta\u00a0<strong>features. <\/strong>Esta puede que sea la carpeta m\u00e1s importante. La idea es que aqu\u00ed est\u00e9n las funcionalidades de nuestra aplicaci\u00f3n, es decir, si nuestra aplicaci\u00f3n usa un login, habr\u00e1 una carpeta para el <em>login<\/em>\u00a0(<em><strong>features\/login<\/strong><\/em><strong>). Si existe un perfil de usuario, habr\u00e1 una carpeta para nuestra pantalla de perfil de usuario (<em>features\/profile<\/em><\/strong>) etc. Cada carpeta contendr\u00e1 lo necesario para esa funcionalidad. Si existe un enumerado, un modelo o un servicio que s\u00f3lo utiliza est\u00e1 funcionalidad de nuestra aplicaci\u00f3n, estar\u00e1 aqu\u00ed. Pero no estar\u00e1n de cualquier forma, sino que respetar\u00e1n la ordenaci\u00f3n en carpetas que estamos viendo. Es decir, <strong>features<\/strong>\u00a0puede tener dentro una carpeta\u00a0<strong>models<\/strong>, que tendr\u00e1 los modelos que s\u00f3lo utiliza esa funcionalidad, por ejemplo\u00a0<em><strong>features\/login\/models<\/strong><\/em>.<\/li>\n<li>La carpeta\u00a0<strong>providers. <\/strong>En los proyectos de\u00a0<em>Flutter<\/em>\u00a0actualmente estoy haciendo uso de\u00a0<a href=\"https:\/\/pub.dev\/packages\/provider\" target=\"_blank\" rel=\"nofollow noopener\">Providers<\/a> y me gusta colocar aqu\u00ed los providers que son comunes a toda la aplicaci\u00f3n. Si hubiese un <em>provider<\/em> que solo se utiliza en una funcionaldiad, estar\u00eda dentro de la carpeta features y la carpeta correspondiente a la funcionalidad. Por ejemplo, aqu\u00ed encontrar\u00edamos el provider para la s settings de usuario que afectan a toda la aplicaci\u00f3n.<\/li>\n<li>La carpeta\u00a0<strong>widgets<\/strong>\u00a0viene a ser algo as\u00ed como la carpeta\u00a0<strong>controls. <\/strong>A\u00fan no tengo claro si llamarla\u00a0<strong>controls<\/strong>\u00a0o\u00a0<strong>widgets<\/strong>, en principio la he dejado\u00a0<strong>widgets<\/strong>\u00a0para indicar que son widgets gen\u00e9ricos que se utilizan a lo largo de la aplicaci\u00f3n. Pero podr\u00eda ser\u00a0<strong>controls<\/strong>\u00a0perfectamente.<\/li>\n<li>La carpeta\u00a0<strong>themes<\/strong> contendr\u00e1 toda la configuraci\u00f3n relacionada con el tema de colores que utilice nuestra aplicaci\u00f3n.<\/li>\n<li>La carpeta\u00a0<strong>routes<\/strong>\u00a0es donde defino la clase con las rutas para la navegaci\u00f3n dentro de la aplicaci\u00f3n<\/li>\n<li>La carpeta\u00a0<strong>i18N<\/strong>\u00a0es donde vamos a a\u00f1adir las cadenas de texto localizadas en los idiomas que necesitemos que nuestra aplicaci\u00f3n est\u00e9.<\/li>\n<li>La carpeta\u00a0<strong>services<\/strong>\u00a0contendr\u00e1 los servicios que sean gen\u00e9ricos, como el servicio de si hay conexi\u00f3n o el servicio para preservar los datos en local etc..<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone\" src=\"http:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/wp-content\/uploads\/sites\/21\/2023\/03\/capture.png\" alt=\"Captura de la estructura de carpetas en Visual Studio Code\" width=\"271\" height=\"434\" \/><\/p>\n<p>B\u00e1sicamente esta ser\u00eda la estructura b\u00e1sica que creo cuando inicio un proyecto en <strong>Flutter<\/strong>\u00a0y que me ayuda a mantener todas las clases ordenadas y as\u00ed facilitar el mantenimiento del proyecto a corto y largo plazo.<\/p>\n<p>C\u00f3mo nota, para simplificar los <em>imports<\/em>\u00a0en los archivos que pueden llegar a crecer mucho con esta organizaci\u00f3n en carpetas, suelo utilizar lo que llaman un\u00a0<em><strong>barrel file<\/strong><\/em>\u00a0dentro de cada carpeta, as\u00ed la carpeta\u00a0<strong>providers<\/strong>, tentr\u00e1 un\u00a0<em>barrel file<\/em>\u00a0<em>providers.dart<\/em>\u00a0que exporta lo necesario a otras clases,\u00a0<strong>providers\/providers.dart<\/strong>.<\/p>\n<p>\u00bfQu\u00e9 opinas de esta ordenaci\u00f3n? \u00bfusar\u00edas la misma? \u00bfqu\u00e9 cambiar\u00edas? Estar\u00eda bien discutirlo y llegar a la mejor ordenaci\u00f3n posible \ud83d\ude42<\/p>\n<!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons generic via filter on the_content --><span class=\"et_bloom_bottom_trigger\"><\/span>","protected":false},"excerpt":{"rendered":"<p>Cuando comenzamos a aprender\u00a0Flutter\u00a0lo primero que nos llama la atenci\u00f3n, sobre todo a los viejos del barrio como yo, es que no hay una forma clara o predefinida por parte de\u00a0Google\u00a0de ordenar las cosas dentro de un proyecto\u00a0Flutter.<!-- AddThis Advanced Settings generic via filter on get_the_excerpt --><!-- AddThis Share Buttons generic via filter on get_the_excerpt --><\/p>\n","protected":false},"author":213,"featured_media":1818,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[130],"tags":[],"class_list":["post-1807","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-flutter"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v18.2.1 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Flutter, poniendo orden | ENCAMINA<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/flutter-poniendo-orden\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Flutter, poniendo orden\" \/>\n<meta property=\"og:description\" content=\"Cuando comenzamos a aprender\u00a0Flutter\u00a0lo primero que nos llama la atenci\u00f3n, sobre todo a los viejos del barrio como yo, es que no hay una forma clara o predefinida por parte de\u00a0Google\u00a0de ordenar las cosas dentro de un proyecto\u00a0Flutter.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/flutter-poniendo-orden\/\" \/>\n<meta property=\"og:site_name\" content=\"Piensa en software, desarrolla en colores\" \/>\n<meta property=\"article:published_time\" content=\"2023-03-23T11:06:24+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-04-05T14:15:56+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/wp-content\/uploads\/sites\/21\/2023\/03\/Flutter.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"630\" \/>\n\t<meta property=\"og:image:height\" content=\"374\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Ciani Afonso D\u00edaz\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ciani Afonso D\u00edaz\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/piensa-en-software-desarrolla-en-colores\\\/flutter-poniendo-orden\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/piensa-en-software-desarrolla-en-colores\\\/flutter-poniendo-orden\\\/\"},\"author\":{\"name\":\"Ciani Afonso D\u00edaz\",\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/piensa-en-software-desarrolla-en-colores\\\/#\\\/schema\\\/person\\\/62f6dbef633fc688b93309ed86cbdab5\"},\"headline\":\"Flutter, poniendo orden\",\"datePublished\":\"2023-03-23T11:06:24+00:00\",\"dateModified\":\"2023-04-05T14:15:56+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/piensa-en-software-desarrolla-en-colores\\\/flutter-poniendo-orden\\\/\"},\"wordCount\":923,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/piensa-en-software-desarrolla-en-colores\\\/flutter-poniendo-orden\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/blogs.encamina.com\\\/piensa-en-software-desarrolla-en-colores\\\/wp-content\\\/uploads\\\/sites\\\/21\\\/2023\\\/03\\\/Flutter.jpg\",\"articleSection\":[\"Flutter\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/blogs.encamina.com\\\/piensa-en-software-desarrolla-en-colores\\\/flutter-poniendo-orden\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/piensa-en-software-desarrolla-en-colores\\\/flutter-poniendo-orden\\\/\",\"url\":\"https:\\\/\\\/blogs.encamina.com\\\/piensa-en-software-desarrolla-en-colores\\\/flutter-poniendo-orden\\\/\",\"name\":\"Flutter, poniendo orden | ENCAMINA\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/piensa-en-software-desarrolla-en-colores\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/piensa-en-software-desarrolla-en-colores\\\/flutter-poniendo-orden\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/piensa-en-software-desarrolla-en-colores\\\/flutter-poniendo-orden\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/blogs.encamina.com\\\/piensa-en-software-desarrolla-en-colores\\\/wp-content\\\/uploads\\\/sites\\\/21\\\/2023\\\/03\\\/Flutter.jpg\",\"datePublished\":\"2023-03-23T11:06:24+00:00\",\"dateModified\":\"2023-04-05T14:15:56+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/piensa-en-software-desarrolla-en-colores\\\/#\\\/schema\\\/person\\\/62f6dbef633fc688b93309ed86cbdab5\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/blogs.encamina.com\\\/piensa-en-software-desarrolla-en-colores\\\/flutter-poniendo-orden\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/piensa-en-software-desarrolla-en-colores\\\/flutter-poniendo-orden\\\/#primaryimage\",\"url\":\"https:\\\/\\\/blogs.encamina.com\\\/piensa-en-software-desarrolla-en-colores\\\/wp-content\\\/uploads\\\/sites\\\/21\\\/2023\\\/03\\\/Flutter.jpg\",\"contentUrl\":\"https:\\\/\\\/blogs.encamina.com\\\/piensa-en-software-desarrolla-en-colores\\\/wp-content\\\/uploads\\\/sites\\\/21\\\/2023\\\/03\\\/Flutter.jpg\",\"width\":630,\"height\":374},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/piensa-en-software-desarrolla-en-colores\\\/#website\",\"url\":\"https:\\\/\\\/blogs.encamina.com\\\/piensa-en-software-desarrolla-en-colores\\\/\",\"name\":\"Piensa en software, desarrolla en colores\",\"description\":\"Las ventajas que te ofrece Microsoft Azure y el mundo.NET\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/blogs.encamina.com\\\/piensa-en-software-desarrolla-en-colores\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/piensa-en-software-desarrolla-en-colores\\\/#\\\/schema\\\/person\\\/62f6dbef633fc688b93309ed86cbdab5\",\"name\":\"Ciani Afonso D\u00edaz\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/75a137a5818aab49ed1da1cee7371dac1a1ebac461cbc5bc6949611a23269c00?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/75a137a5818aab49ed1da1cee7371dac1a1ebac461cbc5bc6949611a23269c00?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/75a137a5818aab49ed1da1cee7371dac1a1ebac461cbc5bc6949611a23269c00?s=96&d=mm&r=g\",\"caption\":\"Ciani Afonso D\u00edaz\"},\"description\":\"Siempre me ha gustado la inform\u00e1tica, empec\u00e9 muy temprano gracias a mi padre y su primer MSX. Me encantan los dispositivos m\u00f3viles desde sus inicios y por esto me dediqu\u00e9 a aprender lo necesario para programarlos. Mis \u00faltimos a\u00f1os de programador los he dedicado \u00edntegramente a dispositivos m\u00f3viles, utilizando sobre todo Xamarin y desde hace poco, Flutter.\",\"url\":\"https:\\\/\\\/blogs.encamina.com\\\/piensa-en-software-desarrolla-en-colores\\\/author\\\/cafonso\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Flutter, poniendo orden | ENCAMINA","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:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/flutter-poniendo-orden\/","og_locale":"es_ES","og_type":"article","og_title":"Flutter, poniendo orden","og_description":"Cuando comenzamos a aprender\u00a0Flutter\u00a0lo primero que nos llama la atenci\u00f3n, sobre todo a los viejos del barrio como yo, es que no hay una forma clara o predefinida por parte de\u00a0Google\u00a0de ordenar las cosas dentro de un proyecto\u00a0Flutter.","og_url":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/flutter-poniendo-orden\/","og_site_name":"Piensa en software, desarrolla en colores","article_published_time":"2023-03-23T11:06:24+00:00","article_modified_time":"2023-04-05T14:15:56+00:00","og_image":[{"width":630,"height":374,"url":"http:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/wp-content\/uploads\/sites\/21\/2023\/03\/Flutter.jpg","type":"image\/jpeg"}],"author":"Ciani Afonso D\u00edaz","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"Ciani Afonso D\u00edaz","Tiempo de lectura":"5 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/flutter-poniendo-orden\/#article","isPartOf":{"@id":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/flutter-poniendo-orden\/"},"author":{"name":"Ciani Afonso D\u00edaz","@id":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/#\/schema\/person\/62f6dbef633fc688b93309ed86cbdab5"},"headline":"Flutter, poniendo orden","datePublished":"2023-03-23T11:06:24+00:00","dateModified":"2023-04-05T14:15:56+00:00","mainEntityOfPage":{"@id":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/flutter-poniendo-orden\/"},"wordCount":923,"commentCount":0,"image":{"@id":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/flutter-poniendo-orden\/#primaryimage"},"thumbnailUrl":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/wp-content\/uploads\/sites\/21\/2023\/03\/Flutter.jpg","articleSection":["Flutter"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/flutter-poniendo-orden\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/flutter-poniendo-orden\/","url":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/flutter-poniendo-orden\/","name":"Flutter, poniendo orden | ENCAMINA","isPartOf":{"@id":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/flutter-poniendo-orden\/#primaryimage"},"image":{"@id":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/flutter-poniendo-orden\/#primaryimage"},"thumbnailUrl":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/wp-content\/uploads\/sites\/21\/2023\/03\/Flutter.jpg","datePublished":"2023-03-23T11:06:24+00:00","dateModified":"2023-04-05T14:15:56+00:00","author":{"@id":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/#\/schema\/person\/62f6dbef633fc688b93309ed86cbdab5"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/flutter-poniendo-orden\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/flutter-poniendo-orden\/#primaryimage","url":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/wp-content\/uploads\/sites\/21\/2023\/03\/Flutter.jpg","contentUrl":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/wp-content\/uploads\/sites\/21\/2023\/03\/Flutter.jpg","width":630,"height":374},{"@type":"WebSite","@id":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/#website","url":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/","name":"Piensa en software, desarrolla en colores","description":"Las ventajas que te ofrece Microsoft Azure y el mundo.NET","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Person","@id":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/#\/schema\/person\/62f6dbef633fc688b93309ed86cbdab5","name":"Ciani Afonso D\u00edaz","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/secure.gravatar.com\/avatar\/75a137a5818aab49ed1da1cee7371dac1a1ebac461cbc5bc6949611a23269c00?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/75a137a5818aab49ed1da1cee7371dac1a1ebac461cbc5bc6949611a23269c00?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/75a137a5818aab49ed1da1cee7371dac1a1ebac461cbc5bc6949611a23269c00?s=96&d=mm&r=g","caption":"Ciani Afonso D\u00edaz"},"description":"Siempre me ha gustado la inform\u00e1tica, empec\u00e9 muy temprano gracias a mi padre y su primer MSX. Me encantan los dispositivos m\u00f3viles desde sus inicios y por esto me dediqu\u00e9 a aprender lo necesario para programarlos. Mis \u00faltimos a\u00f1os de programador los he dedicado \u00edntegramente a dispositivos m\u00f3viles, utilizando sobre todo Xamarin y desde hace poco, Flutter.","url":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/author\/cafonso\/"}]}},"_links":{"self":[{"href":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/wp-json\/wp\/v2\/posts\/1807","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/wp-json\/wp\/v2\/users\/213"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/wp-json\/wp\/v2\/comments?post=1807"}],"version-history":[{"count":0,"href":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/wp-json\/wp\/v2\/posts\/1807\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/wp-json\/wp\/v2\/media\/1818"}],"wp:attachment":[{"href":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/wp-json\/wp\/v2\/media?parent=1807"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/wp-json\/wp\/v2\/categories?post=1807"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/wp-json\/wp\/v2\/tags?post=1807"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}