{"id":21839,"date":"2014-05-20T10:36:56","date_gmt":"2014-05-20T08:36:56","guid":{"rendered":"https:\/\/mamchenkov.net\/wordpress\/?p=21839"},"modified":"2014-05-20T10:36:56","modified_gmt":"2014-05-20T08:36:56","slug":"rob-ashton-you-have-ruined-javascript","status":"publish","type":"post","link":"https:\/\/mamchenkov.net\/wordpress\/2014\/05\/20\/rob-ashton-you-have-ruined-javascript\/","title":{"rendered":"Rob Ashton : you have ruined JavaScript"},"content":{"rendered":"<!-- google_ad_section_start -->\n<p><a href=\"http:\/\/codeofrob.com\/entries\/you-have-ruined-javascript.html\">Rob Ashton : you have ruined JavaScript<\/a><\/p>\n<p>Rob talks about &#8220;enterprise&#8221;-level-like frameworks in JavaScript and the complexity of abstractions in some of them.  For example, quoting AngularJS framework documentation like this:<\/p>\n<blockquote><p>An Angular &#8220;service&#8221; is a singleton object created by a &#8220;service factory&#8221;. These service factories are functions which, in turn, are created by a &#8220;service provider&#8221;. &#8220;The service providers are constructor functions&#8221;. When instantiated they must contain a property called $get, which holds the service factory function. <\/p><\/blockquote>\n<p>Whether you agree (I do) or disagree with his point of view, the blog post is still hilarious. <\/p>\n<!-- google_ad_section_end -->\n","protected":false},"excerpt":{"rendered":"<!-- google_ad_section_start -->\n<p>Rob Ashton : you have ruined JavaScript Rob talks about &#8220;enterprise&#8221;-level-like frameworks in JavaScript and the complexity of abstractions in some of them. For example, quoting AngularJS framework documentation like this: An Angular &#8220;service&#8221; is a singleton object created by a &#8220;service factory&#8221;. These service factories are functions which, in turn, are created by a &hellip; <a href=\"https:\/\/mamchenkov.net\/wordpress\/2014\/05\/20\/rob-ashton-you-have-ruined-javascript\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Rob Ashton : you have ruined JavaScript<\/span><\/a><\/p>\n<!-- google_ad_section_end -->\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"link","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"_links_to":"","_links_to_target":""},"categories":[1,18,62,1334],"tags":[3063,1139,1330],"keyring_services":[],"class_list":["post-21839","post","type-post","status-publish","format-link","hentry","category-general","category-programming","category-technology","category-web-work","tag-frameworks","tag-javascript","tag-web-development","post_format-post-format-link"],"aioseo_notices":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":28487,"url":"https:\/\/mamchenkov.net\/wordpress\/2018\/04\/18\/the-deepest-reason-why-modern-javascript-frameworks-exist\/","url_meta":{"origin":21839,"position":0},"title":"The deepest reason why modern JavaScript frameworks exist","author":"Leonid Mamchenkov","date":"April 18, 2018","format":false,"excerpt":"\"The deepest reason why modern JavaScript frameworks exist\" is a nice article looking at the crazy world of JavaScript frameworks and exploring why things are how they are.\u00a0 The conclusions from the article are: The main problem modern JavaScript frameworks solve is keeping the UI in sync with the state.\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2018\/04\/javascript-frameworks-reason-500x500.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":28327,"url":"https:\/\/mamchenkov.net\/wordpress\/2018\/01\/15\/the-brutal-lifecycle-of-javascript-frameworks\/","url_meta":{"origin":21839,"position":1},"title":"The Brutal Lifecycle of JavaScript Frameworks","author":"Leonid Mamchenkov","date":"January 15, 2018","format":false,"excerpt":"JavaScript ecosystem is well known for its dynamic nature.\u00a0 There are a gadzillion of libraries and frameworks, and they come and go much faster than any developer can learn and utilize them.\u00a0 StackOverflow blog runs this article, which looks at the issue in more detail.","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2018\/01\/javascript-frameworks-500x330.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":18831,"url":"https:\/\/mamchenkov.net\/wordpress\/2013\/11\/21\/an-introduction-to-full-stack-javascript\/","url_meta":{"origin":21839,"position":2},"title":"An Introduction To Full-Stack JavaScript","author":"Leonid Mamchenkov","date":"November 21, 2013","format":"link","excerpt":"An Introduction To Full-Stack JavaScript There is more JavaScript discussion and references in this article than I can handle in go. \u00a0Reading it parts is recommended, if you are not too experienced with the recent explosion in all kinds of JavaScript tools and frameworks.","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":27638,"url":"https:\/\/mamchenkov.net\/wordpress\/2017\/05\/28\/choosing-a-future-javascript-framework-for-wordpress\/","url_meta":{"origin":21839,"position":3},"title":"Choosing a future JavaScript framework for WordPress","author":"Leonid Mamchenkov","date":"May 28, 2017","format":false,"excerpt":"WordPress in general, and Matt Mullenweg in particular have been pushing for JavaScript for a while now. https:\/\/www.youtube.com\/watch?v=KrZx4IY1IgU So, it's not surprising that WordPress developers are chatting about the JavaScript framework that they'll use for the WordPress core JavaScript needs. The discussion is far from finalized right now, so it's\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/img.youtube.com\/vi\/KrZx4IY1IgU\/0.jpg?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":20210,"url":"https:\/\/mamchenkov.net\/wordpress\/2014\/02\/03\/list-of-minimalist-web-frameworks\/","url_meta":{"origin":21839,"position":4},"title":"List of minimalist web frameworks","author":"Leonid Mamchenkov","date":"February 3, 2014","format":"link","excerpt":"List of minimalist web frameworks Framework for CSS Web Framework for C Frameworks for Front-end JS Web framework for Go Web framework for Haskell Web framework for Java Web framework for Javascript Web framework for Lua Web framework for Node.js Web framework for Perl Web framework for PHP Web framework\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":22440,"url":"https:\/\/mamchenkov.net\/wordpress\/2014\/08\/28\/meteor-an-ultra-simple-database-everywhere-data-on-the-wire-pure-javascript-web-framework\/","url_meta":{"origin":21839,"position":5},"title":"Meteor &#8211; an ultra-simple, database-everywhere, data-on-the-wire, pure-Javascript web framework","author":"Leonid Mamchenkov","date":"August 28, 2014","format":"link","excerpt":"Meteor - an ultra-simple, database-everywhere, data-on-the-wire, pure-Javascript web framework","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_sharing_enabled":true,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/21839","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/comments?post=21839"}],"version-history":[{"count":0,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/21839\/revisions"}],"wp:attachment":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/media?parent=21839"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/categories?post=21839"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/tags?post=21839"},{"taxonomy":"keyring_services","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/keyring_services?post=21839"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}