{"id":1452,"date":"2014-11-07T15:00:09","date_gmt":"2014-11-07T13:00:09","guid":{"rendered":"http:\/\/www.webcodegeeks.com\/?p=1452"},"modified":"2014-11-01T09:48:28","modified_gmt":"2014-11-01T07:48:28","slug":"7-reasons-to-use-yeomans-angular-fullstack-generator","status":"publish","type":"post","link":"https:\/\/www.webcodegeeks.com\/javascript\/7-reasons-to-use-yeomans-angular-fullstack-generator\/","title":{"rendered":"7 reasons to use Yeoman\u2019s angular-fullstack generator"},"content":{"rendered":"<p>For my next project and, after looking for candidates and reading some hundreds of lines of documentation, I finally choose to work with the so called MEAN stack: mongodb, express, angular and node.<\/p>\n<p>As with any other technology ecosystem, the great number of frameworks, libraries and tools can make our choice\u00a0a challenge, and JavaScript is not an exception. But for JavaScript projects we have lot of help and I decide to use the awesome <a href=\"http:\/\/yeoman.io\/\">Yeoman<\/a> tool. Yeoman combines the power of <a href=\"http:\/\/gruntjs.com\/\">grunt<\/a>, <a href=\"http:\/\/bower.io\/\">bower<\/a>, <a href=\"https:\/\/www.npmjs.org\/\">npm<\/a> and adds its own salt: the generators.<\/p>\n<blockquote><p>Yeoman generators are tasks responsible to build the initial project scaffolding.<\/p><\/blockquote>\n<p>Yeoman offers an extensive set of official generators oriented to create: webapps, backbone app, chrome extension, etc but we can also found a myriad of non oficial generators (yes, because anyone can create a new generator to satisfy his\/her needs).<\/p>\n<p>Within all the generators I chose <a href=\"https:\/\/github.com\/DaftMonk\/generator-angular-fullstack\">angular-fullstack<\/a> to create my MEAN project structure and next are my reasons:<\/p>\n<h3>1. Easy to install<\/h3>\n<p>You require to have <a href=\"http:\/\/nodejs.org\/\">node<\/a> and\u00a0<a href=\"https:\/\/www.npmjs.org\/\">npm<\/a>\u00a0installed on your system. Once you have them install<a href=\"http:\/\/yeoman.io\/\">Yeoman<\/a>\u00a0and the\u00a0<a href=\"https:\/\/github.com\/DaftMonk\/generator-angular-fullstack\">angular-fullstack<\/a>\u00a0is as easy as:<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\n$ npm install -g yo\r\n$ npm install -g generator-angular-fullstack <\/pre>\n<p>Once installed the generator you simply need to create a new folder and initialise your project:<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\n$ mkdir my-new-project &amp;&amp; cd $_\r\n$ yo angular-fullstack &#x5B;app-name] <\/pre>\n<h3>2. Creates both client and server scaffoldings<\/h3>\n<p>The generator generates the\u00a0<em>full stack<\/em>\u00a0of your project, both the client and server code. Your project will start well organised and prepared to create an awesome RIA application.<\/p>\n<h3>3. Introduces good practices in the generated code<\/h3>\n<p>Because the generated is made by experienced developers, they\u00a0applies good practices in code organisation and style programming (like the environment configuration on the server side using node).<\/p>\n<p>For me, this is one of the most important reasons to use this generator. Anybody knows starting with a new technology is always hard, but it is nothing when you start with four new technologies <img decoding=\"async\" class=\"wp-smiley\" src=\"http:\/\/acuriousanimal.com\/blog\/wp-includes\/images\/smilies\/icon_smile.gif\" alt=\":)\" \/><\/p>\n<h3>4. Server side API prepared to use authentication<\/h3>\n<p>Following best practices the code is prepared so you can easily add security to you API via a node middleware so each request requires authentication of the client side.<\/p>\n<h3>5. Support HTML or jade templating on client side<\/h3>\n<p>You can use any template engine for client side but by default the generator works with HTML and Jade. I don\u2019t really like Jade too much so I always try to use EJS or similar (<em>Warning this last sentence is the author\u2019s opinion<\/em>).<\/p>\n<h3>6. Support for different CSS preprocessors<\/h3>\n<p>For different opinions there are different alternatives. This way\u00a0<a href=\"https:\/\/github.com\/DaftMonk\/generator-angular-fullstack\">angular-fullstack<\/a>\u00a0has support for plain CSS, <a href=\"http:\/\/learnboost.github.io\/stylus\/\">Stylus<\/a>, <a href=\"http:\/\/sass-lang.com\/\">Sass<\/a>\u00a0or <a href=\"http:\/\/lesscss.org\/\">LESS<\/a>\u00a0pre-processors. Choose your preferred.<\/p>\n<h3>7. Commands to scaffold anything<\/h3>\n<p>With the<a href=\"https:\/\/github.com\/DaftMonk\/generator-angular-fullstack\">angular-fullstack<\/a>\u00a0you can create\u00a0new end points for the server side or client side components (like routes, controllers, services, filters, directives, \u2026) with a sentences. So, next command:<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nyo angular-fullstack:endpoint message\r\n&#x5B;?] What will the url of your endpoint to be? \/api\/messages <\/pre>\n<p>will produce:<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nserver\/api\/message\/index.js\r\nserver\/api\/message\/message.spec.js\r\nserver\/api\/message\/message.controller.js\r\nserver\/api\/message\/message.model.js  (optional)\r\nserver\/api\/message\/message.socket.js (optional) <\/pre>\n<h2>\u00a0Conclusion<\/h2>\n<p>In my opnion,\u00a0<a href=\"https:\/\/github.com\/DaftMonk\/generator-angular-fullstack\">angular-fullstack<\/a>\u00a0is a really powerful tool that simplifies our day to day work.<\/p>\n<p>As always it is not the panacea, it is simply a generic tool to automatize many common tasks. Because of this we can found situations it lacks some feature.<\/p>\n<div class=\"attribution\">\n<table>\n<tbody>\n<tr>\n<td><span class=\"reference\">Reference: <\/span><\/td>\n<td><a href=\"http:\/\/acuriousanimal.com\/blog\/2014\/10\/18\/7-reasons-to-use-yeomans-angular-fullstack-generator\/\">7 reasons to use Yeoman\u2019s angular-fullstack generator<\/a> from our <a href=\"http:\/\/www.webcodegeeks.com\/wcg\/\">WCG partner<\/a> Antonio Santiago at the <a href=\"http:\/\/acuriousanimal.com\/blog\/\">A Curious Animal<\/a> blog.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>For my next project and, after looking for candidates and reading some hundreds of lines of documentation, I finally choose to work with the so called MEAN stack: mongodb, express, angular and node. As with any other technology ecosystem, the great number of frameworks, libraries and tools can make our choice\u00a0a challenge, and JavaScript is &hellip;<\/p>\n","protected":false},"author":7,"featured_media":920,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9],"tags":[],"class_list":["post-1452","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-javascript"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>7 reasons to use Yeoman\u2019s angular-fullstack generator - Web Code Geeks - 2026<\/title>\n<meta name=\"description\" content=\"For my next project and, after looking for candidates and reading some hundreds of lines of documentation, I finally choose to work with the so called\" \/>\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.webcodegeeks.com\/javascript\/7-reasons-to-use-yeomans-angular-fullstack-generator\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"7 reasons to use Yeoman\u2019s angular-fullstack generator - Web Code Geeks - 2026\" \/>\n<meta property=\"og:description\" content=\"For my next project and, after looking for candidates and reading some hundreds of lines of documentation, I finally choose to work with the so called\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.webcodegeeks.com\/javascript\/7-reasons-to-use-yeomans-angular-fullstack-generator\/\" \/>\n<meta property=\"og:site_name\" content=\"Web Code Geeks\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/webcodegeeks\" \/>\n<meta property=\"article:published_time\" content=\"2014-11-07T13:00:09+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/js-logo.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"150\" \/>\n\t<meta property=\"og:image:height\" content=\"150\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Antonio Santiago\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@webcodegeeks\" \/>\n<meta name=\"twitter:site\" content=\"@webcodegeeks\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Antonio Santiago\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.webcodegeeks.com\/javascript\/7-reasons-to-use-yeomans-angular-fullstack-generator\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/javascript\/7-reasons-to-use-yeomans-angular-fullstack-generator\/\"},\"author\":{\"name\":\"Antonio Santiago\",\"@id\":\"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/b9ad428a9312fc720bef9ebc43421e78\"},\"headline\":\"7 reasons to use Yeoman\u2019s angular-fullstack generator\",\"datePublished\":\"2014-11-07T13:00:09+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/javascript\/7-reasons-to-use-yeomans-angular-fullstack-generator\/\"},\"wordCount\":603,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/javascript\/7-reasons-to-use-yeomans-angular-fullstack-generator\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/js-logo.jpg\",\"articleSection\":[\"JavaScript\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.webcodegeeks.com\/javascript\/7-reasons-to-use-yeomans-angular-fullstack-generator\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.webcodegeeks.com\/javascript\/7-reasons-to-use-yeomans-angular-fullstack-generator\/\",\"url\":\"https:\/\/www.webcodegeeks.com\/javascript\/7-reasons-to-use-yeomans-angular-fullstack-generator\/\",\"name\":\"7 reasons to use Yeoman\u2019s angular-fullstack generator - Web Code Geeks - 2026\",\"isPartOf\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/javascript\/7-reasons-to-use-yeomans-angular-fullstack-generator\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/javascript\/7-reasons-to-use-yeomans-angular-fullstack-generator\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/js-logo.jpg\",\"datePublished\":\"2014-11-07T13:00:09+00:00\",\"description\":\"For my next project and, after looking for candidates and reading some hundreds of lines of documentation, I finally choose to work with the so called\",\"breadcrumb\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/javascript\/7-reasons-to-use-yeomans-angular-fullstack-generator\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.webcodegeeks.com\/javascript\/7-reasons-to-use-yeomans-angular-fullstack-generator\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.webcodegeeks.com\/javascript\/7-reasons-to-use-yeomans-angular-fullstack-generator\/#primaryimage\",\"url\":\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/js-logo.jpg\",\"contentUrl\":\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/js-logo.jpg\",\"width\":150,\"height\":150},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.webcodegeeks.com\/javascript\/7-reasons-to-use-yeomans-angular-fullstack-generator\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.webcodegeeks.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"JavaScript\",\"item\":\"https:\/\/www.webcodegeeks.com\/category\/javascript\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"7 reasons to use Yeoman\u2019s angular-fullstack generator\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.webcodegeeks.com\/#website\",\"url\":\"https:\/\/www.webcodegeeks.com\/\",\"name\":\"Web Code Geeks\",\"description\":\"Web Developers Resource Center\",\"publisher\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.webcodegeeks.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.webcodegeeks.com\/#organization\",\"name\":\"Exelixis Media P.C.\",\"url\":\"https:\/\/www.webcodegeeks.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.webcodegeeks.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png\",\"contentUrl\":\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png\",\"width\":864,\"height\":246,\"caption\":\"Exelixis Media P.C.\"},\"image\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/webcodegeeks\",\"https:\/\/x.com\/webcodegeeks\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/b9ad428a9312fc720bef9ebc43421e78\",\"name\":\"Antonio Santiago\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/a6e48b7e3c6ccbf7b291a6d36f49b911f5472c409294e52ccd3d017e3faf4c2b?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/a6e48b7e3c6ccbf7b291a6d36f49b911f5472c409294e52ccd3d017e3faf4c2b?s=96&d=mm&r=g\",\"caption\":\"Antonio Santiago\"},\"description\":\"A Computer Science as profession and hobby. Firm believer of Software Engineering and a lover of Agile methodologies. There is no ring to rule them all, every place needs to forge its own master ring. His main field of experience is the Java ecosystem, and he has also worked actively with many related web technologies while looking to improve the client side of web applications.\",\"sameAs\":[\"http:\/\/acuriousanimal.com\/blog\/\"],\"url\":\"https:\/\/www.webcodegeeks.com\/author\/antonio-santiago\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"7 reasons to use Yeoman\u2019s angular-fullstack generator - Web Code Geeks - 2026","description":"For my next project and, after looking for candidates and reading some hundreds of lines of documentation, I finally choose to work with the so called","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.webcodegeeks.com\/javascript\/7-reasons-to-use-yeomans-angular-fullstack-generator\/","og_locale":"en_US","og_type":"article","og_title":"7 reasons to use Yeoman\u2019s angular-fullstack generator - Web Code Geeks - 2026","og_description":"For my next project and, after looking for candidates and reading some hundreds of lines of documentation, I finally choose to work with the so called","og_url":"https:\/\/www.webcodegeeks.com\/javascript\/7-reasons-to-use-yeomans-angular-fullstack-generator\/","og_site_name":"Web Code Geeks","article_publisher":"https:\/\/www.facebook.com\/webcodegeeks","article_published_time":"2014-11-07T13:00:09+00:00","og_image":[{"width":150,"height":150,"url":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/js-logo.jpg","type":"image\/jpeg"}],"author":"Antonio Santiago","twitter_card":"summary_large_image","twitter_creator":"@webcodegeeks","twitter_site":"@webcodegeeks","twitter_misc":{"Written by":"Antonio Santiago","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.webcodegeeks.com\/javascript\/7-reasons-to-use-yeomans-angular-fullstack-generator\/#article","isPartOf":{"@id":"https:\/\/www.webcodegeeks.com\/javascript\/7-reasons-to-use-yeomans-angular-fullstack-generator\/"},"author":{"name":"Antonio Santiago","@id":"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/b9ad428a9312fc720bef9ebc43421e78"},"headline":"7 reasons to use Yeoman\u2019s angular-fullstack generator","datePublished":"2014-11-07T13:00:09+00:00","mainEntityOfPage":{"@id":"https:\/\/www.webcodegeeks.com\/javascript\/7-reasons-to-use-yeomans-angular-fullstack-generator\/"},"wordCount":603,"commentCount":0,"publisher":{"@id":"https:\/\/www.webcodegeeks.com\/#organization"},"image":{"@id":"https:\/\/www.webcodegeeks.com\/javascript\/7-reasons-to-use-yeomans-angular-fullstack-generator\/#primaryimage"},"thumbnailUrl":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/js-logo.jpg","articleSection":["JavaScript"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.webcodegeeks.com\/javascript\/7-reasons-to-use-yeomans-angular-fullstack-generator\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.webcodegeeks.com\/javascript\/7-reasons-to-use-yeomans-angular-fullstack-generator\/","url":"https:\/\/www.webcodegeeks.com\/javascript\/7-reasons-to-use-yeomans-angular-fullstack-generator\/","name":"7 reasons to use Yeoman\u2019s angular-fullstack generator - Web Code Geeks - 2026","isPartOf":{"@id":"https:\/\/www.webcodegeeks.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.webcodegeeks.com\/javascript\/7-reasons-to-use-yeomans-angular-fullstack-generator\/#primaryimage"},"image":{"@id":"https:\/\/www.webcodegeeks.com\/javascript\/7-reasons-to-use-yeomans-angular-fullstack-generator\/#primaryimage"},"thumbnailUrl":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/js-logo.jpg","datePublished":"2014-11-07T13:00:09+00:00","description":"For my next project and, after looking for candidates and reading some hundreds of lines of documentation, I finally choose to work with the so called","breadcrumb":{"@id":"https:\/\/www.webcodegeeks.com\/javascript\/7-reasons-to-use-yeomans-angular-fullstack-generator\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.webcodegeeks.com\/javascript\/7-reasons-to-use-yeomans-angular-fullstack-generator\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.webcodegeeks.com\/javascript\/7-reasons-to-use-yeomans-angular-fullstack-generator\/#primaryimage","url":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/js-logo.jpg","contentUrl":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/js-logo.jpg","width":150,"height":150},{"@type":"BreadcrumbList","@id":"https:\/\/www.webcodegeeks.com\/javascript\/7-reasons-to-use-yeomans-angular-fullstack-generator\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.webcodegeeks.com\/"},{"@type":"ListItem","position":2,"name":"JavaScript","item":"https:\/\/www.webcodegeeks.com\/category\/javascript\/"},{"@type":"ListItem","position":3,"name":"7 reasons to use Yeoman\u2019s angular-fullstack generator"}]},{"@type":"WebSite","@id":"https:\/\/www.webcodegeeks.com\/#website","url":"https:\/\/www.webcodegeeks.com\/","name":"Web Code Geeks","description":"Web Developers Resource Center","publisher":{"@id":"https:\/\/www.webcodegeeks.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.webcodegeeks.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.webcodegeeks.com\/#organization","name":"Exelixis Media P.C.","url":"https:\/\/www.webcodegeeks.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.webcodegeeks.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","contentUrl":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","width":864,"height":246,"caption":"Exelixis Media P.C."},"image":{"@id":"https:\/\/www.webcodegeeks.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/webcodegeeks","https:\/\/x.com\/webcodegeeks"]},{"@type":"Person","@id":"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/b9ad428a9312fc720bef9ebc43421e78","name":"Antonio Santiago","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/a6e48b7e3c6ccbf7b291a6d36f49b911f5472c409294e52ccd3d017e3faf4c2b?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a6e48b7e3c6ccbf7b291a6d36f49b911f5472c409294e52ccd3d017e3faf4c2b?s=96&d=mm&r=g","caption":"Antonio Santiago"},"description":"A Computer Science as profession and hobby. Firm believer of Software Engineering and a lover of Agile methodologies. There is no ring to rule them all, every place needs to forge its own master ring. His main field of experience is the Java ecosystem, and he has also worked actively with many related web technologies while looking to improve the client side of web applications.","sameAs":["http:\/\/acuriousanimal.com\/blog\/"],"url":"https:\/\/www.webcodegeeks.com\/author\/antonio-santiago\/"}]}},"_links":{"self":[{"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/posts\/1452","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/comments?post=1452"}],"version-history":[{"count":0,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/posts\/1452\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/media\/920"}],"wp:attachment":[{"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/media?parent=1452"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/categories?post=1452"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/tags?post=1452"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}