{"id":18831,"date":"2013-11-21T22:12:26","date_gmt":"2013-11-21T20:12:26","guid":{"rendered":"https:\/\/mamchenkov.net\/wordpress\/?p=18831"},"modified":"2013-11-21T22:12:26","modified_gmt":"2013-11-21T20:12:26","slug":"an-introduction-to-full-stack-javascript","status":"publish","type":"post","link":"https:\/\/mamchenkov.net\/wordpress\/2013\/11\/21\/an-introduction-to-full-stack-javascript\/","title":{"rendered":"An Introduction To Full-Stack JavaScript"},"content":{"rendered":"<!-- google_ad_section_start -->\n<p><a href=\"http:\/\/coding.smashingmagazine.com\/2013\/11\/21\/introduction-to-full-stack-javascript\/\">An Introduction To Full-Stack JavaScript<\/a><\/p>\n<p>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.<\/p>\n<!-- google_ad_section_end -->\n","protected":false},"excerpt":{"rendered":"<!-- google_ad_section_start -->\n<p>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.<\/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_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":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},"jetpack_post_was_ever_published":false,"_links_to":"","_links_to_target":""},"categories":[1,18,62,1334],"tags":[3063,1139,3209],"keyring_services":[],"class_list":["post-18831","post","type-post","status-publish","format-link","hentry","category-general","category-programming","category-technology","category-web-work","tag-frameworks","tag-javascript","tag-nodejs","post_format-post-format-link"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.9 - aioseo.com -->\n\t<meta name=\"description\" content=\"An Introduction To Full-Stack JavaScript There is more JavaScript discussion and references in this article than I can handle in go. Reading it parts is recommended, if you are not too experienced with the recent explosion in all kinds of JavaScript tools and frameworks.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Leonid Mamchenkov\"\/>\n\t<meta name=\"google-site-verification\" content=\"VHvdD0_usx1_4DzKy_QCVcICVgX2EgA2ybELT-wl7kQ\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/mamchenkov.net\/wordpress\/2013\/11\/21\/an-introduction-to-full-stack-javascript\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.9\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Leonid Mamchenkov - Life, universe, and everything else\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"An Introduction To Full-Stack JavaScript - Leonid Mamchenkov\" \/>\n\t\t<meta property=\"og:description\" content=\"An Introduction To Full-Stack JavaScript There is more JavaScript discussion and references in this article than I can handle in go. Reading it parts is recommended, if you are not too experienced with the recent explosion in all kinds of JavaScript tools and frameworks.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/mamchenkov.net\/wordpress\/2013\/11\/21\/an-introduction-to-full-stack-javascript\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t\t<meta property=\"og:image:height\" content=\"1024\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2013-11-21T20:12:26+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2013-11-21T20:12:26+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/MamchenkovBlog\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:site\" content=\"@mamchenkov\" \/>\n\t\t<meta name=\"twitter:title\" content=\"An Introduction To Full-Stack JavaScript - Leonid Mamchenkov\" \/>\n\t\t<meta name=\"twitter:description\" content=\"An Introduction To Full-Stack JavaScript There is more JavaScript discussion and references in this article than I can handle in go. Reading it parts is recommended, if you are not too experienced with the recent explosion in all kinds of JavaScript tools and frameworks.\" \/>\n\t\t<meta name=\"twitter:creator\" content=\"@mamchenkov\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2013\\\/11\\\/21\\\/an-introduction-to-full-stack-javascript\\\/#blogposting\",\"name\":\"An Introduction To Full-Stack JavaScript - Leonid Mamchenkov\",\"headline\":\"An Introduction To Full-Stack JavaScript\",\"author\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#person\"},\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2013\\\/11\\\/21\\\/an-introduction-to-full-stack-javascript\\\/#articleImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g\",\"width\":96,\"height\":96,\"caption\":\"Leonid Mamchenkov\"},\"datePublished\":\"2013-11-21T22:12:26+02:00\",\"dateModified\":\"2013-11-21T22:12:26+02:00\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2013\\\/11\\\/21\\\/an-introduction-to-full-stack-javascript\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2013\\\/11\\\/21\\\/an-introduction-to-full-stack-javascript\\\/#webpage\"},\"articleSection\":\"All, Programming, Technology, Web work, frameworks, JavaScript, NodeJS, Link\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2013\\\/11\\\/21\\\/an-introduction-to-full-stack-javascript\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/#listItem\",\"name\":\"Technology\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/#listItem\",\"position\":2,\"name\":\"Technology\",\"item\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/programming\\\/#listItem\",\"name\":\"Programming\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/programming\\\/#listItem\",\"position\":3,\"name\":\"Programming\",\"item\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/programming\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2013\\\/11\\\/21\\\/an-introduction-to-full-stack-javascript\\\/#listItem\",\"name\":\"An Introduction To Full-Stack JavaScript\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/#listItem\",\"name\":\"Technology\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2013\\\/11\\\/21\\\/an-introduction-to-full-stack-javascript\\\/#listItem\",\"position\":4,\"name\":\"An Introduction To Full-Stack JavaScript\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/programming\\\/#listItem\",\"name\":\"Programming\"}}]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#person\",\"name\":\"Leonid Mamchenkov\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2013\\\/11\\\/21\\\/an-introduction-to-full-stack-javascript\\\/#personImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g\",\"width\":96,\"height\":96,\"caption\":\"Leonid Mamchenkov\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/#author\",\"url\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/\",\"name\":\"Leonid Mamchenkov\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2013\\\/11\\\/21\\\/an-introduction-to-full-stack-javascript\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g\",\"width\":96,\"height\":96,\"caption\":\"Leonid Mamchenkov\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2013\\\/11\\\/21\\\/an-introduction-to-full-stack-javascript\\\/#webpage\",\"url\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2013\\\/11\\\/21\\\/an-introduction-to-full-stack-javascript\\\/\",\"name\":\"An Introduction To Full-Stack JavaScript - Leonid Mamchenkov\",\"description\":\"An Introduction To Full-Stack JavaScript There is more JavaScript discussion and references in this article than I can handle in go. Reading it parts is recommended, if you are not too experienced with the recent explosion in all kinds of JavaScript tools and frameworks.\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2013\\\/11\\\/21\\\/an-introduction-to-full-stack-javascript\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/#author\"},\"datePublished\":\"2013-11-21T22:12:26+02:00\",\"dateModified\":\"2013-11-21T22:12:26+02:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#website\",\"url\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/\",\"name\":\"Blog of Leonid Mamchenkov\",\"description\":\"Life, universe, and everything else\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#person\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"An Introduction To Full-Stack JavaScript - Leonid Mamchenkov","description":"An Introduction To Full-Stack JavaScript There is more JavaScript discussion and references in this article than I can handle in go. Reading it parts is recommended, if you are not too experienced with the recent explosion in all kinds of JavaScript tools and frameworks.","canonical_url":"https:\/\/mamchenkov.net\/wordpress\/2013\/11\/21\/an-introduction-to-full-stack-javascript\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"google-site-verification":"VHvdD0_usx1_4DzKy_QCVcICVgX2EgA2ybELT-wl7kQ","miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/mamchenkov.net\/wordpress\/2013\/11\/21\/an-introduction-to-full-stack-javascript\/#blogposting","name":"An Introduction To Full-Stack JavaScript - Leonid Mamchenkov","headline":"An Introduction To Full-Stack JavaScript","author":{"@id":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/#author"},"publisher":{"@id":"https:\/\/mamchenkov.net\/wordpress\/#person"},"image":{"@type":"ImageObject","@id":"https:\/\/mamchenkov.net\/wordpress\/2013\/11\/21\/an-introduction-to-full-stack-javascript\/#articleImage","url":"https:\/\/secure.gravatar.com\/avatar\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g","width":96,"height":96,"caption":"Leonid Mamchenkov"},"datePublished":"2013-11-21T22:12:26+02:00","dateModified":"2013-11-21T22:12:26+02:00","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/mamchenkov.net\/wordpress\/2013\/11\/21\/an-introduction-to-full-stack-javascript\/#webpage"},"isPartOf":{"@id":"https:\/\/mamchenkov.net\/wordpress\/2013\/11\/21\/an-introduction-to-full-stack-javascript\/#webpage"},"articleSection":"All, Programming, Technology, Web work, frameworks, JavaScript, NodeJS, Link"},{"@type":"BreadcrumbList","@id":"https:\/\/mamchenkov.net\/wordpress\/2013\/11\/21\/an-introduction-to-full-stack-javascript\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress#listItem","position":1,"name":"Home","item":"https:\/\/mamchenkov.net\/wordpress","nextItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/#listItem","name":"Technology"}},{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/#listItem","position":2,"name":"Technology","item":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/","nextItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/programming\/#listItem","name":"Programming"},"previousItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/programming\/#listItem","position":3,"name":"Programming","item":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/programming\/","nextItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/2013\/11\/21\/an-introduction-to-full-stack-javascript\/#listItem","name":"An Introduction To Full-Stack JavaScript"},"previousItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/#listItem","name":"Technology"}},{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/2013\/11\/21\/an-introduction-to-full-stack-javascript\/#listItem","position":4,"name":"An Introduction To Full-Stack JavaScript","previousItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/programming\/#listItem","name":"Programming"}}]},{"@type":"Person","@id":"https:\/\/mamchenkov.net\/wordpress\/#person","name":"Leonid Mamchenkov","image":{"@type":"ImageObject","@id":"https:\/\/mamchenkov.net\/wordpress\/2013\/11\/21\/an-introduction-to-full-stack-javascript\/#personImage","url":"https:\/\/secure.gravatar.com\/avatar\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g","width":96,"height":96,"caption":"Leonid Mamchenkov"}},{"@type":"Person","@id":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/#author","url":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/","name":"Leonid Mamchenkov","image":{"@type":"ImageObject","@id":"https:\/\/mamchenkov.net\/wordpress\/2013\/11\/21\/an-introduction-to-full-stack-javascript\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g","width":96,"height":96,"caption":"Leonid Mamchenkov"}},{"@type":"WebPage","@id":"https:\/\/mamchenkov.net\/wordpress\/2013\/11\/21\/an-introduction-to-full-stack-javascript\/#webpage","url":"https:\/\/mamchenkov.net\/wordpress\/2013\/11\/21\/an-introduction-to-full-stack-javascript\/","name":"An Introduction To Full-Stack JavaScript - Leonid Mamchenkov","description":"An Introduction To Full-Stack JavaScript There is more JavaScript discussion and references in this article than I can handle in go. Reading it parts is recommended, if you are not too experienced with the recent explosion in all kinds of JavaScript tools and frameworks.","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/mamchenkov.net\/wordpress\/#website"},"breadcrumb":{"@id":"https:\/\/mamchenkov.net\/wordpress\/2013\/11\/21\/an-introduction-to-full-stack-javascript\/#breadcrumblist"},"author":{"@id":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/#author"},"creator":{"@id":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/#author"},"datePublished":"2013-11-21T22:12:26+02:00","dateModified":"2013-11-21T22:12:26+02:00"},{"@type":"WebSite","@id":"https:\/\/mamchenkov.net\/wordpress\/#website","url":"https:\/\/mamchenkov.net\/wordpress\/","name":"Blog of Leonid Mamchenkov","description":"Life, universe, and everything else","inLanguage":"en-US","publisher":{"@id":"https:\/\/mamchenkov.net\/wordpress\/#person"}}]},"og:locale":"en_US","og:site_name":"Leonid Mamchenkov - Life, universe, and everything else","og:type":"article","og:title":"An Introduction To Full-Stack JavaScript - Leonid Mamchenkov","og:description":"An Introduction To Full-Stack JavaScript There is more JavaScript discussion and references in this article than I can handle in go. Reading it parts is recommended, if you are not too experienced with the recent explosion in all kinds of JavaScript tools and frameworks.","og:url":"https:\/\/mamchenkov.net\/wordpress\/2013\/11\/21\/an-introduction-to-full-stack-javascript\/","og:image":"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg","og:image:secure_url":"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg","og:image:width":1024,"og:image:height":1024,"article:published_time":"2013-11-21T20:12:26+00:00","article:modified_time":"2013-11-21T20:12:26+00:00","article:publisher":"https:\/\/www.facebook.com\/MamchenkovBlog","twitter:card":"summary_large_image","twitter:site":"@mamchenkov","twitter:title":"An Introduction To Full-Stack JavaScript - Leonid Mamchenkov","twitter:description":"An Introduction To Full-Stack JavaScript There is more JavaScript discussion and references in this article than I can handle in go. Reading it parts is recommended, if you are not too experienced with the recent explosion in all kinds of JavaScript tools and frameworks.","twitter:creator":"@mamchenkov","twitter:image":"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg"},"aioseo_meta_data":{"post_id":"18831","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2023-07-20 01:32:43","updated":"2026-01-15 09:47:51","seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/mamchenkov.net\/wordpress\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/\" title=\"Technology\">Technology<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/programming\/\" title=\"Programming\">Programming<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tAn Introduction To Full-Stack JavaScript\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/mamchenkov.net\/wordpress"},{"label":"Technology","link":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/"},{"label":"Programming","link":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/programming\/"},{"label":"An Introduction To Full-Stack JavaScript","link":"https:\/\/mamchenkov.net\/wordpress\/2013\/11\/21\/an-introduction-to-full-stack-javascript\/"}],"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":18831,"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":18831,"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":27638,"url":"https:\/\/mamchenkov.net\/wordpress\/2017\/05\/28\/choosing-a-future-javascript-framework-for-wordpress\/","url_meta":{"origin":18831,"position":2},"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":21839,"url":"https:\/\/mamchenkov.net\/wordpress\/2014\/05\/20\/rob-ashton-you-have-ruined-javascript\/","url_meta":{"origin":18831,"position":3},"title":"Rob Ashton : you have ruined JavaScript","author":"Leonid Mamchenkov","date":"May 20, 2014","format":"link","excerpt":"Rob Ashton : you have ruined JavaScript Rob talks about \"enterprise\"-level-like frameworks in JavaScript and the complexity of abstractions in some of them. For example, quoting AngularJS framework documentation like this: An Angular \"service\" is a singleton object created by a \"service factory\". These service factories are functions which, in\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":18831,"position":4},"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":[]},{"id":20210,"url":"https:\/\/mamchenkov.net\/wordpress\/2014\/02\/03\/list-of-minimalist-web-frameworks\/","url_meta":{"origin":18831,"position":5},"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":[]}],"jetpack_sharing_enabled":true,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/18831","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=18831"}],"version-history":[{"count":0,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/18831\/revisions"}],"wp:attachment":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/media?parent=18831"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/categories?post=18831"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/tags?post=18831"},{"taxonomy":"keyring_services","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/keyring_services?post=18831"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}