{"id":1068,"date":"2013-07-15T16:07:12","date_gmt":"2013-07-15T16:07:12","guid":{"rendered":"http:\/\/joapen.com\/blog\/?p=1068"},"modified":"2013-07-01T09:33:58","modified_gmt":"2013-07-01T09:33:58","slug":"js-frameworks","status":"publish","type":"post","link":"http:\/\/joapen.com\/blog\/2013\/07\/15\/js-frameworks\/","title":{"rendered":"JS FrameWorks"},"content":{"rendered":"<p>Angular.js, Knockout.js, Backbone.js&#8230;<\/p>\n<p>Frameworks are like mushrooms, they grow-up and grow-up in all places without control.<\/p>\n<p>In some moments of your life you start a project where you have the capacity to decide some high level technical decisions such,<\/p>\n<blockquote><p>What JS framework is the best one for the project situation we have?<\/p><\/blockquote>\n<p>And then there are SWAT analysis, comparatives, people giving late night opinions&#8230;<\/p>\n<p>At the end of the day each framework has pros\/cons and if you go into deep of them all have issues, the perfect framework has still not been implemented, by nature they have positive and negative features.<\/p>\n<p>Apart of the selection of the framework itself, you have to invest on the training and learning curve of your team to really be able to implement functionality with the right approach.<\/p>\n<p>AngularJS implements MVC framework and thanks to a colleague, I have learned that they are implementing MVVM-C framework (<b>Model View ViewModel<\/b>). I had to go to <a href=\"http:\/\/en.wikipedia.org\/wiki\/Model_View_ViewModel\">Wikipedia<\/a> to see the pattern description.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Angular.js, Knockout.js, Backbone.js&#8230; Frameworks are like mushrooms, they grow-up and grow-up in all places without control. In some moments of your life you start a project where you have the capacity to decide some high level technical decisions such, What JS framework is the best one for the project situation we have? And then there &#8230; <a title=\"JS FrameWorks\" class=\"read-more\" href=\"http:\/\/joapen.com\/blog\/2013\/07\/15\/js-frameworks\/\" aria-label=\"Read more about JS FrameWorks\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[],"class_list":["post-1068","post","type-post","status-publish","format-standard","hentry","category-tool"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>JS FrameWorks -<\/title>\n<meta name=\"description\" content=\"Angular.js, Knockout.js, Backbone.js... Frameworks are like mushrooms, they grow-up and grow-up in all places without control. In some moments of your - joapen projects\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"http:\/\/joapen.com\/blog\/2013\/07\/15\/js-frameworks\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"JS FrameWorks -\" \/>\n<meta property=\"og:description\" content=\"Angular.js, Knockout.js, Backbone.js... Frameworks are like mushrooms, they grow-up and grow-up in all places without control. In some moments of your - joapen projects\" \/>\n<meta property=\"og:url\" content=\"http:\/\/joapen.com\/blog\/2013\/07\/15\/js-frameworks\/\" \/>\n<meta property=\"og:site_name\" content=\"joapen projects\" \/>\n<meta property=\"article:published_time\" content=\"2013-07-15T16:07:12+00:00\" \/>\n<meta name=\"author\" content=\"joapen\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"joapen\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"http:\\\/\\\/joapen.com\\\/blog\\\/2013\\\/07\\\/15\\\/js-frameworks\\\/#article\",\"isPartOf\":{\"@id\":\"http:\\\/\\\/joapen.com\\\/blog\\\/2013\\\/07\\\/15\\\/js-frameworks\\\/\"},\"author\":{\"name\":\"joapen\",\"@id\":\"https:\\\/\\\/joapen.com\\\/blog\\\/#\\\/schema\\\/person\\\/23919df2312175fe9c4609203595b217\"},\"headline\":\"JS FrameWorks\",\"datePublished\":\"2013-07-15T16:07:12+00:00\",\"mainEntityOfPage\":{\"@id\":\"http:\\\/\\\/joapen.com\\\/blog\\\/2013\\\/07\\\/15\\\/js-frameworks\\\/\"},\"wordCount\":172,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/joapen.com\\\/blog\\\/#\\\/schema\\\/person\\\/23919df2312175fe9c4609203595b217\"},\"articleSection\":[\"Tool\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"http:\\\/\\\/joapen.com\\\/blog\\\/2013\\\/07\\\/15\\\/js-frameworks\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"http:\\\/\\\/joapen.com\\\/blog\\\/2013\\\/07\\\/15\\\/js-frameworks\\\/\",\"url\":\"http:\\\/\\\/joapen.com\\\/blog\\\/2013\\\/07\\\/15\\\/js-frameworks\\\/\",\"name\":\"JS FrameWorks -\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/joapen.com\\\/blog\\\/#website\"},\"datePublished\":\"2013-07-15T16:07:12+00:00\",\"description\":\"Angular.js, Knockout.js, Backbone.js... Frameworks are like mushrooms, they grow-up and grow-up in all places without control. In some moments of your - joapen projects\",\"breadcrumb\":{\"@id\":\"http:\\\/\\\/joapen.com\\\/blog\\\/2013\\\/07\\\/15\\\/js-frameworks\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"http:\\\/\\\/joapen.com\\\/blog\\\/2013\\\/07\\\/15\\\/js-frameworks\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"http:\\\/\\\/joapen.com\\\/blog\\\/2013\\\/07\\\/15\\\/js-frameworks\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/joapen.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"JS FrameWorks\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/joapen.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/joapen.com\\\/blog\\\/\",\"name\":\"joapen projects\",\"description\":\"Just a place to write\",\"publisher\":{\"@id\":\"https:\\\/\\\/joapen.com\\\/blog\\\/#\\\/schema\\\/person\\\/23919df2312175fe9c4609203595b217\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/joapen.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/joapen.com\\\/blog\\\/#\\\/schema\\\/person\\\/23919df2312175fe9c4609203595b217\",\"name\":\"joapen\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/joapen.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/04\\\/joapen-mini.jpeg\",\"url\":\"https:\\\/\\\/joapen.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/04\\\/joapen-mini.jpeg\",\"contentUrl\":\"https:\\\/\\\/joapen.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/04\\\/joapen-mini.jpeg\",\"width\":400,\"height\":400,\"caption\":\"joapen\"},\"logo\":{\"@id\":\"https:\\\/\\\/joapen.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/04\\\/joapen-mini.jpeg\"},\"sameAs\":[\"http:\\\/\\\/www.joapen.com\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"JS FrameWorks -","description":"Angular.js, Knockout.js, Backbone.js... Frameworks are like mushrooms, they grow-up and grow-up in all places without control. In some moments of your - joapen projects","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":"http:\/\/joapen.com\/blog\/2013\/07\/15\/js-frameworks\/","og_locale":"en_US","og_type":"article","og_title":"JS FrameWorks -","og_description":"Angular.js, Knockout.js, Backbone.js... Frameworks are like mushrooms, they grow-up and grow-up in all places without control. In some moments of your - joapen projects","og_url":"http:\/\/joapen.com\/blog\/2013\/07\/15\/js-frameworks\/","og_site_name":"joapen projects","article_published_time":"2013-07-15T16:07:12+00:00","author":"joapen","twitter_misc":{"Written by":"joapen","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"http:\/\/joapen.com\/blog\/2013\/07\/15\/js-frameworks\/#article","isPartOf":{"@id":"http:\/\/joapen.com\/blog\/2013\/07\/15\/js-frameworks\/"},"author":{"name":"joapen","@id":"https:\/\/joapen.com\/blog\/#\/schema\/person\/23919df2312175fe9c4609203595b217"},"headline":"JS FrameWorks","datePublished":"2013-07-15T16:07:12+00:00","mainEntityOfPage":{"@id":"http:\/\/joapen.com\/blog\/2013\/07\/15\/js-frameworks\/"},"wordCount":172,"commentCount":0,"publisher":{"@id":"https:\/\/joapen.com\/blog\/#\/schema\/person\/23919df2312175fe9c4609203595b217"},"articleSection":["Tool"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["http:\/\/joapen.com\/blog\/2013\/07\/15\/js-frameworks\/#respond"]}]},{"@type":"WebPage","@id":"http:\/\/joapen.com\/blog\/2013\/07\/15\/js-frameworks\/","url":"http:\/\/joapen.com\/blog\/2013\/07\/15\/js-frameworks\/","name":"JS FrameWorks -","isPartOf":{"@id":"https:\/\/joapen.com\/blog\/#website"},"datePublished":"2013-07-15T16:07:12+00:00","description":"Angular.js, Knockout.js, Backbone.js... Frameworks are like mushrooms, they grow-up and grow-up in all places without control. In some moments of your - joapen projects","breadcrumb":{"@id":"http:\/\/joapen.com\/blog\/2013\/07\/15\/js-frameworks\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["http:\/\/joapen.com\/blog\/2013\/07\/15\/js-frameworks\/"]}]},{"@type":"BreadcrumbList","@id":"http:\/\/joapen.com\/blog\/2013\/07\/15\/js-frameworks\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/joapen.com\/blog\/"},{"@type":"ListItem","position":2,"name":"JS FrameWorks"}]},{"@type":"WebSite","@id":"https:\/\/joapen.com\/blog\/#website","url":"https:\/\/joapen.com\/blog\/","name":"joapen projects","description":"Just a place to write","publisher":{"@id":"https:\/\/joapen.com\/blog\/#\/schema\/person\/23919df2312175fe9c4609203595b217"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/joapen.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/joapen.com\/blog\/#\/schema\/person\/23919df2312175fe9c4609203595b217","name":"joapen","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/joapen.com\/blog\/wp-content\/uploads\/2021\/04\/joapen-mini.jpeg","url":"https:\/\/joapen.com\/blog\/wp-content\/uploads\/2021\/04\/joapen-mini.jpeg","contentUrl":"https:\/\/joapen.com\/blog\/wp-content\/uploads\/2021\/04\/joapen-mini.jpeg","width":400,"height":400,"caption":"joapen"},"logo":{"@id":"https:\/\/joapen.com\/blog\/wp-content\/uploads\/2021\/04\/joapen-mini.jpeg"},"sameAs":["http:\/\/www.joapen.com"]}]}},"_links":{"self":[{"href":"http:\/\/joapen.com\/blog\/wp-json\/wp\/v2\/posts\/1068","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/joapen.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/joapen.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/joapen.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/joapen.com\/blog\/wp-json\/wp\/v2\/comments?post=1068"}],"version-history":[{"count":3,"href":"http:\/\/joapen.com\/blog\/wp-json\/wp\/v2\/posts\/1068\/revisions"}],"predecessor-version":[{"id":1070,"href":"http:\/\/joapen.com\/blog\/wp-json\/wp\/v2\/posts\/1068\/revisions\/1070"}],"wp:attachment":[{"href":"http:\/\/joapen.com\/blog\/wp-json\/wp\/v2\/media?parent=1068"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/joapen.com\/blog\/wp-json\/wp\/v2\/categories?post=1068"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/joapen.com\/blog\/wp-json\/wp\/v2\/tags?post=1068"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}