<script type="application/json" id="HeaderNotice-apollo-state-992f9e1e-c79c-43fb-96a9-089d825fa346">{}</script> <!-- glamorIds: 7 --> <script type="application/json" id="HeaderNotice-glamor-992f9e1e-c79c-43fb-96a9-089d825fa346">["1htug8r","1yodi52","iepywa","x5hg3h","u0iaox","9ilv8v","gwph6j"]</script> <style>@-webkit-keyframes animation_1htug8r{to{transform:rotate(360deg);-webkit-transform:rotate(360deg);}}@-moz-keyframes animation_1htug8r{to{transform:rotate(360deg);-webkit-transform:rotate(360deg);}}@-o-keyframes animation_1htug8r{to{transform:rotate(360deg);-webkit-transform:rotate(360deg);}}@keyframes animation_1htug8r{to{transform:rotate(360deg);-webkit-transform:rotate(360deg);}}@-webkit-keyframes animation_1yodi52{0%{background-position:0 0;}100%{background-position:100em 0;}}@-moz-keyframes animation_1yodi52{0%{background-position:0 0;}100%{background-position:100em 0;}}@-o-keyframes animation_1yodi52{0%{background-position:0 0;}100%{background-position:100em 0;}}@keyframes animation_1yodi52{0%{background-position:0 0;}100%{background-position:100em 0;}}@-webkit-keyframes animation_iepywa{0%, 100%{opacity:0;}50%{opacity:1;}}@-moz-keyframes animation_iepywa{0%, 100%{opacity:0;}50%{opacity:1;}}@-o-keyframes animation_iepywa{0%, 100%{opacity:0;}50%{opacity:1;}}@keyframes animation_iepywa{0%, 100%{opacity:0;}50%{opacity:1;}}@-webkit-keyframes animation_x5hg3h{100%{stroke-dashoffset:0;}}@-moz-keyframes animation_x5hg3h{100%{stroke-dashoffset:0;}}@-o-keyframes animation_x5hg3h{100%{stroke-dashoffset:0;}}@keyframes animation_x5hg3h{100%{stroke-dashoffset:0;}}@-webkit-keyframes animation_u0iaox{0%, 100%{transform:none;-webkit-transform:none;}50%{transform:scale3d(1.1, 1.1, 1);-webkit-transform:scale3d(1.1, 1.1, 1);}}@-moz-keyframes animation_u0iaox{0%, 100%{transform:none;-webkit-transform:none;}50%{transform:scale3d(1.1, 1.1, 1);-webkit-transform:scale3d(1.1, 1.1, 1);}}@-o-keyframes animation_u0iaox{0%, 100%{transform:none;-webkit-transform:none;}50%{transform:scale3d(1.1, 1.1, 1);-webkit-transform:scale3d(1.1, 1.1, 1);}}@keyframes animation_u0iaox{0%, 100%{transform:none;-webkit-transform:none;}50%{transform:scale3d(1.1, 1.1, 1);-webkit-transform:scale3d(1.1, 1.1, 1);}}@-webkit-keyframes animation_9ilv8v{100%{box-shadow:inset 0px 0px 0px 30px #068dfe;}}@-moz-keyframes animation_9ilv8v{100%{box-shadow:inset 0px 0px 0px 30px #068dfe;}}@-o-keyframes animation_9ilv8v{100%{box-shadow:inset 0px 0px 0px 30px #068dfe;}}@keyframes animation_9ilv8v{100%{box-shadow:inset 0px 0px 0px 30px #068dfe;}}.css-gwph6j,[data-css-gwph6j]{border-radius:2px;background-size:200% 100%;width:auto;height:auto;animation:20s animation_1yodi52 0s linear infinite;background:-webkit-linear-gradient(to right, #f1f1f1 0%, #fbfbfb 50%, #f1f1f1 100%); background: -moz-linear-gradient(to right, #f1f1f1 0%, #fbfbfb 50%, #f1f1f1 100%); background: linear-gradient(to right, #f1f1f1 0%, #fbfbfb 50%, #f1f1f1 100%);-webkit-animation:20s animation_1yodi52 0s linear infinite;}</style> <div id="HeaderNotice-react-component-992f9e1e-c79c-43fb-96a9-089d825fa346" data-ssr="true" ><div style="z-index:1000" class="css-gwph6j"></div></div> <script> renderComponent('HeaderNotice','HeaderNotice-react-component-992f9e1e-c79c-43fb-96a9-089d825fa346','HeaderNotice-apollo-state-992f9e1e-c79c-43fb-96a9-089d825fa346','HeaderNotice-glamor-992f9e1e-c79c-43fb-96a9-089d825fa346', 'apollo','{"mobile":false}'); </script> <script type="application/json" id="ToolAlternatives-apollo-state-136e5630-0d03-4b43-8077-098cfa43fe02">{"ROOT_QUERY":{"me":null,"tool({\"id\":\"nodejs\"})":{"type":"id","generated":false,"id":"Tool:101231773845103618","typename":"Tool"},"tool({\"id\":\"101231773845103618\"})":{"type":"id","generated":false,"id":"Tool:101231773845103618","typename":"Tool"}},"Tool:101231773845103618":{"id":"101231773845103618","imageUrl":"https://img.stackshare.io/service/1011/n1JRsFeB_400x400.png","name":"Node.js","ampStoryEnabled":false,"description":"Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.","followers":{"type":"id","generated":true,"id":"$Tool:101231773845103618.followers","typename":"UserConnection"},"company":{"type":"id","generated":true,"id":"$Tool:101231773845103618.company","typename":"Company"},"path":"/nodejs","slug":"nodejs","following":false,"alternativeTools":{"type":"id","generated":true,"id":"$Tool:101231773845103618.alternativeTools","typename":"ToolConnection"},"function":{"type":"id","generated":true,"id":"$Tool:101231773845103618.function","typename":"Function"},"layer":{"type":"id","generated":true,"id":"$Tool:101231773845103618.layer","typename":"Layer"},"category":{"type":"id","generated":true,"id":"$Tool:101231773845103618.category","typename":"Category"},"features":null,"thumbUrl":"https://img.stackshare.io/service/1011/thumb_n1JRsFeB_400x400.png","thumbRetinaUrl":"https://img.stackshare.io/service/1011/thumb_retina_n1JRsFeB_400x400.png","verified":false,"pressUrl":"https://github.com/nodejs/node","githubForksCount":24866,"githubStarsCount":91950,"title":"A platform built on Chrome's JavaScript runtime for easily building fast, scalable network applications","twitterUsername":"nodejs","websiteUrl":"http://nodejs.org/","stacks":159855,"votes":8511,"privateFollowers":{"type":"id","generated":true,"id":"$Tool:101231773845103618.privateFollowers","typename":"UserConnection"},"footerAlternateTools({\"first\":5})":{"type":"id","generated":true,"id":"$Tool:101231773845103618.footerAlternateTools({\"first\":5})","typename":"ToolConnection"},"footerNewTools({\"first\":5})":{"type":"id","generated":true,"id":"$Tool:101231773845103618.footerNewTools({\"first\":5})","typename":"ToolConnection"},"footerTopTools({\"first\":5})":{"type":"id","generated":true,"id":"$Tool:101231773845103618.footerTopTools({\"first\":5})","typename":"ToolConnection"},"footerRelatedStackups({\"first\":5})":{"type":"id","generated":true,"id":"$Tool:101231773845103618.footerRelatedStackups({\"first\":5})","typename":"StackupConnection"},"__typename":"Tool","canonicalUrl":"/nodejs","fans":155041,"followContext":null,"alternativeTools({\"first\":8})":{"type":"id","generated":true,"id":"$Tool:101231773845103618.alternativeTools({\"first\":8})","typename":"ToolConnection"}},"$Tool:101231773845103618.followers":{"count":134116,"__typename":"UserConnection"},"$Tool:101231773845103618.company":{"name":"Node.js","slug":"node-js","stacks":[],"__typename":"Company"},"$Tool:101231773845103618.alternativeTools":{"count":158,"__typename":"ToolConnection"},"$Tool:101231773845103618.function":{"name":"Frameworks (Full Stack)","slug":"frameworks","__typename":"Function"},"$Tool:101231773845103618.layer":{"name":"Application and Data","slug":"application_and_data","__typename":"Layer"},"$Tool:101231773845103618.category":{"name":"Languages & Frameworks","slug":"languages-and-frameworks","__typename":"Category"},"$Tool:101231773845103618.privateFollowers":{"count":0,"__typename":"UserConnection"},"$Tool:101231773845103618.footerAlternateTools({\"first\":5}).edges.0.node":{"name":"AngularJS","path":"/angularjs","__typename":"Tool"},"$Tool:101231773845103618.footerAlternateTools({\"first\":5}).edges.0":{"node":{"type":"id","generated":true,"id":"$Tool:101231773845103618.footerAlternateTools({\"first\":5}).edges.0.node","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231773845103618.footerAlternateTools({\"first\":5}).edges.1.node":{"name":"PHP","path":"/php","__typename":"Tool"},"$Tool:101231773845103618.footerAlternateTools({\"first\":5}).edges.1":{"node":{"type":"id","generated":true,"id":"$Tool:101231773845103618.footerAlternateTools({\"first\":5}).edges.1.node","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231773845103618.footerAlternateTools({\"first\":5}).edges.2.node":{"name":"Python","path":"/python","__typename":"Tool"},"$Tool:101231773845103618.footerAlternateTools({\"first\":5}).edges.2":{"node":{"type":"id","generated":true,"id":"$Tool:101231773845103618.footerAlternateTools({\"first\":5}).edges.2.node","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231773845103618.footerAlternateTools({\"first\":5}).edges.3.node":{"name":"JavaScript","path":"/javascript","__typename":"Tool"},"$Tool:101231773845103618.footerAlternateTools({\"first\":5}).edges.3":{"node":{"type":"id","generated":true,"id":"$Tool:101231773845103618.footerAlternateTools({\"first\":5}).edges.3.node","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231773845103618.footerAlternateTools({\"first\":5}).edges.4.node":{"name":"React","path":"/react","__typename":"Tool"},"$Tool:101231773845103618.footerAlternateTools({\"first\":5}).edges.4":{"node":{"type":"id","generated":true,"id":"$Tool:101231773845103618.footerAlternateTools({\"first\":5}).edges.4.node","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231773845103618.footerAlternateTools({\"first\":5})":{"edges":[{"type":"id","generated":true,"id":"$Tool:101231773845103618.footerAlternateTools({\"first\":5}).edges.0","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231773845103618.footerAlternateTools({\"first\":5}).edges.1","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231773845103618.footerAlternateTools({\"first\":5}).edges.2","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231773845103618.footerAlternateTools({\"first\":5}).edges.3","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231773845103618.footerAlternateTools({\"first\":5}).edges.4","typename":"ToolEdge"}],"__typename":"ToolConnection"},"$Tool:101231773845103618.footerNewTools({\"first\":5}).edges.0.node":{"name":"antiX Linux","path":"/antix-linux","__typename":"Tool"},"$Tool:101231773845103618.footerNewTools({\"first\":5}).edges.0":{"node":{"type":"id","generated":true,"id":"$Tool:101231773845103618.footerNewTools({\"first\":5}).edges.0.node","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231773845103618.footerNewTools({\"first\":5}).edges.1.node":{"name":"AlmaLinux","path":"/almalinux","__typename":"Tool"},"$Tool:101231773845103618.footerNewTools({\"first\":5}).edges.1":{"node":{"type":"id","generated":true,"id":"$Tool:101231773845103618.footerNewTools({\"first\":5}).edges.1.node","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231773845103618.footerNewTools({\"first\":5}).edges.2.node":{"name":"Hyperstack","path":"/hyperstack","__typename":"Tool"},"$Tool:101231773845103618.footerNewTools({\"first\":5}).edges.2":{"node":{"type":"id","generated":true,"id":"$Tool:101231773845103618.footerNewTools({\"first\":5}).edges.2.node","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231773845103618.footerNewTools({\"first\":5}).edges.3.node":{"name":"Graphul","path":"/graphul","__typename":"Tool"},"$Tool:101231773845103618.footerNewTools({\"first\":5}).edges.3":{"node":{"type":"id","generated":true,"id":"$Tool:101231773845103618.footerNewTools({\"first\":5}).edges.3.node","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231773845103618.footerNewTools({\"first\":5}).edges.4.node":{"name":"Workerd","path":"/workerd","__typename":"Tool"},"$Tool:101231773845103618.footerNewTools({\"first\":5}).edges.4":{"node":{"type":"id","generated":true,"id":"$Tool:101231773845103618.footerNewTools({\"first\":5}).edges.4.node","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231773845103618.footerNewTools({\"first\":5})":{"edges":[{"type":"id","generated":true,"id":"$Tool:101231773845103618.footerNewTools({\"first\":5}).edges.0","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231773845103618.footerNewTools({\"first\":5}).edges.1","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231773845103618.footerNewTools({\"first\":5}).edges.2","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231773845103618.footerNewTools({\"first\":5}).edges.3","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231773845103618.footerNewTools({\"first\":5}).edges.4","typename":"ToolEdge"}],"__typename":"ToolConnection"},"$Tool:101231773845103618.footerTopTools({\"first\":5}).edges.0.node":{"name":"JavaScript","path":"/javascript","__typename":"Tool"},"$Tool:101231773845103618.footerTopTools({\"first\":5}).edges.0":{"node":{"type":"id","generated":true,"id":"$Tool:101231773845103618.footerTopTools({\"first\":5}).edges.0.node","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231773845103618.footerTopTools({\"first\":5}).edges.1.node":{"name":"Python","path":"/python","__typename":"Tool"},"$Tool:101231773845103618.footerTopTools({\"first\":5}).edges.1":{"node":{"type":"id","generated":true,"id":"$Tool:101231773845103618.footerTopTools({\"first\":5}).edges.1.node","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231773845103618.footerTopTools({\"first\":5}).edges.2.node":{"name":"Node.js","path":"/nodejs","__typename":"Tool"},"$Tool:101231773845103618.footerTopTools({\"first\":5}).edges.2":{"node":{"type":"id","generated":true,"id":"$Tool:101231773845103618.footerTopTools({\"first\":5}).edges.2.node","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231773845103618.footerTopTools({\"first\":5}).edges.3.node":{"name":"PHP","path":"/php","__typename":"Tool"},"$Tool:101231773845103618.footerTopTools({\"first\":5}).edges.3":{"node":{"type":"id","generated":true,"id":"$Tool:101231773845103618.footerTopTools({\"first\":5}).edges.3.node","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231773845103618.footerTopTools({\"first\":5}).edges.4.node":{"name":"HTML5","path":"/html5","__typename":"Tool"},"$Tool:101231773845103618.footerTopTools({\"first\":5}).edges.4":{"node":{"type":"id","generated":true,"id":"$Tool:101231773845103618.footerTopTools({\"first\":5}).edges.4.node","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231773845103618.footerTopTools({\"first\":5})":{"edges":[{"type":"id","generated":true,"id":"$Tool:101231773845103618.footerTopTools({\"first\":5}).edges.0","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231773845103618.footerTopTools({\"first\":5}).edges.1","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231773845103618.footerTopTools({\"first\":5}).edges.2","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231773845103618.footerTopTools({\"first\":5}).edges.3","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231773845103618.footerTopTools({\"first\":5}).edges.4","typename":"ToolEdge"}],"__typename":"ToolConnection"},"$Tool:101231773845103618.footerRelatedStackups({\"first\":5}).edges.0.node":{"path":"/stackups/django-vs-laravel-vs-nodejs","title":"Django vs Laravel vs Node.js","__typename":"Stackup"},"$Tool:101231773845103618.footerRelatedStackups({\"first\":5}).edges.0":{"node":{"type":"id","generated":true,"id":"$Tool:101231773845103618.footerRelatedStackups({\"first\":5}).edges.0.node","typename":"Stackup"},"__typename":"StackupEdge"},"$Tool:101231773845103618.footerRelatedStackups({\"first\":5}).edges.1.node":{"path":"/stackups/nodejs-vs-spring-boot","title":"Node.js vs Spring Boot","__typename":"Stackup"},"$Tool:101231773845103618.footerRelatedStackups({\"first\":5}).edges.1":{"node":{"type":"id","generated":true,"id":"$Tool:101231773845103618.footerRelatedStackups({\"first\":5}).edges.1.node","typename":"Stackup"},"__typename":"StackupEdge"},"$Tool:101231773845103618.footerRelatedStackups({\"first\":5}).edges.2.node":{"path":"/stackups/nodejs-vs-spring","title":"Node.js vs Spring","__typename":"Stackup"},"$Tool:101231773845103618.footerRelatedStackups({\"first\":5}).edges.2":{"node":{"type":"id","generated":true,"id":"$Tool:101231773845103618.footerRelatedStackups({\"first\":5}).edges.2.node","typename":"Stackup"},"__typename":"StackupEdge"},"$Tool:101231773845103618.footerRelatedStackups({\"first\":5}).edges.3.node":{"path":"/stackups/dot-net-vs-nodejs-vs-spring","title":".NET vs Node.js vs Spring","__typename":"Stackup"},"$Tool:101231773845103618.footerRelatedStackups({\"first\":5}).edges.3":{"node":{"type":"id","generated":true,"id":"$Tool:101231773845103618.footerRelatedStackups({\"first\":5}).edges.3.node","typename":"Stackup"},"__typename":"StackupEdge"},"$Tool:101231773845103618.footerRelatedStackups({\"first\":5}).edges.4.node":{"path":"/stackups/flask-vs-nodejs","title":"Flask vs Node.js","__typename":"Stackup"},"$Tool:101231773845103618.footerRelatedStackups({\"first\":5}).edges.4":{"node":{"type":"id","generated":true,"id":"$Tool:101231773845103618.footerRelatedStackups({\"first\":5}).edges.4.node","typename":"Stackup"},"__typename":"StackupEdge"},"$Tool:101231773845103618.footerRelatedStackups({\"first\":5})":{"edges":[{"type":"id","generated":true,"id":"$Tool:101231773845103618.footerRelatedStackups({\"first\":5}).edges.0","typename":"StackupEdge"},{"type":"id","generated":true,"id":"$Tool:101231773845103618.footerRelatedStackups({\"first\":5}).edges.1","typename":"StackupEdge"},{"type":"id","generated":true,"id":"$Tool:101231773845103618.footerRelatedStackups({\"first\":5}).edges.2","typename":"StackupEdge"},{"type":"id","generated":true,"id":"$Tool:101231773845103618.footerRelatedStackups({\"first\":5}).edges.3","typename":"StackupEdge"},{"type":"id","generated":true,"id":"$Tool:101231773845103618.footerRelatedStackups({\"first\":5}).edges.4","typename":"StackupEdge"}],"__typename":"StackupConnection"},"$Tool:101231773845103618.alternativeTools({\"first\":8}).pageInfo":{"hasNextPage":true,"endCursor":"OA","__typename":"PageInfo"},"$Tool:101231773845103618.alternativeTools({\"first\":8})":{"pageInfo":{"type":"id","generated":true,"id":"$Tool:101231773845103618.alternativeTools({\"first\":8}).pageInfo","typename":"PageInfo"},"edges":[{"type":"id","generated":true,"id":"$Tool:101231773845103618.alternativeTools({\"first\":8}).edges.0","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231773845103618.alternativeTools({\"first\":8}).edges.1","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231773845103618.alternativeTools({\"first\":8}).edges.2","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231773845103618.alternativeTools({\"first\":8}).edges.3","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231773845103618.alternativeTools({\"first\":8}).edges.4","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231773845103618.alternativeTools({\"first\":8}).edges.5","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231773845103618.alternativeTools({\"first\":8}).edges.6","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231773845103618.alternativeTools({\"first\":8}).edges.7","typename":"ToolEdge"}],"__typename":"ToolConnection"},"Tool:101231773848354670":{"id":"101231773848354670","path":"/angularjs","slug":"angularjs","title":"Superheroic JavaScript MVW Framework","votes":5234,"following":false,"followers":{"type":"id","generated":true,"id":"$Tool:101231773848354670.followers","typename":"UserConnection"},"stacks":56685,"githubForksCount":28198,"imageUrl":"https://img.stackshare.io/service/1019/square.png","thumbRetinaUrl":"https://img.stackshare.io/service/1019/thumb_retina_square.png","name":"AngularJS","description":"AngularJS lets you write client-side web applications as if you had a smarter browser. It lets you use good old HTML (or HAML, Jade and friends!) as your template language and lets you extend HTML’s syntax to express your application’s components clearly and succinctly. It automatically synchronizes data from your UI (view) with your JavaScript objects (model) through 2-way data binding.","contactEnabled":true,"contactButtonText":"LogRocket integrates with AngularJS","contactFlow":{"type":"json","json":{"links":[{"url":"http://bit.ly/3jfiJFV","type":"website"}],"steps":["direct_link"]}},"pros":{"type":"id","generated":true,"id":"$Tool:101231773848354670.pros","typename":"ReasonConnection"},"cons":{"type":"id","generated":true,"id":"$Tool:101231773848354670.cons","typename":"ReasonConnection"},"verified":false,"canonicalUrl":"/angularjs","fans":50075,"followContext":null,"__typename":"Tool","stackDecisionsWithAlternatives({\"first\":2})":{"type":"id","generated":true,"id":"$Tool:101231773848354670.stackDecisionsWithAlternatives({\"first\":2})","typename":"StackDecisionConnection"}},"$Tool:101231773848354670.followers":{"count":39080,"__typename":"UserConnection"},"Reason:101978468252347638":{"id":"101978468252347638","upvoted":false,"upvotesCount":889,"text":"Quick to develop","__typename":"Reason"},"$Tool:101231773848354670.pros.edges.0":{"node":{"type":"id","generated":false,"id":"Reason:101978468252347638","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468293743609":{"id":"101978468293743609","upvoted":false,"upvotesCount":588,"text":"Great mvc","__typename":"Reason"},"$Tool:101231773848354670.pros.edges.1":{"node":{"type":"id","generated":false,"id":"Reason:101978468293743609","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468354782386":{"id":"101978468354782386","upvoted":false,"upvotesCount":572,"text":"Powerful","__typename":"Reason"},"$Tool:101231773848354670.pros.edges.2":{"node":{"type":"id","generated":false,"id":"Reason:101978468354782386","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468296449746":{"id":"101978468296449746","upvoted":false,"upvotesCount":521,"text":"Restful","__typename":"Reason"},"$Tool:101231773848354670.pros.edges.3":{"node":{"type":"id","generated":false,"id":"Reason:101978468296449746","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468293964810":{"id":"101978468293964810","upvoted":false,"upvotesCount":503,"text":"Backed by google","__typename":"Reason"},"$Tool:101231773848354670.pros.edges.4":{"node":{"type":"id","generated":false,"id":"Reason:101978468293964810","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468547167843":{"id":"101978468547167843","upvoted":false,"upvotesCount":349,"text":"Two-way data binding","__typename":"Reason"},"$Tool:101231773848354670.pros.edges.5":{"node":{"type":"id","generated":false,"id":"Reason:101978468547167843","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468352976384":{"id":"101978468352976384","upvoted":false,"upvotesCount":343,"text":"Javascript","__typename":"Reason"},"$Tool:101231773848354670.pros.edges.6":{"node":{"type":"id","generated":false,"id":"Reason:101978468352976384","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468297645491":{"id":"101978468297645491","upvoted":false,"upvotesCount":328,"text":"Open source","__typename":"Reason"},"$Tool:101231773848354670.pros.edges.7":{"node":{"type":"id","generated":false,"id":"Reason:101978468297645491","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468296700985":{"id":"101978468296700985","upvoted":false,"upvotesCount":306,"text":"Dependency injection","__typename":"Reason"},"$Tool:101231773848354670.pros.edges.8":{"node":{"type":"id","generated":false,"id":"Reason:101978468296700985","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468252210189":{"id":"101978468252210189","upvoted":false,"upvotesCount":197,"text":"Readable","__typename":"Reason"},"$Tool:101231773848354670.pros.edges.9":{"node":{"type":"id","generated":false,"id":"Reason:101978468252210189","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468294758779":{"id":"101978468294758779","upvoted":false,"upvotesCount":75,"text":"Fast","__typename":"Reason"},"$Tool:101231773848354670.pros.edges.10":{"node":{"type":"id","generated":false,"id":"Reason:101978468294758779","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468297386382":{"id":"101978468297386382","upvoted":false,"upvotesCount":64,"text":"Directives","__typename":"Reason"},"$Tool:101231773848354670.pros.edges.11":{"node":{"type":"id","generated":false,"id":"Reason:101978468297386382","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468294437331":{"id":"101978468294437331","upvoted":false,"upvotesCount":63,"text":"Great community ","__typename":"Reason"},"$Tool:101231773848354670.pros.edges.12":{"node":{"type":"id","generated":false,"id":"Reason:101978468294437331","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468314831454":{"id":"101978468314831454","upvoted":false,"upvotesCount":56,"text":"Free","__typename":"Reason"},"$Tool:101231773848354670.pros.edges.13":{"node":{"type":"id","generated":false,"id":"Reason:101978468314831454","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468252482708":{"id":"101978468252482708","upvoted":false,"upvotesCount":38,"text":"Extend html vocabulary","__typename":"Reason"},"$Tool:101231773848354670.pros.edges.14":{"node":{"type":"id","generated":false,"id":"Reason:101978468252482708","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468419796063":{"id":"101978468419796063","upvoted":false,"upvotesCount":29,"text":"Components","__typename":"Reason"},"$Tool:101231773848354670.pros.edges.15":{"node":{"type":"id","generated":false,"id":"Reason:101978468419796063","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468364961436":{"id":"101978468364961436","upvoted":false,"upvotesCount":26,"text":"Easy to test","__typename":"Reason"},"$Tool:101231773848354670.pros.edges.16":{"node":{"type":"id","generated":false,"id":"Reason:101978468364961436","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468354601263":{"id":"101978468354601263","upvoted":false,"upvotesCount":24,"text":"Easy to learn","__typename":"Reason"},"$Tool:101231773848354670.pros.edges.17":{"node":{"type":"id","generated":false,"id":"Reason:101978468354601263","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468294533967":{"id":"101978468294533967","upvoted":false,"upvotesCount":23,"text":"Easy to templates","__typename":"Reason"},"$Tool:101231773848354670.pros.edges.18":{"node":{"type":"id","generated":false,"id":"Reason:101978468294533967","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468354689954":{"id":"101978468354689954","upvoted":false,"upvotesCount":23,"text":"Great documentation ","__typename":"Reason"},"$Tool:101231773848354670.pros.edges.19":{"node":{"type":"id","generated":false,"id":"Reason:101978468354689954","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468294663000":{"id":"101978468294663000","upvoted":false,"upvotesCount":21,"text":"Easy to start","__typename":"Reason"},"$Tool:101231773848354670.pros.edges.20":{"node":{"type":"id","generated":false,"id":"Reason:101978468294663000","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468664915331":{"id":"101978468664915331","upvoted":false,"upvotesCount":18,"text":"Awesome","__typename":"Reason"},"$Tool:101231773848354670.pros.edges.21":{"node":{"type":"id","generated":false,"id":"Reason:101978468664915331","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468294959676":{"id":"101978468294959676","upvoted":false,"upvotesCount":17,"text":"Light weight ","__typename":"Reason"},"$Tool:101231773848354670.pros.edges.22":{"node":{"type":"id","generated":false,"id":"Reason:101978468294959676","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468353103850":{"id":"101978468353103850","upvoted":false,"upvotesCount":14,"text":"Javascript mvw framework","__typename":"Reason"},"$Tool:101231773848354670.pros.edges.23":{"node":{"type":"id","generated":false,"id":"Reason:101978468353103850","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468373602898":{"id":"101978468373602898","upvoted":false,"upvotesCount":14,"text":"Angular 2.0","__typename":"Reason"},"$Tool:101231773848354670.pros.edges.24":{"node":{"type":"id","generated":false,"id":"Reason:101978468373602898","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468335707897":{"id":"101978468335707897","upvoted":false,"upvotesCount":13,"text":"Great extensions","__typename":"Reason"},"$Tool:101231773848354670.pros.edges.25":{"node":{"type":"id","generated":false,"id":"Reason:101978468335707897","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468542845170":{"id":"101978468542845170","upvoted":false,"upvotesCount":13,"text":"Efficient","__typename":"Reason"},"$Tool:101231773848354670.pros.edges.26":{"node":{"type":"id","generated":false,"id":"Reason:101978468542845170","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468496373485":{"id":"101978468496373485","upvoted":false,"upvotesCount":10,"text":"Easy to prototype with","__typename":"Reason"},"$Tool:101231773848354670.pros.edges.27":{"node":{"type":"id","generated":false,"id":"Reason:101978468496373485","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468537387916":{"id":"101978468537387916","upvoted":false,"upvotesCount":8,"text":"Coffeescript","__typename":"Reason"},"$Tool:101231773848354670.pros.edges.28":{"node":{"type":"id","generated":false,"id":"Reason:101978468537387916","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468626982845":{"id":"101978468626982845","upvoted":false,"upvotesCount":8,"text":"High performance","__typename":"Reason"},"$Tool:101231773848354670.pros.edges.29":{"node":{"type":"id","generated":false,"id":"Reason:101978468626982845","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468681018057":{"id":"101978468681018057","upvoted":false,"upvotesCount":7,"text":"Mvc","__typename":"Reason"},"$Tool:101231773848354670.pros.edges.30":{"node":{"type":"id","generated":false,"id":"Reason:101978468681018057","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468675858727":{"id":"101978468675858727","upvoted":false,"upvotesCount":7,"text":"Two-way binding","__typename":"Reason"},"$Tool:101231773848354670.pros.edges.31":{"node":{"type":"id","generated":false,"id":"Reason:101978468675858727","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468420068447":{"id":"101978468420068447","upvoted":false,"upvotesCount":7,"text":"Lots of community modules ","__typename":"Reason"},"$Tool:101231773848354670.pros.edges.32":{"node":{"type":"id","generated":false,"id":"Reason:101978468420068447","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468588983411":{"id":"101978468588983411","upvoted":false,"upvotesCount":6,"text":"Clean and keeps code readable","__typename":"Reason"},"$Tool:101231773848354670.pros.edges.33":{"node":{"type":"id","generated":false,"id":"Reason:101978468588983411","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468365052370":{"id":"101978468365052370","upvoted":false,"upvotesCount":6,"text":"Easy to e2e","__typename":"Reason"},"$Tool:101231773848354670.pros.edges.34":{"node":{"type":"id","generated":false,"id":"Reason:101978468365052370","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468680946520":{"id":"101978468680946520","upvoted":false,"upvotesCount":5,"text":"One of the best frameworks","__typename":"Reason"},"$Tool:101231773848354670.pros.edges.35":{"node":{"type":"id","generated":false,"id":"Reason:101978468680946520","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468580497168":{"id":"101978468580497168","upvoted":false,"upvotesCount":5,"text":"Easy for small applications","__typename":"Reason"},"$Tool:101231773848354670.pros.edges.36":{"node":{"type":"id","generated":false,"id":"Reason:101978468580497168","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468773912556":{"id":"101978468773912556","upvoted":false,"upvotesCount":4,"text":"Fast development","__typename":"Reason"},"$Tool:101231773848354670.pros.edges.37":{"node":{"type":"id","generated":false,"id":"Reason:101978468773912556","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468335599494":{"id":"101978468335599494","upvoted":false,"upvotesCount":4,"text":"Works great with jquery","__typename":"Reason"},"$Tool:101231773848354670.pros.edges.38":{"node":{"type":"id","generated":false,"id":"Reason:101978468335599494","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468690867387":{"id":"101978468690867387","upvoted":false,"upvotesCount":3,"text":"I do not touch DOM","__typename":"Reason"},"$Tool:101231773848354670.pros.edges.39":{"node":{"type":"id","generated":false,"id":"Reason:101978468690867387","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468787337308":{"id":"101978468787337308","upvoted":false,"upvotesCount":2,"text":"The two-way Data Binding is awesome","__typename":"Reason"},"$Tool:101231773848354670.pros.edges.40":{"node":{"type":"id","generated":false,"id":"Reason:101978468787337308","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469379815937":{"id":"101978469379815937","upvoted":false,"upvotesCount":2,"text":"Typescript","__typename":"Reason"},"$Tool:101231773848354670.pros.edges.41":{"node":{"type":"id","generated":false,"id":"Reason:101978469379815937","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468419504824":{"id":"101978468419504824","upvoted":false,"upvotesCount":2,"text":"Dart","__typename":"Reason"},"$Tool:101231773848354670.pros.edges.42":{"node":{"type":"id","generated":false,"id":"Reason:101978468419504824","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469309577656":{"id":"101978469309577656","upvoted":false,"upvotesCount":2,"text":"Community","__typename":"Reason"},"$Tool:101231773848354670.pros.edges.43":{"node":{"type":"id","generated":false,"id":"Reason:101978469309577656","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469309225981":{"id":"101978469309225981","upvoted":false,"upvotesCount":2,"text":"Hierarchical Data Structure","__typename":"Reason"},"$Tool:101231773848354670.pros.edges.44":{"node":{"type":"id","generated":false,"id":"Reason:101978469309225981","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468871469815":{"id":"101978468871469815","upvoted":false,"upvotesCount":2,"text":"Be a developer, not a plumber. ","__typename":"Reason"},"$Tool:101231773848354670.pros.edges.45":{"node":{"type":"id","generated":false,"id":"Reason:101978468871469815","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469495450401":{"id":"101978469495450401","upvoted":false,"upvotesCount":2,"text":"Declarative programming","__typename":"Reason"},"$Tool:101231773848354670.pros.edges.46":{"node":{"type":"id","generated":false,"id":"Reason:101978469495450401","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:102864363944110491":{"id":"102864363944110491","upvoted":false,"upvotesCount":1,"text":"Common Place","__typename":"Reason"},"$Tool:101231773848354670.pros.edges.47":{"node":{"type":"id","generated":false,"id":"Reason:102864363944110491","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468834258524":{"id":"101978468834258524","upvoted":false,"upvotesCount":1,"text":"Great ","__typename":"Reason"},"$Tool:101231773848354670.pros.edges.48":{"node":{"type":"id","generated":false,"id":"Reason:101978468834258524","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468834111963":{"id":"101978468834111963","upvoted":false,"upvotesCount":1,"text":"Very very useful and fast framework for development","__typename":"Reason"},"$Tool:101231773848354670.pros.edges.49":{"node":{"type":"id","generated":false,"id":"Reason:101978468834111963","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468706650900":{"id":"101978468706650900","upvoted":false,"upvotesCount":1,"text":"Amazing community support","__typename":"Reason"},"$Tool:101231773848354670.pros.edges.50":{"node":{"type":"id","generated":false,"id":"Reason:101978468706650900","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468931128770":{"id":"101978468931128770","upvoted":false,"upvotesCount":1,"text":"Readable code","__typename":"Reason"},"$Tool:101231773848354670.pros.edges.51":{"node":{"type":"id","generated":false,"id":"Reason:101978468931128770","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:103713789323345350":{"id":"103713789323345350","upvoted":false,"upvotesCount":1,"text":"Linear learning curve","__typename":"Reason"},"$Tool:101231773848354670.pros.edges.52":{"node":{"type":"id","generated":false,"id":"Reason:103713789323345350","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469309368432":{"id":"101978469309368432","upvoted":false,"upvotesCount":1,"text":"Scopes","__typename":"Reason"},"$Tool:101231773848354670.pros.edges.53":{"node":{"type":"id","generated":false,"id":"Reason:101978469309368432","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468862012987":{"id":"101978468862012987","upvoted":false,"upvotesCount":1,"text":"Programming fun again","__typename":"Reason"},"$Tool:101231773848354670.pros.edges.54":{"node":{"type":"id","generated":false,"id":"Reason:101978468862012987","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469844897489":{"id":"101978469844897489","upvoted":false,"upvotesCount":1,"text":"The powerful of binding, routing and controlling routes","__typename":"Reason"},"$Tool:101231773848354670.pros.edges.55":{"node":{"type":"id","generated":false,"id":"Reason:101978469844897489","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:107688276839616808":{"id":"107688276839616808","upvoted":false,"upvotesCount":1,"text":"Consistency with backend architecture if using Nest","__typename":"Reason"},"$Tool:101231773848354670.pros.edges.56":{"node":{"type":"id","generated":false,"id":"Reason:107688276839616808","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469236926227":{"id":"101978469236926227","upvoted":false,"upvotesCount":1,"text":"Fkin awesome","__typename":"Reason"},"$Tool:101231773848354670.pros.edges.57":{"node":{"type":"id","generated":false,"id":"Reason:101978469236926227","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469193686195":{"id":"101978469193686195","upvoted":false,"upvotesCount":1,"text":"Opinionated in the right areas","__typename":"Reason"},"$Tool:101231773848354670.pros.edges.58":{"node":{"type":"id","generated":false,"id":"Reason:101978469193686195","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978470030846405":{"id":"101978470030846405","upvoted":false,"upvotesCount":1,"text":"Supports api , easy development","__typename":"Reason"},"$Tool:101231773848354670.pros.edges.59":{"node":{"type":"id","generated":false,"id":"Reason:101978470030846405","typename":"Reason"},"__typename":"ReasonEdge"},"$Tool:101231773848354670.pros":{"edges":[{"type":"id","generated":true,"id":"$Tool:101231773848354670.pros.edges.0","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773848354670.pros.edges.1","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773848354670.pros.edges.2","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773848354670.pros.edges.3","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773848354670.pros.edges.4","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773848354670.pros.edges.5","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773848354670.pros.edges.6","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773848354670.pros.edges.7","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773848354670.pros.edges.8","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773848354670.pros.edges.9","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773848354670.pros.edges.10","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773848354670.pros.edges.11","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773848354670.pros.edges.12","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773848354670.pros.edges.13","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773848354670.pros.edges.14","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773848354670.pros.edges.15","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773848354670.pros.edges.16","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773848354670.pros.edges.17","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773848354670.pros.edges.18","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773848354670.pros.edges.19","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773848354670.pros.edges.20","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773848354670.pros.edges.21","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773848354670.pros.edges.22","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773848354670.pros.edges.23","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773848354670.pros.edges.24","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773848354670.pros.edges.25","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773848354670.pros.edges.26","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773848354670.pros.edges.27","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773848354670.pros.edges.28","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773848354670.pros.edges.29","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773848354670.pros.edges.30","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773848354670.pros.edges.31","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773848354670.pros.edges.32","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773848354670.pros.edges.33","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773848354670.pros.edges.34","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773848354670.pros.edges.35","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773848354670.pros.edges.36","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773848354670.pros.edges.37","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773848354670.pros.edges.38","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773848354670.pros.edges.39","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773848354670.pros.edges.40","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773848354670.pros.edges.41","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773848354670.pros.edges.42","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773848354670.pros.edges.43","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773848354670.pros.edges.44","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773848354670.pros.edges.45","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773848354670.pros.edges.46","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773848354670.pros.edges.47","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773848354670.pros.edges.48","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773848354670.pros.edges.49","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773848354670.pros.edges.50","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773848354670.pros.edges.51","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773848354670.pros.edges.52","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773848354670.pros.edges.53","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773848354670.pros.edges.54","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773848354670.pros.edges.55","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773848354670.pros.edges.56","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773848354670.pros.edges.57","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773848354670.pros.edges.58","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773848354670.pros.edges.59","typename":"ReasonEdge"}],"__typename":"ReasonConnection"},"Reason:101978469808492988":{"id":"101978469808492988","upvoted":false,"upvotesCount":10,"text":"Complex","__typename":"Reason"},"$Tool:101231773848354670.cons.edges.0":{"node":{"type":"id","generated":false,"id":"Reason:101978469808492988","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:102231338176085970":{"id":"102231338176085970","upvoted":false,"upvotesCount":3,"text":"Dependency injection","__typename":"Reason"},"$Tool:101231773848354670.cons.edges.1":{"node":{"type":"id","generated":false,"id":"Reason:102231338176085970","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:102864358837028691":{"id":"102864358837028691","upvoted":false,"upvotesCount":2,"text":"Learning Curve","__typename":"Reason"},"$Tool:101231773848354670.cons.edges.2":{"node":{"type":"id","generated":false,"id":"Reason:102864358837028691","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:102864360949604532":{"id":"102864360949604532","upvoted":false,"upvotesCount":2,"text":"Event Listener Overload","__typename":"Reason"},"$Tool:101231773848354670.cons.edges.3":{"node":{"type":"id","generated":false,"id":"Reason:102864360949604532","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:104451346614480708":{"id":"104451346614480708","upvoted":false,"upvotesCount":1,"text":"Hard to learn","__typename":"Reason"},"$Tool:101231773848354670.cons.edges.4":{"node":{"type":"id","generated":false,"id":"Reason:104451346614480708","typename":"Reason"},"__typename":"ReasonEdge"},"$Tool:101231773848354670.cons":{"edges":[{"type":"id","generated":true,"id":"$Tool:101231773848354670.cons.edges.0","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773848354670.cons.edges.1","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773848354670.cons.edges.2","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773848354670.cons.edges.3","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773848354670.cons.edges.4","typename":"ReasonEdge"}],"__typename":"ReasonConnection"},"User:104042388677869390":{"id":"104042388677869390","username":"zimoony","title":"Senior Fullstack Developer","companyName":"QUANTUSflow Software GmbH","imageUrl":"https://img.stackshare.io/user/535402/default_002baf8a5098e7badd949774288e37e836a64e0f.jpeg","thumbUrl":"https://img.stackshare.io/user/535402/thumb_002baf8a5098e7badd949774288e37e836a64e0f.jpeg","displayName":"Simon Reymann","__typename":"User"},"StackDecision:104048439203281692":{"user":{"type":"id","generated":false,"id":"User:104042388677869390","typename":"User"},"company":{"type":"id","generated":true,"id":"$StackDecision:104048439203281692.company","typename":"Company"},"link":null,"publicId":"104048439203281692","publishedAt":"2020-04-23T14:46:25Z","id":"104048439203281692","htmlContent":"<p>Our whole <span class=\"tool\">Node.js</span> backend stack consists of the following tools:</p>\n\n<ul>\n<li><span class=\"tool\">Lerna</span> as a tool for multi package and multi repository management</li>\n<li><span class=\"tool\">npm</span> as package manager</li>\n<li><span class=\"tool\">NestJS</span> as <span class=\"tool\">Node.js</span> framework</li>\n<li><span class=\"tool\">TypeScript</span> as programming language</li>\n<li><span class=\"tool\">ExpressJS</span> as web server</li>\n<li><span class=\"tool\">Swagger UI</span> for visualizing and interacting with the API’s resources</li>\n<li><span class=\"tool\">Postman</span> as a tool for API development</li>\n<li><span class=\"tool\">TypeORM</span> as object relational mapping layer</li>\n<li><span class=\"tool\">JSON Web Token</span> for access token management</li>\n</ul>\n\n<p>The main reason we have chosen <span class=\"tool\">Node.js</span> over <span class=\"tool\">PHP</span> is related to the following artifacts:</p>\n\n<ul>\n<li>\n<strong>Made for the web and widely in use:</strong> <span class=\"tool\">Node.js</span> is a software platform for developing server-side network services. Well-known projects that rely on <span class=\"tool\">Node.js</span> include the blogging software Ghost, the project management tool Trello and the operating system WebOS. <span class=\"tool\">Node.js</span> requires the <span class=\"tool\">JavaScript</span> runtime environment V8, which was specially developed by Google for the popular Chrome browser. This guarantees a very resource-saving architecture, which qualifies <span class=\"tool\">Node.js</span> especially for the operation of a web server. Ryan Dahl, the developer of <span class=\"tool\">Node.js</span>, released the first stable version on May 27, 2009. He developed <span class=\"tool\">Node.js</span> out of dissatisfaction with the possibilities that <span class=\"tool\">JavaScript</span> offered at the time. The basic functionality of <span class=\"tool\">Node.js</span> has been mapped with <span class=\"tool\">JavaScript</span> since the first version, which can be expanded with a large number of different modules. The current package managers (<span class=\"tool\">npm</span> or <span class=\"tool\">Yarn</span>) for <span class=\"tool\">Node.js</span> know more than 1,000,000 of these modules.</li>\n<li>\n<strong>Fast server-side solutions:</strong> <span class=\"tool\">Node.js</span> adopts the JavaScript \"event-loop\" to create non-blocking I/O applications that conveniently serve simultaneous events. With the standard available asynchronous processing within <span class=\"tool\">JavaScript</span>/<span class=\"tool\">TypeScript</span>, highly scalable, server-side solutions can be realized. The efficient use of the CPU and the RAM is maximized and more simultaneous requests can be processed than with conventional multi-thread servers.</li>\n<li>\n<strong>A language along the entire stack:</strong> Widely used frameworks such as <span class=\"tool\">React</span> or <span class=\"tool\">AngularJS</span> or <span class=\"tool\">Vue.js</span>, which we prefer, are written in <span class=\"tool\">JavaScript</span>/<span class=\"tool\">TypeScript</span>. If <span class=\"tool\">Node.js</span> is now used on the server side, you can use all the advantages of a uniform script language throughout the entire application development. The same language in the back- and frontend simplifies the maintenance of the application and also the coordination within the development team.</li>\n<li>\n<strong>Flexibility:</strong> <span class=\"tool\">Node.js</span> sets very few strict dependencies, rules and guidelines and thus grants a high degree of flexibility in application development. There are no strict conventions so that the appropriate architecture, design structures, modules and features can be freely selected for the development.</li>\n</ul>","viewCount":3161153,"upvotesCount":26,"services":[{"type":"id","generated":false,"id":"Tool:101231773990286939","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231775222204089","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773848354670","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773849098825","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231776364087566","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773939333405","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773836410122","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231776654235080","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231777149555129","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231774972950443","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773920953695","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231774098455524","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231777826864518","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773895058604","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231776543564264","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773845103618","typename":"Tool"}],"topics":[],"__typename":"StackDecision"},"$StackDecision:104048439203281692.company":{"imageUrl":"https://img.stackshare.io/company/161697/default_08547f3b95ad3a1f312db050bc6e0a5460ff1969.png","thumbUrl":"https://img.stackshare.io/company/161697/thumb_08547f3b95ad3a1f312db050bc6e0a5460ff1969.png","name":"QUANTUSflow Software GmbH","path":"/companies/quantusflow-software-gmbh","features":[],"__typename":"Company"},"Tool:101231773990286939":{"id":"101231773990286939","name":"Postman","slug":"postman","title":"Only complete API development environment","verified":true,"imageUrl":"https://img.stackshare.io/service/1336/xWMRvm_5_400x400.png","canonicalUrl":"/postman","path":"/postman","votes":1760,"fans":79996,"stacks":80540,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231775222204089":{"id":"101231775222204089","name":"Vue.js","slug":"vue-js","title":"A progressive framework for building user interfaces","verified":false,"imageUrl":"https://img.stackshare.io/service/3837/paeckCWC.png","canonicalUrl":"/vue-js","path":"/vue-js","votes":1500,"fans":45466,"stacks":46990,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231773849098825":{"id":"101231773849098825","name":"React","slug":"react","title":"A JavaScript library for building user interfaces","verified":false,"imageUrl":"https://img.stackshare.io/service/1020/OYIaJ1KK.png","canonicalUrl":"/react","path":"/react","votes":3950,"fans":136419,"stacks":143536,"following":false,"followContext":null,"__typename":"Tool","followers":{"type":"id","generated":true,"id":"$Tool:101231773849098825.followers","typename":"UserConnection"},"githubForksCount":41263,"thumbRetinaUrl":"https://img.stackshare.io/service/1020/thumb_retina_OYIaJ1KK.png","description":"Lots of people use React as the V in MVC. Since React makes no assumptions about the rest of your technology stack, it's easy to try it out on a small feature in an existing project.","contactEnabled":true,"contactButtonText":"Understand the cause of every bug with LogRocket","contactFlow":{"type":"json","json":{"links":[{"url":"http://bit.ly/3jfnhwj","type":"website"}],"steps":["direct_link"]}},"pros":{"type":"id","generated":true,"id":"$Tool:101231773849098825.pros","typename":"ReasonConnection"},"cons":{"type":"id","generated":true,"id":"$Tool:101231773849098825.cons","typename":"ReasonConnection"},"stackDecisionsWithAlternatives({\"first\":2})":{"type":"id","generated":true,"id":"$Tool:101231773849098825.stackDecisionsWithAlternatives({\"first\":2})","typename":"StackDecisionConnection"}},"Tool:101231776364087566":{"id":"101231776364087566","name":"Yarn","slug":"yarn","title":"A new package manager for JavaScript","verified":false,"imageUrl":"https://img.stackshare.io/service/5848/44mC-kJ3.jpg","canonicalUrl":"/yarn","path":"/yarn","votes":143,"fans":14768,"stacks":18168,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231773939333405":{"id":"101231773939333405","name":"JavaScript","slug":"javascript","title":"Lightweight, interpreted, object-oriented language with first-class functions","verified":false,"imageUrl":"https://img.stackshare.io/service/1209/javascript.jpeg","canonicalUrl":"/javascript","path":"/javascript","votes":7913,"fans":262443,"stacks":283365,"following":false,"followContext":null,"__typename":"Tool","followers":{"type":"id","generated":true,"id":"$Tool:101231773939333405.followers","typename":"UserConnection"},"githubForksCount":null,"thumbRetinaUrl":"https://img.stackshare.io/service/1209/thumb_retina_javascript.jpeg","description":"JavaScript is most known as the scripting language for Web pages, but used in many non-browser environments as well such as node.js or Apache CouchDB. It is a prototype-based, multi-paradigm scripting language that is dynamic,and supports object-oriented, imperative, and functional programming styles. ","contactEnabled":true,"contactButtonText":"Monitor JS errors & performance with Sentry","contactFlow":{"type":"json","json":{"links":[{"url":"https://sentry.io/for/javascript/?utm_source=stackshare&utm_medum=cpc&utm_campaign=javascript","type":"website"}],"steps":["direct_link"]}},"pros":{"type":"id","generated":true,"id":"$Tool:101231773939333405.pros","typename":"ReasonConnection"},"cons":{"type":"id","generated":true,"id":"$Tool:101231773939333405.cons","typename":"ReasonConnection"},"stackDecisionsWithAlternatives({\"first\":2})":{"type":"id","generated":true,"id":"$Tool:101231773939333405.stackDecisionsWithAlternatives({\"first\":2})","typename":"StackDecisionConnection"}},"Tool:101231773836410122":{"id":"101231773836410122","name":"PHP","slug":"php","title":"A popular general-purpose scripting language that is especially suited to web development","verified":false,"imageUrl":"https://img.stackshare.io/service/991/hwUcGZ41_400x400.jpg","canonicalUrl":"/php","path":"/php","votes":4576,"fans":82876,"stacks":127773,"following":false,"followContext":null,"__typename":"Tool","followers":{"type":"id","generated":true,"id":"$Tool:101231773836410122.followers","typename":"UserConnection"},"githubForksCount":7387,"thumbRetinaUrl":"https://img.stackshare.io/service/991/thumb_retina_hwUcGZ41_400x400.jpg","description":"Fast, flexible and pragmatic, PHP powers everything from your blog to the most popular websites in the world.","contactEnabled":true,"contactButtonText":"Monitor PHP errors & performance with Sentry","contactFlow":{"type":"json","json":{"links":[{"url":"https://sentry.io/for/php/?utm_source=stackshare&utm_medum=cpc&utm_campaign=php","type":"website"}],"steps":["direct_link"]}},"pros":{"type":"id","generated":true,"id":"$Tool:101231773836410122.pros","typename":"ReasonConnection"},"cons":{"type":"id","generated":true,"id":"$Tool:101231773836410122.cons","typename":"ReasonConnection"},"stackDecisionsWithAlternatives({\"first\":2})":{"type":"id","generated":true,"id":"$Tool:101231773836410122.stackDecisionsWithAlternatives({\"first\":2})","typename":"StackDecisionConnection"}},"Tool:101231776654235080":{"id":"101231776654235080","name":"JSON Web Token","slug":"json-web-token","title":"A JSON-based open standard for creating access tokens","verified":false,"imageUrl":"https://img.stackshare.io/service/6417/jwt-icon.png","canonicalUrl":"/json-web-token","path":"/json-web-token","votes":0,"fans":480,"stacks":1524,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231777149555129":{"id":"101231777149555129","name":"TypeORM","slug":"typeorm","title":"An ORM that can run in NodeJS and others","verified":false,"imageUrl":"https://img.stackshare.io/service/7419/20165699.png","canonicalUrl":"/typeorm","path":"/typeorm","votes":70,"fans":895,"stacks":540,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231774972950443":{"id":"101231774972950443","name":"Swagger UI","slug":"swagger-ui","title":"A Collection of HTML, Javascript, and CSS assets that dynamically generate beautiful documentation","verified":false,"imageUrl":"https://img.stackshare.io/service/3417/pIea9Ji0.png","canonicalUrl":"/swagger-ui","path":"/swagger-ui","votes":205,"fans":2286,"stacks":2020,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231773920953695":{"id":"101231773920953695","name":"ExpressJS","slug":"expressjs","title":"Sinatra inspired web development framework for node.js -- insanely fast, flexible, and simple","verified":false,"imageUrl":"https://img.stackshare.io/service/1163/hashtag.png","canonicalUrl":"/expressjs","path":"/expressjs","votes":1591,"fans":24742,"stacks":26529,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231774098455524":{"id":"101231774098455524","name":"TypeScript","slug":"typescript","title":"A superset of JavaScript that compiles to clean JavaScript output","verified":false,"imageUrl":"https://img.stackshare.io/service/1612/bynNY5dJ.jpg","canonicalUrl":"/typescript","path":"/typescript","votes":473,"fans":67117,"stacks":74489,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231777826864518":{"id":"101231777826864518","name":"NestJS","slug":"nestjs","title":"A progressive Node.js framework for building efficient and scalable server-side applications by @kammysliwiec.","verified":false,"imageUrl":"https://img.stackshare.io/service/8747/4zsOyxko_400x400.jpg","canonicalUrl":"/nestjs","path":"/nestjs","votes":291,"fans":2973,"stacks":1953,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231773895058604":{"id":"101231773895058604","name":"npm","slug":"npm","title":"The package manager for JavaScript.","verified":true,"imageUrl":"https://img.stackshare.io/service/1120/lejvzrnlpb308aftn31u.png","canonicalUrl":"/npm","path":"/npm","votes":1633,"fans":81944,"stacks":86515,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231776543564264":{"id":"101231776543564264","name":"Lerna","slug":"lerna","title":"A tool for managing JavaScript projects","verified":false,"imageUrl":"https://img.stackshare.io/service/6207/OwqAUSQi_400x400.jpg","canonicalUrl":"/lerna","path":"/lerna","votes":0,"fans":252,"stacks":525,"following":false,"followContext":null,"__typename":"Tool"},"$Tool:101231773848354670.stackDecisionsWithAlternatives({\"first\":2}).edges.0":{"node":{"type":"id","generated":false,"id":"StackDecision:104048439203281692","typename":"StackDecision"},"__typename":"StackDecisionEdge"},"StackDecision:104044015201141207":{"user":{"type":"id","generated":false,"id":"User:104042388677869390","typename":"User"},"company":{"type":"id","generated":true,"id":"$StackDecision:104044015201141207.company","typename":"Company"},"link":null,"publicId":"104044015201141207","publishedAt":"2020-04-22T20:01:19Z","id":"104044015201141207","htmlContent":"<p>Our whole <span class=\"tool\">Vue.js</span> frontend stack (incl. SSR) consists of the following tools:</p>\n\n<ul>\n<li><span class=\"tool\">Nuxt.js</span> consisting of <span class=\"tool\">Vue CLI</span>, <span class=\"tool\">Vue Router</span>, <span class=\"tool\">vuex</span>, <span class=\"tool\">Webpack</span> and <span class=\"tool\">Sass</span> (Bundler for <span class=\"tool\">HTML5</span>, <span class=\"tool\">CSS 3</span>), <span class=\"tool\">Babel</span> (Transpiler for <span class=\"tool\">JavaScript</span>), </li>\n<li>Vue Styleguidist as our style guide and pool of developed <span class=\"tool\">Vue.js</span> components</li>\n<li><span class=\"tool\">Vuetify</span> as Material Component Framework (for fast app development)</li>\n<li><span class=\"tool\">TypeScript</span> as programming language</li>\n<li><span class=\"tool\">Apollo</span> / <span class=\"tool\">GraphQL</span> (incl. <span class=\"tool\">GraphiQL</span>) for data access layer (<a href=\"https://apollo.vuejs.org/\" rel=\"nofollow noopener\" target=\"_blank\">https://apollo.vuejs.org/</a>)</li>\n<li><span class=\"tool\">ESLint</span>, <span class=\"tool\">TSLint</span> and <span class=\"tool\">Prettier</span> for coding style and code analyzes</li>\n<li><span class=\"tool\">Jest</span> as testing framework</li>\n<li><span class=\"tool\">Google Fonts</span> and <span class=\"tool\">Font Awesome</span> for typography and icon toolkit</li>\n<li><span class=\"tool\">NativeScript-Vue</span> for mobile development</li>\n</ul>\n\n<p>The main reason we have chosen <span class=\"tool\">Vue.js</span> over <span class=\"tool\">React</span> and <span class=\"tool\">AngularJS</span> is related to the following artifacts:</p>\n\n<ul>\n<li>Empowered HTML. Vue.js has many similar approaches with Angular. This helps to optimize HTML blocks handling with the use of different components.</li>\n<li>Detailed documentation. Vue.js has very good documentation which can fasten learning curve for developers.</li>\n<li>Adaptability. It provides a rapid switching period from other frameworks. It has similarities with Angular and React in terms of design and architecture.</li>\n<li>Awesome integration. Vue.js can be used for both building single-page applications and more difficult web interfaces of apps. Smaller interactive parts can be easily integrated into the existing infrastructure with no negative effect on the entire system.</li>\n<li>Large scaling. Vue.js can help to develop pretty large reusable templates.</li>\n<li>Tiny size. Vue.js weights around 20KB keeping its speed and flexibility. It allows reaching much better performance in comparison to other frameworks.</li>\n</ul>","viewCount":1660021,"upvotesCount":22,"services":[{"type":"id","generated":false,"id":"Tool:101231776521621529","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773848354670","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773849098825","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231778214533464","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231774838147479","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231774522598992","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773770920543","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231776970439629","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231776199438193","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231774903366255","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231777361873614","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231775212866992","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231776161934711","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231774098455524","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773939333405","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231774565594919","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231776819926470","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231774472411723","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773924002641","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231774125163302","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231776810280332","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231776926678894","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231778186476190","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231777094096455","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231775222204089","typename":"Tool"}],"topics":[],"__typename":"StackDecision"},"$StackDecision:104044015201141207.company":{"imageUrl":"https://img.stackshare.io/company/161697/default_08547f3b95ad3a1f312db050bc6e0a5460ff1969.png","thumbUrl":"https://img.stackshare.io/company/161697/thumb_08547f3b95ad3a1f312db050bc6e0a5460ff1969.png","name":"QUANTUSflow Software GmbH","path":"/companies/quantusflow-software-gmbh","features":[],"__typename":"Company"},"Tool:101231776521621529":{"id":"101231776521621529","name":"Vuetify","slug":"vuetify","title":"Material Component Framework for VueJS 2","verified":false,"imageUrl":"https://img.stackshare.io/service/6163/PzNbCwXH.jpg","canonicalUrl":"/vuetify","path":"/vuetify","votes":166,"fans":2046,"stacks":1111,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231778214533464":{"id":"101231778214533464","name":"NativeScript-Vue","slug":"nativescript-vue","title":"Truly native apps using Vue.js and NativeScript","verified":false,"imageUrl":"https://img.stackshare.io/service/9623/ci6NdW-m_400x400.jpg","canonicalUrl":"/nativescript-vue","path":"/nativescript-vue","votes":0,"fans":148,"stacks":57,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231774838147479":{"id":"101231774838147479","name":"Font Awesome","slug":"font-awesome","title":"The internet's most popular icon toolkit","verified":false,"imageUrl":"https://img.stackshare.io/service/3244/1_Mr1Fy00XjPGNf1Kkp_hWtw_2x.png","canonicalUrl":"/font-awesome","path":"/font-awesome","votes":20,"fans":16578,"stacks":54837,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231774522598992":{"id":"101231774522598992","name":"Google Fonts","slug":"google-fonts","title":"Making the web more beautiful, fast, and open through great typography","verified":false,"imageUrl":"https://img.stackshare.io/service/2652/default_807a8795f01fb7baf530cbd7909552eb9d14094a.jpg","canonicalUrl":"/google-fonts","path":"/google-fonts","votes":11,"fans":14130,"stacks":74689,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231773770920543":{"id":"101231773770920543","name":"Jest","slug":"jest","title":"Painless JavaScript Unit Testing","verified":false,"imageUrl":"https://img.stackshare.io/service/830/jest.png","canonicalUrl":"/jest","path":"/jest","votes":170,"fans":4000,"stacks":6683,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231776970439629":{"id":"101231776970439629","name":"Prettier","slug":"prettier","title":"Prettier is an opinionated code formatter. ","verified":false,"imageUrl":"https://img.stackshare.io/service/7035/default_66f265943abed56bcdbfca1c866a4261b1fbb063.jpg","canonicalUrl":"/prettier","path":"/prettier","votes":7,"fans":1211,"stacks":4358,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231776199438193":{"id":"101231776199438193","name":"TSLint","slug":"tslint","title":"An extensible linter for the TypeScript language","verified":false,"imageUrl":"https://img.stackshare.io/service/5561/303157.png","canonicalUrl":"/tslint","path":"/tslint","votes":0,"fans":388,"stacks":1916,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231774903366255":{"id":"101231774903366255","name":"ESLint","slug":"eslint","title":"The fully pluggable JavaScript code quality tool","verified":false,"imageUrl":"https://img.stackshare.io/service/3337/Q4L7Jncy.jpg","canonicalUrl":"/eslint","path":"/eslint","votes":28,"fans":14806,"stacks":21425,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231777361873614":{"id":"101231777361873614","name":"GraphiQL","slug":"graphiql","title":"An in-browser IDE for exploring GraphQL","verified":false,"imageUrl":"https://img.stackshare.io/service/7879/GraphiQL.png","canonicalUrl":"/graphiql","path":"/graphiql","votes":11,"fans":207,"stacks":160,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231775212866992":{"id":"101231775212866992","name":"GraphQL","slug":"graphql","title":"A data query language and runtime","verified":false,"imageUrl":"https://img.stackshare.io/service/3820/12972006.png","canonicalUrl":"/graphql","path":"/graphql","votes":299,"fans":28769,"stacks":28761,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231776161934711":{"id":"101231776161934711","name":"Apollo","slug":"apollo","title":"GraphQL server for Express, Connect, Hapi, Koa and more","verified":false,"imageUrl":"https://img.stackshare.io/service/5508/CyUH653y.png","canonicalUrl":"/apollo","path":"/apollo","votes":22,"fans":2219,"stacks":2246,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231774565594919":{"id":"101231774565594919","name":"Babel","slug":"babel","title":"Use next generation JavaScript, today.","verified":true,"imageUrl":"https://img.stackshare.io/service/2739/-1wfGjNw.png","canonicalUrl":"/babel","path":"/babel","votes":390,"fans":12771,"stacks":17899,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231776819926470":{"id":"101231776819926470","name":"CSS 3","slug":"css-3","title":"The latest evolution of the Cascading Style Sheets language","verified":false,"imageUrl":"https://img.stackshare.io/service/6727/css.png","canonicalUrl":"/css-3","path":"/css-3","votes":0,"fans":47771,"stacks":51709,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231774472411723":{"id":"101231774472411723","name":"HTML5","slug":"html5","title":"5th major revision of the core language of the World Wide Web","verified":false,"imageUrl":"https://img.stackshare.io/service/2538/kEpgHiC9.png","canonicalUrl":"/html5","path":"/html5","votes":2233,"fans":121642,"stacks":124655,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231773924002641":{"id":"101231773924002641","name":"Sass","slug":"sass","title":"Syntactically Awesome Style Sheets","verified":false,"imageUrl":"https://img.stackshare.io/service/1171/jCR2zNJV.png","canonicalUrl":"/sass","path":"/sass","votes":3000,"fans":33677,"stacks":37350,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231774125163302":{"id":"101231774125163302","name":"Webpack","slug":"webpack","title":"A bundler for javascript and friends","verified":true,"imageUrl":"https://img.stackshare.io/service/1682/IMG_4636.PNG","canonicalUrl":"/webpack","path":"/webpack","votes":749,"fans":30023,"stacks":36000,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231776810280332":{"id":"101231776810280332","name":"vuex","slug":"vuex","title":"Centralized State Management for Vue.js.","verified":false,"imageUrl":"https://img.stackshare.io/service/6705/6128107.png","canonicalUrl":"/vuex","path":"/vuex","votes":7,"fans":1233,"stacks":1290,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231776926678894":{"id":"101231776926678894","name":"Vue Router","slug":"vue-router","title":"The official router for Vue.js","verified":false,"imageUrl":"https://img.stackshare.io/service/6932/upM71pVR_400x400.jpg","canonicalUrl":"/vue-router","path":"/vue-router","votes":0,"fans":350,"stacks":314,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231778186476190":{"id":"101231778186476190","name":"Vue CLI","slug":"vue-cli","title":"Standard Tooling for Vue.js Development","verified":false,"imageUrl":"https://img.stackshare.io/service/9559/upM71pVR_400x400.jpg","canonicalUrl":"/vue-cli","path":"/vue-cli","votes":3,"fans":572,"stacks":431,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231777094096455":{"id":"101231777094096455","name":"Nuxt.js","slug":"nuxt","title":"The Vue.js Framework","verified":true,"imageUrl":"https://img.stackshare.io/service/7304/23360933.png","canonicalUrl":"/nuxt","path":"/nuxt","votes":332,"fans":1895,"stacks":1617,"following":false,"followContext":null,"__typename":"Tool"},"$Tool:101231773848354670.stackDecisionsWithAlternatives({\"first\":2}).edges.1":{"node":{"type":"id","generated":false,"id":"StackDecision:104044015201141207","typename":"StackDecision"},"__typename":"StackDecisionEdge"},"$Tool:101231773848354670.stackDecisionsWithAlternatives({\"first\":2})":{"edges":[{"type":"id","generated":true,"id":"$Tool:101231773848354670.stackDecisionsWithAlternatives({\"first\":2}).edges.0","typename":"StackDecisionEdge"},{"type":"id","generated":true,"id":"$Tool:101231773848354670.stackDecisionsWithAlternatives({\"first\":2}).edges.1","typename":"StackDecisionEdge"}],"__typename":"StackDecisionConnection"},"$Tool:101231773845103618.alternativeTools({\"first\":8}).edges.0":{"node":{"type":"id","generated":false,"id":"Tool:101231773848354670","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231773836410122.followers":{"count":69974,"__typename":"UserConnection"},"Reason:101978468355681550":{"id":"101978468355681550","upvoted":false,"upvotesCount":948,"text":"Large community","__typename":"Reason"},"$Tool:101231773836410122.pros.edges.0":{"node":{"type":"id","generated":false,"id":"Reason:101978468355681550","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468406047008":{"id":"101978468406047008","upvoted":false,"upvotesCount":813,"text":"Open source","__typename":"Reason"},"$Tool:101231773836410122.pros.edges.1":{"node":{"type":"id","generated":false,"id":"Reason:101978468406047008","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468435904302":{"id":"101978468435904302","upvoted":false,"upvotesCount":763,"text":"Easy deployment","__typename":"Reason"},"$Tool:101231773836410122.pros.edges.2":{"node":{"type":"id","generated":false,"id":"Reason:101978468435904302","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468578409516":{"id":"101978468578409516","upvoted":false,"upvotesCount":484,"text":"Great frameworks","__typename":"Reason"},"$Tool:101231773836410122.pros.edges.3":{"node":{"type":"id","generated":false,"id":"Reason:101978468578409516","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468435543234":{"id":"101978468435543234","upvoted":false,"upvotesCount":384,"text":"The best glue on the web","__typename":"Reason"},"$Tool:101231773836410122.pros.edges.4":{"node":{"type":"id","generated":false,"id":"Reason:101978468435543234","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468436411345":{"id":"101978468436411345","upvoted":false,"upvotesCount":234,"text":"Continual improvements","__typename":"Reason"},"$Tool:101231773836410122.pros.edges.5":{"node":{"type":"id","generated":false,"id":"Reason:101978468436411345","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468498924775":{"id":"101978468498924775","upvoted":false,"upvotesCount":183,"text":"Good old web","__typename":"Reason"},"$Tool:101231773836410122.pros.edges.6":{"node":{"type":"id","generated":false,"id":"Reason:101978468498924775","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468575535457":{"id":"101978468575535457","upvoted":false,"upvotesCount":145,"text":"Web foundation","__typename":"Reason"},"$Tool:101231773836410122.pros.edges.7":{"node":{"type":"id","generated":false,"id":"Reason:101978468575535457","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468436294492":{"id":"101978468436294492","upvoted":false,"upvotesCount":134,"text":"Community packages","__typename":"Reason"},"$Tool:101231773836410122.pros.edges.8":{"node":{"type":"id","generated":false,"id":"Reason:101978468436294492","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468436202478":{"id":"101978468436202478","upvoted":false,"upvotesCount":124,"text":"Tool support","__typename":"Reason"},"$Tool:101231773836410122.pros.edges.9":{"node":{"type":"id","generated":false,"id":"Reason:101978468436202478","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468555309462":{"id":"101978468555309462","upvoted":false,"upvotesCount":35,"text":"Used by wordpress","__typename":"Reason"},"$Tool:101231773836410122.pros.edges.10":{"node":{"type":"id","generated":false,"id":"Reason:101978468555309462","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468705390052":{"id":"101978468705390052","upvoted":false,"upvotesCount":33,"text":"Excellent documentation","__typename":"Reason"},"$Tool:101231773836410122.pros.edges.11":{"node":{"type":"id","generated":false,"id":"Reason:101978468705390052","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468391725906":{"id":"101978468391725906","upvoted":false,"upvotesCount":28,"text":"Used by Facebook","__typename":"Reason"},"$Tool:101231773836410122.pros.edges.12":{"node":{"type":"id","generated":false,"id":"Reason:101978468391725906","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468596991969":{"id":"101978468596991969","upvoted":false,"upvotesCount":23,"text":"Because of Symfony","__typename":"Reason"},"$Tool:101231773836410122.pros.edges.13":{"node":{"type":"id","generated":false,"id":"Reason:101978468596991969","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468736399053":{"id":"101978468736399053","upvoted":false,"upvotesCount":21,"text":"Dynamic Language","__typename":"Reason"},"$Tool:101231773836410122.pros.edges.14":{"node":{"type":"id","generated":false,"id":"Reason:101978468736399053","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468930430096":{"id":"101978468930430096","upvoted":false,"upvotesCount":16,"text":"Cheap hosting","__typename":"Reason"},"$Tool:101231773836410122.pros.edges.15":{"node":{"type":"id","generated":false,"id":"Reason:101978468930430096","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469321771282":{"id":"101978469321771282","upvoted":false,"upvotesCount":15,"text":"Easy to learn","__typename":"Reason"},"$Tool:101231773836410122.pros.edges.16":{"node":{"type":"id","generated":false,"id":"Reason:101978469321771282","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468736288275":{"id":"101978468736288275","upvoted":false,"upvotesCount":14,"text":"Awesome Language and easy to implement","__typename":"Reason"},"$Tool:101231773836410122.pros.edges.17":{"node":{"type":"id","generated":false,"id":"Reason:101978468736288275","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468772760779":{"id":"101978468772760779","upvoted":false,"upvotesCount":14,"text":"Very powerful web language","__typename":"Reason"},"$Tool:101231773836410122.pros.edges.18":{"node":{"type":"id","generated":false,"id":"Reason:101978468772760779","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469170591054":{"id":"101978469170591054","upvoted":false,"upvotesCount":14,"text":"Fast development","__typename":"Reason"},"$Tool:101231773836410122.pros.edges.19":{"node":{"type":"id","generated":false,"id":"Reason:101978469170591054","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469577482260":{"id":"101978469577482260","upvoted":false,"upvotesCount":12,"text":"Composer","__typename":"Reason"},"$Tool:101231773836410122.pros.edges.20":{"node":{"type":"id","generated":false,"id":"Reason:101978469577482260","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468999461168":{"id":"101978468999461168","upvoted":false,"upvotesCount":11,"text":"Flexibility, syntax, extensibility","__typename":"Reason"},"$Tool:101231773836410122.pros.edges.21":{"node":{"type":"id","generated":false,"id":"Reason:101978468999461168","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468852932586":{"id":"101978468852932586","upvoted":false,"upvotesCount":10,"text":"Because of Laravel","__typename":"Reason"},"$Tool:101231773836410122.pros.edges.22":{"node":{"type":"id","generated":false,"id":"Reason:101978468852932586","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469515376597":{"id":"101978469515376597","upvoted":false,"upvotesCount":8,"text":"Easiest deployment","__typename":"Reason"},"$Tool:101231773836410122.pros.edges.23":{"node":{"type":"id","generated":false,"id":"Reason:101978469515376597","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469499346649":{"id":"101978469499346649","upvoted":false,"upvotesCount":7,"text":"Fast","__typename":"Reason"},"$Tool:101231773836410122.pros.edges.24":{"node":{"type":"id","generated":false,"id":"Reason:101978469499346649","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469429297615":{"id":"101978469429297615","upvoted":false,"upvotesCount":7,"text":"Readable Code","__typename":"Reason"},"$Tool:101231773836410122.pros.edges.25":{"node":{"type":"id","generated":false,"id":"Reason:101978469429297615","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468591708201":{"id":"101978468591708201","upvoted":false,"upvotesCount":7,"text":"Worst popularity quality ratio","__typename":"Reason"},"$Tool:101231773836410122.pros.edges.26":{"node":{"type":"id","generated":false,"id":"Reason:101978468591708201","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469432295617":{"id":"101978469432295617","upvoted":false,"upvotesCount":7,"text":"Short development lead times","__typename":"Reason"},"$Tool:101231773836410122.pros.edges.27":{"node":{"type":"id","generated":false,"id":"Reason:101978469432295617","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468837993902":{"id":"101978468837993902","upvoted":false,"upvotesCount":7,"text":"Fastestest Time to Version 1.0 Deployments","__typename":"Reason"},"$Tool:101231773836410122.pros.edges.28":{"node":{"type":"id","generated":false,"id":"Reason:101978468837993902","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469499003869":{"id":"101978469499003869","upvoted":false,"upvotesCount":6,"text":"Most of the web uses it","__typename":"Reason"},"$Tool:101231773836410122.pros.edges.29":{"node":{"type":"id","generated":false,"id":"Reason:101978469499003869","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469500125482":{"id":"101978469500125482","upvoted":false,"upvotesCount":6,"text":"Faster then ever","__typename":"Reason"},"$Tool:101231773836410122.pros.edges.30":{"node":{"type":"id","generated":false,"id":"Reason:101978469500125482","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469712174629":{"id":"101978469712174629","upvoted":false,"upvotesCount":5,"text":"Open source and large community","__typename":"Reason"},"$Tool:101231773836410122.pros.edges.31":{"node":{"type":"id","generated":false,"id":"Reason:101978469712174629","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469194802091":{"id":"101978469194802091","upvoted":false,"upvotesCount":5,"text":"Simple, flexible yet Scalable","__typename":"Reason"},"$Tool:101231773836410122.pros.edges.32":{"node":{"type":"id","generated":false,"id":"Reason:101978469194802091","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469712302159":{"id":"101978469712302159","upvoted":false,"upvotesCount":4,"text":"Open source and great framework","__typename":"Reason"},"$Tool:101231773836410122.pros.edges.33":{"node":{"type":"id","generated":false,"id":"Reason:101978469712302159","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469750822693":{"id":"101978469750822693","upvoted":false,"upvotesCount":4,"text":"Has the best ecommerce(Magento,Prestashop,Opencart,etc)","__typename":"Reason"},"$Tool:101231773836410122.pros.edges.34":{"node":{"type":"id","generated":false,"id":"Reason:101978469750822693","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468892850920":{"id":"101978468892850920","upvoted":false,"upvotesCount":4,"text":"Is like one zip of air","__typename":"Reason"},"$Tool:101231773836410122.pros.edges.35":{"node":{"type":"id","generated":false,"id":"Reason:101978468892850920","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469803356062":{"id":"101978469803356062","upvoted":false,"upvotesCount":4,"text":"Large community, easy setup, easy deployment, framework","__typename":"Reason"},"$Tool:101231773836410122.pros.edges.36":{"node":{"type":"id","generated":false,"id":"Reason:101978469803356062","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978470089306109":{"id":"101978470089306109","upvoted":false,"upvotesCount":4,"text":"Easy to use and learn","__typename":"Reason"},"$Tool:101231773836410122.pros.edges.37":{"node":{"type":"id","generated":false,"id":"Reason:101978470089306109","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469840129307":{"id":"101978469840129307","upvoted":false,"upvotesCount":4,"text":"Cheap to own","__typename":"Reason"},"$Tool:101231773836410122.pros.edges.38":{"node":{"type":"id","generated":false,"id":"Reason:101978469840129307","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469964379732":{"id":"101978469964379732","upvoted":false,"upvotesCount":4,"text":"Easy to learn, a big community, lot of frameworks","__typename":"Reason"},"$Tool:101231773836410122.pros.edges.39":{"node":{"type":"id","generated":false,"id":"Reason:101978469964379732","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469145671551":{"id":"101978469145671551","upvoted":false,"upvotesCount":4,"text":"I have no choice :(","__typename":"Reason"},"$Tool:101231773836410122.pros.edges.40":{"node":{"type":"id","generated":false,"id":"Reason:101978469145671551","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:103680642180575310":{"id":"103680642180575310","upvoted":false,"upvotesCount":3,"text":"Great developer experience","__typename":"Reason"},"$Tool:101231773836410122.pros.edges.41":{"node":{"type":"id","generated":false,"id":"Reason:103680642180575310","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469708384296":{"id":"101978469708384296","upvoted":false,"upvotesCount":2,"text":"Great flexibility. From fast prototyping to large apps","__typename":"Reason"},"$Tool:101231773836410122.pros.edges.42":{"node":{"type":"id","generated":false,"id":"Reason:101978469708384296","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:103680641242294673":{"id":"103680641242294673","upvoted":false,"upvotesCount":2,"text":"Interpreted at the run time","__typename":"Reason"},"$Tool:101231773836410122.pros.edges.43":{"node":{"type":"id","generated":false,"id":"Reason:103680641242294673","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:104573159249818198":{"id":"104573159249818198","upvoted":false,"upvotesCount":2,"text":"FFI","__typename":"Reason"},"$Tool:101231773836410122.pros.edges.44":{"node":{"type":"id","generated":false,"id":"Reason:104573159249818198","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469994861481":{"id":"101978469994861481","upvoted":false,"upvotesCount":2,"text":"Safe the planet","__typename":"Reason"},"$Tool:101231773836410122.pros.edges.45":{"node":{"type":"id","generated":false,"id":"Reason:101978469994861481","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469500579410":{"id":"101978469500579410","upvoted":false,"upvotesCount":2,"text":"Hard not to use","__typename":"Reason"},"$Tool:101231773836410122.pros.edges.46":{"node":{"type":"id","generated":false,"id":"Reason:101978469500579410","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469708491425":{"id":"101978469708491425","upvoted":false,"upvotesCount":2,"text":"Used by STOMT","__typename":"Reason"},"$Tool:101231773836410122.pros.edges.47":{"node":{"type":"id","generated":false,"id":"Reason:101978469708491425","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469997073883":{"id":"101978469997073883","upvoted":false,"upvotesCount":2,"text":"Walk away","__typename":"Reason"},"$Tool:101231773836410122.pros.edges.48":{"node":{"type":"id","generated":false,"id":"Reason:101978469997073883","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469718658616":{"id":"101978469718658616","upvoted":false,"upvotesCount":2,"text":"Fault tolerance","__typename":"Reason"},"$Tool:101231773836410122.pros.edges.49":{"node":{"type":"id","generated":false,"id":"Reason:101978469718658616","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:108369110566983991":{"id":"108369110566983991","upvoted":false,"upvotesCount":1,"text":"Simplesaml","__typename":"Reason"},"$Tool:101231773836410122.pros.edges.50":{"node":{"type":"id","generated":false,"id":"Reason:108369110566983991","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:108929336682281852":{"id":"108929336682281852","upvoted":false,"upvotesCount":1,"text":"Secure","__typename":"Reason"},"$Tool:101231773836410122.pros.edges.51":{"node":{"type":"id","generated":false,"id":"Reason:108929336682281852","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:108929336692173784":{"id":"108929336692173784","upvoted":false,"upvotesCount":0,"text":"Secure","__typename":"Reason"},"$Tool:101231773836410122.pros.edges.52":{"node":{"type":"id","generated":false,"id":"Reason:108929336692173784","typename":"Reason"},"__typename":"ReasonEdge"},"$Tool:101231773836410122.pros":{"edges":[{"type":"id","generated":true,"id":"$Tool:101231773836410122.pros.edges.0","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773836410122.pros.edges.1","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773836410122.pros.edges.2","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773836410122.pros.edges.3","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773836410122.pros.edges.4","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773836410122.pros.edges.5","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773836410122.pros.edges.6","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773836410122.pros.edges.7","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773836410122.pros.edges.8","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773836410122.pros.edges.9","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773836410122.pros.edges.10","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773836410122.pros.edges.11","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773836410122.pros.edges.12","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773836410122.pros.edges.13","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773836410122.pros.edges.14","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773836410122.pros.edges.15","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773836410122.pros.edges.16","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773836410122.pros.edges.17","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773836410122.pros.edges.18","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773836410122.pros.edges.19","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773836410122.pros.edges.20","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773836410122.pros.edges.21","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773836410122.pros.edges.22","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773836410122.pros.edges.23","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773836410122.pros.edges.24","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773836410122.pros.edges.25","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773836410122.pros.edges.26","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773836410122.pros.edges.27","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773836410122.pros.edges.28","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773836410122.pros.edges.29","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773836410122.pros.edges.30","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773836410122.pros.edges.31","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773836410122.pros.edges.32","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773836410122.pros.edges.33","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773836410122.pros.edges.34","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773836410122.pros.edges.35","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773836410122.pros.edges.36","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773836410122.pros.edges.37","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773836410122.pros.edges.38","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773836410122.pros.edges.39","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773836410122.pros.edges.40","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773836410122.pros.edges.41","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773836410122.pros.edges.42","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773836410122.pros.edges.43","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773836410122.pros.edges.44","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773836410122.pros.edges.45","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773836410122.pros.edges.46","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773836410122.pros.edges.47","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773836410122.pros.edges.48","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773836410122.pros.edges.49","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773836410122.pros.edges.50","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773836410122.pros.edges.51","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773836410122.pros.edges.52","typename":"ReasonEdge"}],"__typename":"ReasonConnection"},"Reason:101978469761197636":{"id":"101978469761197636","upvoted":false,"upvotesCount":20,"text":"So easy to learn, good practices are hard to find","__typename":"Reason"},"$Tool:101231773836410122.cons.edges.0":{"node":{"type":"id","generated":false,"id":"Reason:101978469761197636","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469703588676":{"id":"101978469703588676","upvoted":false,"upvotesCount":16,"text":"Inconsistent API","__typename":"Reason"},"$Tool:101231773836410122.cons.edges.1":{"node":{"type":"id","generated":false,"id":"Reason:101978469703588676","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469738821613":{"id":"101978469738821613","upvoted":false,"upvotesCount":8,"text":"Fragmented community","__typename":"Reason"},"$Tool:101231773836410122.cons.edges.2":{"node":{"type":"id","generated":false,"id":"Reason:101978469738821613","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:102250059429820516":{"id":"102250059429820516","upvoted":false,"upvotesCount":5,"text":"Not secure","__typename":"Reason"},"$Tool:101231773836410122.cons.edges.3":{"node":{"type":"id","generated":false,"id":"Reason:102250059429820516","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:103608678010474581":{"id":"103608678010474581","upvoted":false,"upvotesCount":2,"text":"No routing system","__typename":"Reason"},"$Tool:101231773836410122.cons.edges.4":{"node":{"type":"id","generated":false,"id":"Reason:103608678010474581","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:105776109022718848":{"id":"105776109022718848","upvoted":false,"upvotesCount":1,"text":"Hard to debug","__typename":"Reason"},"$Tool:101231773836410122.cons.edges.5":{"node":{"type":"id","generated":false,"id":"Reason:105776109022718848","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:105275234961741956":{"id":"105275234961741956","upvoted":false,"upvotesCount":1,"text":"Old","__typename":"Reason"},"$Tool:101231773836410122.cons.edges.6":{"node":{"type":"id","generated":false,"id":"Reason:105275234961741956","typename":"Reason"},"__typename":"ReasonEdge"},"$Tool:101231773836410122.cons":{"edges":[{"type":"id","generated":true,"id":"$Tool:101231773836410122.cons.edges.0","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773836410122.cons.edges.1","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773836410122.cons.edges.2","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773836410122.cons.edges.3","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773836410122.cons.edges.4","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773836410122.cons.edges.5","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773836410122.cons.edges.6","typename":"ReasonEdge"}],"__typename":"ReasonConnection"},"User:101232101674306748":{"id":"101232101674306748","username":"nsrockwell","title":"SVP, Engineering","companyName":"Fastly","imageUrl":"https://img.stackshare.io/user/216044/default_dd7efb4300def272bbe06fea82b243ab25e6eb64.jpeg","thumbUrl":"https://img.stackshare.io/user/216044/thumb_dd7efb4300def272bbe06fea82b243ab25e6eb64.jpeg","displayName":"Nick Rockwell","__typename":"User"},"StackDecision:101031322436242738":{"user":{"type":"id","generated":false,"id":"User:101232101674306748","typename":"User"},"company":{"type":"id","generated":true,"id":"$StackDecision:101031322436242738.company","typename":"Company"},"link":{"type":"id","generated":true,"id":"$StackDecision:101031322436242738.link","typename":"Link"},"publicId":"101031322436242738","publishedAt":"2018-09-24T08:01:00Z","id":"101031322436242738","htmlContent":"<p>When I joined NYT there was already broad dissatisfaction with the LAMP (Linux <span class=\"tool\">Apache HTTP Server</span> <span class=\"tool\">MySQL</span> <span class=\"tool\">PHP</span>) Stack and the front end framework, in particular. So, I wasn't passing judgment on it. I mean, LAMP's fine, you can do good work in LAMP. It's a little dated at this point, but it's not ... I didn't want to rip it out for its own sake, but everyone else was like, \"We don't like this, it's really inflexible.\" And I remember from being outside the company when that was called MIT FIVE when it had launched. And been observing it from the outside, and I was like, you guys took so long to do that and you did it so carefully, and yet you're not happy with your decisions. Why is that? That was more the impetus. If we're going to do this again, how are we going to do it in a way that we're gonna get a better result?</p>\r\n\r\n<p>So we're moving quickly away from LAMP, I would say. So, right now, the new front end is <span class=\"tool\">React</span> based and using <span class=\"tool\">Apollo</span>. And we've been in a long, protracted, gradual rollout of the core experiences.</p>\r\n\r\n<p>React is now talking to <span class=\"tool\">GraphQL</span> as a primary API. There's a <span class=\"tool\">Node.js</span> back end, to the front end, which is mainly for server-side rendering, as well.</p>\r\n\r\n<p>Behind there, the main repository for the GraphQL server is a big table repository, that we call Bodega because it's a convenience store. And that reads off of a <span class=\"tool\">Kafka</span> pipeline.</p>","viewCount":2211965,"upvotesCount":44,"services":[{"type":"id","generated":false,"id":"Tool:101231773851859414","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773836410122","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773849098825","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231776161934711","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231775212866992","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773845103618","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773865214260","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773861287946","typename":"Tool"}],"topics":[],"__typename":"StackDecision"},"$StackDecision:101031322436242738.company":{"imageUrl":"https://img.stackshare.io/company/11449/default_f61b2ecc134d44d8e461308e5732cbedb635fa38.png","thumbUrl":"https://img.stackshare.io/company/11449/thumb_f61b2ecc134d44d8e461308e5732cbedb635fa38.png","name":"The New York Times","path":"/companies/the-new-york-times","features":[],"__typename":"Company"},"$StackDecision:101031322436242738.link":{"url":"https://stackshare.io/posts/evolution-of-new-york-times-tech-stack","title":"The Evolution of The New York Times Tech Stack | StackShare","__typename":"Link"},"Tool:101231773851859414":{"id":"101231773851859414","name":"MySQL","slug":"mysql","title":"The world's most popular open source database","verified":false,"imageUrl":"https://img.stackshare.io/service/1025/logo-mysql-170x170.png","canonicalUrl":"/mysql","path":"/mysql","votes":3729,"fans":103890,"stacks":106659,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231773865214260":{"id":"101231773865214260","name":"Kafka","slug":"kafka","title":"Distributed, fault tolerant, high throughput pub-sub messaging system","verified":false,"imageUrl":"https://img.stackshare.io/service/1063/kazUJooF_400x400.jpg","canonicalUrl":"/kafka","path":"/kafka","votes":596,"fans":22180,"stacks":19922,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231773861287946":{"id":"101231773861287946","name":"Apache HTTP Server","slug":"apache-http-server","title":"Open-source HTTP server for modern operating systems including UNIX and Windows","verified":false,"imageUrl":"https://img.stackshare.io/service/1051/default_9e444e0d6cc9f4f55f1b86979900673af4de46aa.png","canonicalUrl":"/apache-http-server","path":"/apache-http-server","votes":1372,"fans":25996,"stacks":62617,"following":false,"followContext":null,"__typename":"Tool"},"$Tool:101231773836410122.stackDecisionsWithAlternatives({\"first\":2}).edges.0":{"node":{"type":"id","generated":false,"id":"StackDecision:101031322436242738","typename":"StackDecision"},"__typename":"StackDecisionEdge"},"$Tool:101231773836410122.stackDecisionsWithAlternatives({\"first\":2}).edges.1":{"node":{"type":"id","generated":false,"id":"StackDecision:104048439203281692","typename":"StackDecision"},"__typename":"StackDecisionEdge"},"$Tool:101231773836410122.stackDecisionsWithAlternatives({\"first\":2})":{"edges":[{"type":"id","generated":true,"id":"$Tool:101231773836410122.stackDecisionsWithAlternatives({\"first\":2}).edges.0","typename":"StackDecisionEdge"},{"type":"id","generated":true,"id":"$Tool:101231773836410122.stackDecisionsWithAlternatives({\"first\":2}).edges.1","typename":"StackDecisionEdge"}],"__typename":"StackDecisionConnection"},"$Tool:101231773845103618.alternativeTools({\"first\":8}).edges.1":{"node":{"type":"id","generated":false,"id":"Tool:101231773836410122","typename":"Tool"},"__typename":"ToolEdge"},"Tool:101231773837179153":{"id":"101231773837179153","path":"/python","slug":"python","title":"A clear and powerful object-oriented programming language, comparable to Perl, Ruby, Scheme, or Java.","votes":6656,"following":false,"followers":{"type":"id","generated":true,"id":"$Tool:101231773837179153.followers","typename":"UserConnection"},"stacks":195818,"githubForksCount":25130,"imageUrl":"https://img.stackshare.io/service/993/pUBY5pVj.png","thumbRetinaUrl":"https://img.stackshare.io/service/993/thumb_retina_pUBY5pVj.png","name":"Python","description":"Python is a general purpose programming language created by Guido Van Rossum. Python is most praised for its elegant syntax and readable code, if you are just beginning your programming career python suits you best.","contactEnabled":true,"contactButtonText":"Monitor Python errors & performance with Sentry","contactFlow":{"type":"json","json":{"links":[{"url":"https://sentry.io/for/python/?utm_source=stackshare&utm_medum=cpc&utm_campaign=python","type":"website"}],"steps":["direct_link"]}},"pros":{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros","typename":"ReasonConnection"},"cons":{"type":"id","generated":true,"id":"$Tool:101231773837179153.cons","typename":"ReasonConnection"},"verified":false,"canonicalUrl":"/python","fans":189723,"followContext":null,"__typename":"Tool","stackDecisionsWithAlternatives({\"first\":2})":{"type":"id","generated":true,"id":"$Tool:101231773837179153.stackDecisionsWithAlternatives({\"first\":2})","typename":"StackDecisionConnection"}},"$Tool:101231773837179153.followers":{"count":164979,"__typename":"UserConnection"},"Reason:101978468352573862":{"id":"101978468352573862","upvoted":false,"upvotesCount":1148,"text":"Great libraries","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.0":{"node":{"type":"id","generated":false,"id":"Reason:101978468352573862","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468350735224":{"id":"101978468350735224","upvoted":false,"upvotesCount":947,"text":"Readable code","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.1":{"node":{"type":"id","generated":false,"id":"Reason:101978468350735224","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468352825617":{"id":"101978468352825617","upvoted":false,"upvotesCount":834,"text":"Beautiful code","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.2":{"node":{"type":"id","generated":false,"id":"Reason:101978468352825617","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468352378394":{"id":"101978468352378394","upvoted":false,"upvotesCount":780,"text":"Rapid development","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.3":{"node":{"type":"id","generated":false,"id":"Reason:101978468352378394","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468310297266":{"id":"101978468310297266","upvoted":false,"upvotesCount":682,"text":"Large community","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.4":{"node":{"type":"id","generated":false,"id":"Reason:101978468310297266","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468350597568":{"id":"101978468350597568","upvoted":false,"upvotesCount":426,"text":"Open source","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.5":{"node":{"type":"id","generated":false,"id":"Reason:101978468350597568","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468352234208":{"id":"101978468352234208","upvoted":false,"upvotesCount":385,"text":"Elegant","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.6":{"node":{"type":"id","generated":false,"id":"Reason:101978468352234208","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468352475192":{"id":"101978468352475192","upvoted":false,"upvotesCount":278,"text":"Great community","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.7":{"node":{"type":"id","generated":false,"id":"Reason:101978468352475192","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468350972373":{"id":"101978468350972373","upvoted":false,"upvotesCount":268,"text":"Object oriented","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.8":{"node":{"type":"id","generated":false,"id":"Reason:101978468350972373","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468351649681":{"id":"101978468351649681","upvoted":false,"upvotesCount":214,"text":"Dynamic typing","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.9":{"node":{"type":"id","generated":false,"id":"Reason:101978468351649681","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468352690880":{"id":"101978468352690880","upvoted":false,"upvotesCount":75,"text":"Great standard library","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.10":{"node":{"type":"id","generated":false,"id":"Reason:101978468352690880","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468492239226":{"id":"101978468492239226","upvoted":false,"upvotesCount":56,"text":"Very fast","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.11":{"node":{"type":"id","generated":false,"id":"Reason:101978468492239226","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468351401435":{"id":"101978468351401435","upvoted":false,"upvotesCount":51,"text":"Functional programming","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.12":{"node":{"type":"id","generated":false,"id":"Reason:101978468351401435","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468996086068":{"id":"101978468996086068","upvoted":false,"upvotesCount":43,"text":"Scientific computing","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.13":{"node":{"type":"id","generated":false,"id":"Reason:101978468996086068","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469469454821":{"id":"101978469469454821","upvoted":false,"upvotesCount":43,"text":"Easy to learn","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.14":{"node":{"type":"id","generated":false,"id":"Reason:101978469469454821","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468960472109":{"id":"101978468960472109","upvoted":false,"upvotesCount":33,"text":"Great documentation","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.15":{"node":{"type":"id","generated":false,"id":"Reason:101978468960472109","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468400393417":{"id":"101978468400393417","upvoted":false,"upvotesCount":26,"text":"Matlab alternative","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.16":{"node":{"type":"id","generated":false,"id":"Reason:101978468400393417","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468926161525":{"id":"101978468926161525","upvoted":false,"upvotesCount":25,"text":"Productivity","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.17":{"node":{"type":"id","generated":false,"id":"Reason:101978468926161525","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469168801690":{"id":"101978469168801690","upvoted":false,"upvotesCount":25,"text":"Easy to read","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.18":{"node":{"type":"id","generated":false,"id":"Reason:101978469168801690","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469233810288":{"id":"101978469233810288","upvoted":false,"upvotesCount":21,"text":"Simple is better than complex","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.19":{"node":{"type":"id","generated":false,"id":"Reason:101978469233810288","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468683863733":{"id":"101978468683863733","upvoted":false,"upvotesCount":18,"text":"It's the way I think","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.20":{"node":{"type":"id","generated":false,"id":"Reason:101978468683863733","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468351151520":{"id":"101978468351151520","upvoted":false,"upvotesCount":17,"text":"Imperative","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.21":{"node":{"type":"id","generated":false,"id":"Reason:101978468351151520","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468765033135":{"id":"101978468765033135","upvoted":false,"upvotesCount":15,"text":"Very programmer and non-programmer friendly","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.22":{"node":{"type":"id","generated":false,"id":"Reason:101978468765033135","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469733269117":{"id":"101978469733269117","upvoted":false,"upvotesCount":15,"text":"Free","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.23":{"node":{"type":"id","generated":false,"id":"Reason:101978469733269117","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469188380319":{"id":"101978469188380319","upvoted":false,"upvotesCount":14,"text":"Powerfull language","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.24":{"node":{"type":"id","generated":false,"id":"Reason:101978469188380319","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469643042562":{"id":"101978469643042562","upvoted":false,"upvotesCount":14,"text":"Machine learning support","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.25":{"node":{"type":"id","generated":false,"id":"Reason:101978469643042562","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468676601588":{"id":"101978468676601588","upvoted":false,"upvotesCount":14,"text":"Powerful","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.26":{"node":{"type":"id","generated":false,"id":"Reason:101978468676601588","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469001601063":{"id":"101978469001601063","upvoted":false,"upvotesCount":13,"text":"Fast and simple","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.27":{"node":{"type":"id","generated":false,"id":"Reason:101978469001601063","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469381557823":{"id":"101978469381557823","upvoted":false,"upvotesCount":12,"text":"Scripting","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.28":{"node":{"type":"id","generated":false,"id":"Reason:101978469381557823","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469233652268":{"id":"101978469233652268","upvoted":false,"upvotesCount":9,"text":"Explicit is better than implicit","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.29":{"node":{"type":"id","generated":false,"id":"Reason:101978469233652268","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468805826827":{"id":"101978468805826827","upvoted":false,"upvotesCount":8,"text":"Unlimited power","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.30":{"node":{"type":"id","generated":false,"id":"Reason:101978468805826827","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469295795029":{"id":"101978469295795029","upvoted":false,"upvotesCount":8,"text":"Ease of development","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.31":{"node":{"type":"id","generated":false,"id":"Reason:101978469295795029","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469386847773":{"id":"101978469386847773","upvoted":false,"upvotesCount":8,"text":"Clear and easy and powerfull","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.32":{"node":{"type":"id","generated":false,"id":"Reason:101978469386847773","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469508040401":{"id":"101978469508040401","upvoted":false,"upvotesCount":7,"text":"Import antigravity","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.33":{"node":{"type":"id","generated":false,"id":"Reason:101978469508040401","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469935267438":{"id":"101978469935267438","upvoted":false,"upvotesCount":6,"text":"It's lean and fun to code","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.34":{"node":{"type":"id","generated":false,"id":"Reason:101978469935267438","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469610186923":{"id":"101978469610186923","upvoted":false,"upvotesCount":6,"text":"Print \"life is short, use python\"","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.35":{"node":{"type":"id","generated":false,"id":"Reason:101978469610186923","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469752266012":{"id":"101978469752266012","upvoted":false,"upvotesCount":5,"text":"Great for tooling","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.36":{"node":{"type":"id","generated":false,"id":"Reason:101978469752266012","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469861267358":{"id":"101978469861267358","upvoted":false,"upvotesCount":5,"text":"Fast coding and good for competitions","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.37":{"node":{"type":"id","generated":false,"id":"Reason:101978469861267358","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469707218104":{"id":"101978469707218104","upvoted":false,"upvotesCount":5,"text":"I love snakes","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.38":{"node":{"type":"id","generated":false,"id":"Reason:101978469707218104","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469634047480":{"id":"101978469634047480","upvoted":false,"upvotesCount":5,"text":"Python has great libraries for data processing","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.39":{"node":{"type":"id","generated":false,"id":"Reason:101978469634047480","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469236458796":{"id":"101978469236458796","upvoted":false,"upvotesCount":5,"text":"There should be one-- and preferably only one --obvious","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.40":{"node":{"type":"id","generated":false,"id":"Reason:101978469236458796","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469686859930":{"id":"101978469686859930","upvoted":false,"upvotesCount":5,"text":"High Documented language ","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.41":{"node":{"type":"id","generated":false,"id":"Reason:101978469686859930","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469234559440":{"id":"101978469234559440","upvoted":false,"upvotesCount":5,"text":"Flat is better than nested","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.42":{"node":{"type":"id","generated":false,"id":"Reason:101978469234559440","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469235735183":{"id":"101978469235735183","upvoted":false,"upvotesCount":5,"text":"Although practicality beats purity","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.43":{"node":{"type":"id","generated":false,"id":"Reason:101978469235735183","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469948037741":{"id":"101978469948037741","upvoted":false,"upvotesCount":4,"text":"Rapid Prototyping","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.44":{"node":{"type":"id","generated":false,"id":"Reason:101978469948037741","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469234776090":{"id":"101978469234776090","upvoted":false,"upvotesCount":4,"text":"Readability counts","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.45":{"node":{"type":"id","generated":false,"id":"Reason:101978469234776090","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469613096843":{"id":"101978469613096843","upvoted":false,"upvotesCount":3,"text":"Great for analytics","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.46":{"node":{"type":"id","generated":false,"id":"Reason:101978469613096843","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:105203955066671330":{"id":"105203955066671330","upvoted":false,"upvotesCount":3,"text":"Web scraping","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.47":{"node":{"type":"id","generated":false,"id":"Reason:105203955066671330","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469235834793":{"id":"101978469235834793","upvoted":false,"upvotesCount":3,"text":"Now is better than never","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.48":{"node":{"type":"id","generated":false,"id":"Reason:101978469235834793","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978470204284173":{"id":"101978470204284173","upvoted":false,"upvotesCount":3,"text":"Plotting","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.49":{"node":{"type":"id","generated":false,"id":"Reason:101978470204284173","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978470147978215":{"id":"101978470147978215","upvoted":false,"upvotesCount":3,"text":"Lists, tuples, dictionaries","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.50":{"node":{"type":"id","generated":false,"id":"Reason:101978470147978215","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469834327120":{"id":"101978469834327120","upvoted":false,"upvotesCount":3,"text":"Socially engaged community","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.51":{"node":{"type":"id","generated":false,"id":"Reason:101978469834327120","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469233920490":{"id":"101978469233920490","upvoted":false,"upvotesCount":3,"text":"Complex is better than complicated","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.52":{"node":{"type":"id","generated":false,"id":"Reason:101978469233920490","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469867052657":{"id":"101978469867052657","upvoted":false,"upvotesCount":3,"text":"Multiple Inheritence","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.53":{"node":{"type":"id","generated":false,"id":"Reason:101978469867052657","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469233482783":{"id":"101978469233482783","upvoted":false,"upvotesCount":3,"text":"Beautiful is better than ugly","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.54":{"node":{"type":"id","generated":false,"id":"Reason:101978469233482783","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469257613687":{"id":"101978469257613687","upvoted":false,"upvotesCount":3,"text":"CG industry needs","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.55":{"node":{"type":"id","generated":false,"id":"Reason:101978469257613687","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469744291794":{"id":"101978469744291794","upvoted":false,"upvotesCount":2,"text":"No cruft","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.56":{"node":{"type":"id","generated":false,"id":"Reason:101978469744291794","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:103020347725548742":{"id":"103020347725548742","upvoted":false,"upvotesCount":2,"text":"Many types of collections","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.57":{"node":{"type":"id","generated":false,"id":"Reason:103020347725548742","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469841511349":{"id":"101978469841511349","upvoted":false,"upvotesCount":2,"text":"Easy to learn and use ","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.58":{"node":{"type":"id","generated":false,"id":"Reason:101978469841511349","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469235437817":{"id":"101978469235437817","upvoted":false,"upvotesCount":2,"text":"Special cases aren't special enough to break the rules","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.59":{"node":{"type":"id","generated":false,"id":"Reason:101978469235437817","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469236004468":{"id":"101978469236004468","upvoted":false,"upvotesCount":2,"text":"If the implementation is hard to explain, it's a bad id","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.60":{"node":{"type":"id","generated":false,"id":"Reason:101978469236004468","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469236318576":{"id":"101978469236318576","upvoted":false,"upvotesCount":2,"text":"If the implementation is easy to explain, it may be a g","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.61":{"node":{"type":"id","generated":false,"id":"Reason:101978469236318576","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978470088899213":{"id":"101978470088899213","upvoted":false,"upvotesCount":2,"text":"List comprehensions","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.62":{"node":{"type":"id","generated":false,"id":"Reason:101978470088899213","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:102544904821180429":{"id":"102544904821180429","upvoted":false,"upvotesCount":2,"text":"Generators","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.63":{"node":{"type":"id","generated":false,"id":"Reason:102544904821180429","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469530396790":{"id":"101978469530396790","upvoted":false,"upvotesCount":2,"text":"Simple and easy to learn","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.64":{"node":{"type":"id","generated":false,"id":"Reason:101978469530396790","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:103699420796958043":{"id":"103699420796958043","upvoted":false,"upvotesCount":2,"text":"Easy to setup and run smooth","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.65":{"node":{"type":"id","generated":false,"id":"Reason:103699420796958043","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469723650364":{"id":"101978469723650364","upvoted":false,"upvotesCount":2,"text":"Import this","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.66":{"node":{"type":"id","generated":false,"id":"Reason:101978469723650364","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:105803783511034544":{"id":"105803783511034544","upvoted":false,"upvotesCount":1,"text":"Powerful language for AI","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.67":{"node":{"type":"id","generated":false,"id":"Reason:105803783511034544","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:104014668517766975":{"id":"104014668517766975","upvoted":false,"upvotesCount":1,"text":"Because of Netflix","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.68":{"node":{"type":"id","generated":false,"id":"Reason:104014668517766975","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:102977818870154948":{"id":"102977818870154948","upvoted":false,"upvotesCount":1,"text":"A-to-Z","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.69":{"node":{"type":"id","generated":false,"id":"Reason:102977818870154948","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:103020346453388564":{"id":"103020346453388564","upvoted":false,"upvotesCount":1,"text":"Only one way to do it","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.70":{"node":{"type":"id","generated":false,"id":"Reason:103020346453388564","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:108391327340103831":{"id":"108391327340103831","upvoted":false,"upvotesCount":1,"text":"Can understand easily who are new to programming","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.71":{"node":{"type":"id","generated":false,"id":"Reason:108391327340103831","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:102288749149405793":{"id":"102288749149405793","upvoted":false,"upvotesCount":1,"text":"Flexible and easy","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.72":{"node":{"type":"id","generated":false,"id":"Reason:102288749149405793","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:102288749905525546":{"id":"102288749905525546","upvoted":false,"upvotesCount":1,"text":"Better outcome","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.73":{"node":{"type":"id","generated":false,"id":"Reason:102288749905525546","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:102544957867457543":{"id":"102544957867457543","upvoted":false,"upvotesCount":1,"text":"Batteries included","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.74":{"node":{"type":"id","generated":false,"id":"Reason:102544957867457543","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:108670275366230314":{"id":"108670275366230314","upvoted":false,"upvotesCount":1,"text":"Good for hacking","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.75":{"node":{"type":"id","generated":false,"id":"Reason:108670275366230314","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:105854184368576388":{"id":"105854184368576388","upvoted":false,"upvotesCount":1,"text":"Should START with this but not STICK with This","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.76":{"node":{"type":"id","generated":false,"id":"Reason:105854184368576388","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:105601757439013945":{"id":"105601757439013945","upvoted":false,"upvotesCount":1,"text":"Pip install everything","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.77":{"node":{"type":"id","generated":false,"id":"Reason:105601757439013945","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:105756109412697543":{"id":"105756109412697543","upvoted":false,"upvotesCount":1,"text":"It is Very easy , simple and will you be love programmi","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.78":{"node":{"type":"id","generated":false,"id":"Reason:105756109412697543","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469263922379":{"id":"101978469263922379","upvoted":false,"upvotesCount":0,"text":"Powerful","__typename":"Reason"},"$Tool:101231773837179153.pros.edges.79":{"node":{"type":"id","generated":false,"id":"Reason:101978469263922379","typename":"Reason"},"__typename":"ReasonEdge"},"$Tool:101231773837179153.pros":{"edges":[{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.0","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.1","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.2","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.3","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.4","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.5","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.6","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.7","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.8","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.9","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.10","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.11","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.12","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.13","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.14","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.15","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.16","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.17","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.18","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.19","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.20","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.21","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.22","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.23","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.24","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.25","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.26","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.27","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.28","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.29","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.30","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.31","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.32","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.33","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.34","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.35","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.36","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.37","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.38","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.39","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.40","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.41","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.42","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.43","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.44","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.45","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.46","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.47","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.48","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.49","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.50","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.51","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.52","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.53","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.54","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.55","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.56","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.57","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.58","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.59","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.60","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.61","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.62","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.63","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.64","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.65","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.66","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.67","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.68","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.69","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.70","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.71","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.72","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.73","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.74","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.75","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.76","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.77","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.78","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.pros.edges.79","typename":"ReasonEdge"}],"__typename":"ReasonConnection"},"Reason:101978469796759356":{"id":"101978469796759356","upvoted":false,"upvotesCount":51,"text":"Still divided between python 2 and python 3","__typename":"Reason"},"$Tool:101231773837179153.cons.edges.0":{"node":{"type":"id","generated":false,"id":"Reason:101978469796759356","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469796889908":{"id":"101978469796889908","upvoted":false,"upvotesCount":28,"text":"Performance impact","__typename":"Reason"},"$Tool:101231773837179153.cons.edges.1":{"node":{"type":"id","generated":false,"id":"Reason:101978469796889908","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469814277418":{"id":"101978469814277418","upvoted":false,"upvotesCount":26,"text":"Poor syntax for anonymous functions","__typename":"Reason"},"$Tool:101231773837179153.cons.edges.2":{"node":{"type":"id","generated":false,"id":"Reason:101978469814277418","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469814395220":{"id":"101978469814395220","upvoted":false,"upvotesCount":21,"text":"GIL","__typename":"Reason"},"$Tool:101231773837179153.cons.edges.3":{"node":{"type":"id","generated":false,"id":"Reason:101978469814395220","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978470026312762":{"id":"101978470026312762","upvoted":false,"upvotesCount":19,"text":"Package management is a mess","__typename":"Reason"},"$Tool:101231773837179153.cons.edges.4":{"node":{"type":"id","generated":false,"id":"Reason:101978470026312762","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469814663306":{"id":"101978469814663306","upvoted":false,"upvotesCount":14,"text":"Too imperative-oriented","__typename":"Reason"},"$Tool:101231773837179153.cons.edges.5":{"node":{"type":"id","generated":false,"id":"Reason:101978469814663306","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978470088403999":{"id":"101978470088403999","upvoted":false,"upvotesCount":12,"text":"Hard to understand","__typename":"Reason"},"$Tool:101231773837179153.cons.edges.6":{"node":{"type":"id","generated":false,"id":"Reason:101978470088403999","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978470269754169":{"id":"101978470269754169","upvoted":false,"upvotesCount":12,"text":"Dynamic typing ","__typename":"Reason"},"$Tool:101231773837179153.cons.edges.7":{"node":{"type":"id","generated":false,"id":"Reason:101978470269754169","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:103006956813611289":{"id":"103006956813611289","upvoted":false,"upvotesCount":10,"text":"Very slow","__typename":"Reason"},"$Tool:101231773837179153.cons.edges.8":{"node":{"type":"id","generated":false,"id":"Reason:103006956813611289","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469814517660":{"id":"101978469814517660","upvoted":false,"upvotesCount":8,"text":"Not everything is expression","__typename":"Reason"},"$Tool:101231773837179153.cons.edges.9":{"node":{"type":"id","generated":false,"id":"Reason:101978469814517660","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:102134134603695054":{"id":"102134134603695054","upvoted":false,"upvotesCount":7,"text":"Explicit self parameter in methods","__typename":"Reason"},"$Tool:101231773837179153.cons.edges.10":{"node":{"type":"id","generated":false,"id":"Reason:102134134603695054","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:103308099593554558":{"id":"103308099593554558","upvoted":false,"upvotesCount":7,"text":"Indentations matter a lot","__typename":"Reason"},"$Tool:101231773837179153.cons.edges.11":{"node":{"type":"id","generated":false,"id":"Reason:103308099593554558","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469814800828":{"id":"101978469814800828","upvoted":false,"upvotesCount":6,"text":"Poor DSL capabilities","__typename":"Reason"},"$Tool:101231773837179153.cons.edges.12":{"node":{"type":"id","generated":false,"id":"Reason:101978469814800828","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:104891046164168950":{"id":"104891046164168950","upvoted":false,"upvotesCount":6,"text":"Incredibly slow","__typename":"Reason"},"$Tool:101231773837179153.cons.edges.13":{"node":{"type":"id","generated":false,"id":"Reason:104891046164168950","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978470153648224":{"id":"101978470153648224","upvoted":false,"upvotesCount":6,"text":"No anonymous functions","__typename":"Reason"},"$Tool:101231773837179153.cons.edges.14":{"node":{"type":"id","generated":false,"id":"Reason:101978470153648224","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:102411901641960039":{"id":"102411901641960039","upvoted":false,"upvotesCount":6,"text":"Requires C functions for dynamic modules","__typename":"Reason"},"$Tool:101231773837179153.cons.edges.15":{"node":{"type":"id","generated":false,"id":"Reason:102411901641960039","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:103020328707116529":{"id":"103020328707116529","upvoted":false,"upvotesCount":5,"text":"Hard to obfuscate","__typename":"Reason"},"$Tool:101231773837179153.cons.edges.16":{"node":{"type":"id","generated":false,"id":"Reason:103020328707116529","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:104122383637803635":{"id":"104122383637803635","upvoted":false,"upvotesCount":5,"text":"Threading","__typename":"Reason"},"$Tool:101231773837179153.cons.edges.17":{"node":{"type":"id","generated":false,"id":"Reason:104122383637803635","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:103020343221807933":{"id":"103020343221807933","upvoted":false,"upvotesCount":5,"text":"Fake object-oriented programming","__typename":"Reason"},"$Tool:101231773837179153.cons.edges.18":{"node":{"type":"id","generated":false,"id":"Reason:103020343221807933","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978470201844824":{"id":"101978470201844824","upvoted":false,"upvotesCount":5,"text":"The \"lisp style\" whitespaces","__typename":"Reason"},"$Tool:101231773837179153.cons.edges.19":{"node":{"type":"id","generated":false,"id":"Reason:101978470201844824","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:104964410127452870":{"id":"104964410127452870","upvoted":false,"upvotesCount":4,"text":"Official documentation is unclear. ","__typename":"Reason"},"$Tool:101231773837179153.cons.edges.20":{"node":{"type":"id","generated":false,"id":"Reason:104964410127452870","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:105417323728548993":{"id":"105417323728548993","upvoted":false,"upvotesCount":4,"text":"Circular import","__typename":"Reason"},"$Tool:101231773837179153.cons.edges.21":{"node":{"type":"id","generated":false,"id":"Reason:105417323728548993","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:103020330017807865":{"id":"103020330017807865","upvoted":false,"upvotesCount":4,"text":"Lack of Syntax Sugar leads to \"the pyramid of doom\"","__typename":"Reason"},"$Tool:101231773837179153.cons.edges.22":{"node":{"type":"id","generated":false,"id":"Reason:103020330017807865","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:104863810832909845":{"id":"104863810832909845","upvoted":false,"upvotesCount":4,"text":"Not suitable for autocomplete","__typename":"Reason"},"$Tool:101231773837179153.cons.edges.23":{"node":{"type":"id","generated":false,"id":"Reason:104863810832909845","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:103020333275839869":{"id":"103020333275839869","upvoted":false,"upvotesCount":4,"text":"The benevolent-dictator-for-life quit","__typename":"Reason"},"$Tool:101231773837179153.cons.edges.24":{"node":{"type":"id","generated":false,"id":"Reason:103020333275839869","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:105493374017117522":{"id":"105493374017117522","upvoted":false,"upvotesCount":2,"text":"Meta classes","__typename":"Reason"},"$Tool:101231773837179153.cons.edges.25":{"node":{"type":"id","generated":false,"id":"Reason:105493374017117522","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:105266324837830261":{"id":"105266324837830261","upvoted":false,"upvotesCount":1,"text":"Training wheels (forced indentation)","__typename":"Reason"},"$Tool:101231773837179153.cons.edges.26":{"node":{"type":"id","generated":false,"id":"Reason:105266324837830261","typename":"Reason"},"__typename":"ReasonEdge"},"$Tool:101231773837179153.cons":{"edges":[{"type":"id","generated":true,"id":"$Tool:101231773837179153.cons.edges.0","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.cons.edges.1","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.cons.edges.2","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.cons.edges.3","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.cons.edges.4","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.cons.edges.5","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.cons.edges.6","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.cons.edges.7","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.cons.edges.8","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.cons.edges.9","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.cons.edges.10","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.cons.edges.11","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.cons.edges.12","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.cons.edges.13","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.cons.edges.14","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.cons.edges.15","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.cons.edges.16","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.cons.edges.17","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.cons.edges.18","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.cons.edges.19","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.cons.edges.20","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.cons.edges.21","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.cons.edges.22","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.cons.edges.23","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.cons.edges.24","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.cons.edges.25","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.cons.edges.26","typename":"ReasonEdge"}],"__typename":"ReasonConnection"},"User:101232060335104864":{"id":"101232060335104864","username":"conor","title":"Tech Brand Mgr, Office of CTO","companyName":"Uber","imageUrl":"https://img.stackshare.io/user/139323/default_6e3b53ba36fc1cc7f7d8766d8e218302acb264db.jpeg","thumbUrl":"https://img.stackshare.io/user/139323/thumb_6e3b53ba36fc1cc7f7d8766d8e218302acb264db.jpeg","displayName":"Conor Myhrvold","__typename":"User"},"StackDecision:101184587860273619":{"user":{"type":"id","generated":false,"id":"User:101232060335104864","typename":"User"},"company":{"type":"id","generated":true,"id":"$StackDecision:101184587860273619.company","typename":"Company"},"link":{"type":"id","generated":true,"id":"$StackDecision:101184587860273619.link","typename":"Link"},"publicId":"101184587860273619","publishedAt":"2018-12-04T20:11:22Z","id":"101184587860273619","htmlContent":"<p>How Uber developed the open source, end-to-end distributed tracing <span class=\"tool\">Jaeger</span> , now a CNCF project:</p>\n\n<p>Distributed tracing is quickly becoming a must-have component in the tools that organizations use to monitor their complex, microservice-based architectures. At Uber, our open source distributed tracing system Jaeger saw large-scale internal adoption throughout 2016, integrated into hundreds of microservices and now recording thousands of traces every second. </p>\n\n<p>Here is the story of how we got here, from investigating off-the-shelf solutions like Zipkin, to why we switched from pull to push architecture, and how distributed tracing will continue to evolve:</p>\n\n<p><a href=\"https://eng.uber.com/distributed-tracing/\" rel=\"nofollow noopener\" target=\"_blank\">https://eng.uber.com/distributed-tracing/</a></p>\n\n<p>(GitHub Pages : <a href=\"https://www.jaegertracing.io/\" rel=\"nofollow noopener\" target=\"_blank\">https://www.jaegertracing.io/</a>, GitHub: <a href=\"https://github.com/jaegertracing/jaeger\" rel=\"nofollow noopener\" target=\"_blank\">https://github.com/jaegertracing/jaeger</a>)</p>\n\n<p>Bindings/Operator: <span class=\"tool\">Python</span> <span class=\"tool\">Java</span> <span class=\"tool\">Node.js</span> <span class=\"tool\">Go</span> <span class=\"tool\">C++</span> <span class=\"tool\">Kubernetes</span> <span class=\"tool\">JavaScript</span> <span class=\"tool\">OpenShift</span> <span class=\"tool\">C#</span> <span class=\"tool\">Apache Spark</span> </p>","viewCount":5553344,"upvotesCount":41,"services":[{"type":"id","generated":false,"id":"Tool:101231777477127297","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773837179153","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773838011785","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773845103618","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773842107538","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773860248995","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231774206661614","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773939333405","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773504918534","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773846783660","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231774331076628","typename":"Tool"}],"topics":[],"__typename":"StackDecision"},"$StackDecision:101184587860273619.company":{"imageUrl":"https://img.stackshare.io/company/363/default_e5d5db9bd2df8488fe8e61913e700c52ec9c13e4.jpg","thumbUrl":"https://img.stackshare.io/company/363/thumb_e5d5db9bd2df8488fe8e61913e700c52ec9c13e4.jpg","name":"Uber Technologies","path":"/companies/uber-technologies","features":[],"__typename":"Company"},"$StackDecision:101184587860273619.link":{"url":"https://eng.uber.com/distributed-tracing/","title":"Evolving Distributed Tracing at Uber Engineering | Uber Engineering Blog","__typename":"Link"},"Tool:101231777477127297":{"id":"101231777477127297","name":"Jaeger","slug":"jaeger","title":"Distributed tracing system released as open source by Uber","verified":false,"imageUrl":"https://img.stackshare.io/service/8123/28545596.png","canonicalUrl":"/jaeger","path":"/jaeger","votes":15,"fans":515,"stacks":299,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231773838011785":{"id":"101231773838011785","name":"Java","slug":"java","title":"A concurrent, class-based, object-oriented, language specifically designed to have as few implementation dependencies as possible","verified":false,"imageUrl":"https://img.stackshare.io/service/995/K85ZWV2F.png","canonicalUrl":"/java","path":"/java","votes":3670,"fans":100851,"stacks":111246,"following":false,"followContext":null,"__typename":"Tool","followers":{"type":"id","generated":true,"id":"$Tool:101231773838011785.followers","typename":"UserConnection"},"githubForksCount":null,"thumbRetinaUrl":"https://img.stackshare.io/service/995/thumb_retina_K85ZWV2F.png","description":"Java is a programming language and computing platform first released by Sun Microsystems in 1995. There are lots of applications and websites that will not work unless you have Java installed, and more are created every day. Java is fast, secure, and reliable. From laptops to datacenters, game consoles to scientific supercomputers, cell phones to the Internet, Java is everywhere!","contactEnabled":true,"contactButtonText":"Monitor Java errors & performance with Sentry","contactFlow":{"type":"json","json":{"links":[{"url":"https://sentry.io/for/java/?utm_source=stackshare&utm_medum=cpc&utm_campaign=java","type":"website"}],"steps":["direct_link"]}},"pros":{"type":"id","generated":true,"id":"$Tool:101231773838011785.pros","typename":"ReasonConnection"},"cons":{"type":"id","generated":true,"id":"$Tool:101231773838011785.cons","typename":"ReasonConnection"},"stackDecisionsWithAlternatives({\"first\":2})":{"type":"id","generated":true,"id":"$Tool:101231773838011785.stackDecisionsWithAlternatives({\"first\":2})","typename":"StackDecisionConnection"}},"Tool:101231773842107538":{"id":"101231773842107538","name":"Golang","slug":"golang","title":"An open source programming language that makes it easy to build simple, reliable, and efficient software","verified":true,"imageUrl":"https://img.stackshare.io/service/1005/O6AczwfV_400x400.png","canonicalUrl":"/golang","path":"/golang","votes":3188,"fans":15675,"stacks":16096,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231773860248995":{"id":"101231773860248995","name":"C++","slug":"cplusplus","title":"Has imperative, object-oriented and generic programming features, while also providing the facilities for low level memory manipulation","verified":false,"imageUrl":"https://img.stackshare.io/service/1049/cplusplus.png","canonicalUrl":"/cplusplus","path":"/cplusplus","votes":816,"fans":10016,"stacks":10991,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231774206661614":{"id":"101231774206661614","name":"Kubernetes","slug":"kubernetes","title":"Manage a cluster of Linux containers as a single system to accelerate Dev and simplify Ops","verified":false,"imageUrl":"https://img.stackshare.io/service/1885/21_d3cvM.png","canonicalUrl":"/kubernetes","path":"/kubernetes","votes":639,"fans":51027,"stacks":49985,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231773504918534":{"id":"101231773504918534","name":"Red Hat OpenShift","slug":"red-hat-openshift","title":"Red Hat's free Platform as a Service (PaaS) for hosting Java, PHP, Ruby, Python, Node.js, and Perl apps","verified":true,"imageUrl":"https://img.stackshare.io/service/197/default_d69814fad86744595b3b0b30ef84c36c09c70902.jpg","canonicalUrl":"/red-hat-openshift","path":"/red-hat-openshift","votes":506,"fans":1676,"stacks":1388,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231773846783660":{"id":"101231773846783660","name":"C#","slug":"c-sharp","title":"Simple, general-purpose, object-oriented programming language for the .NET platform","verified":true,"imageUrl":"https://img.stackshare.io/service/1015/1200px-C_Sharp_wordmark.svg.png","canonicalUrl":"/c-sharp","path":"/c-sharp","votes":2044,"fans":44710,"stacks":55712,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231774331076628":{"id":"101231774331076628","name":"Apache Spark","slug":"spark","title":"Fast and general engine for large-scale data processing","verified":false,"imageUrl":"https://img.stackshare.io/service/2220/ca72c4715da998b0bf5d1c857958bed3.png","canonicalUrl":"/spark","path":"/spark","votes":139,"fans":3780,"stacks":2770,"following":false,"followContext":null,"__typename":"Tool"},"$Tool:101231773837179153.stackDecisionsWithAlternatives({\"first\":2}).edges.0":{"node":{"type":"id","generated":false,"id":"StackDecision:101184587860273619","typename":"StackDecision"},"__typename":"StackDecisionEdge"},"User:101231989589388812":{"id":"101231989589388812","username":"nickparsons","title":"Building cool things on the internet 🛠️","companyName":"Stream","imageUrl":"https://img.stackshare.io/user/948/default_efa416484df37ac54a330c95d9f617da40930954.jpg","thumbUrl":"https://img.stackshare.io/user/948/thumb_efa416484df37ac54a330c95d9f617da40930954.jpg","displayName":"Nick Parsons","__typename":"User"},"StackDecision:101031322388095263":{"user":{"type":"id","generated":false,"id":"User:101231989589388812","typename":"User"},"company":{"type":"id","generated":true,"id":"$StackDecision:101031322388095263.company","typename":"Company"},"link":{"type":"id","generated":true,"id":"$StackDecision:101031322388095263.link","typename":"Link"},"publicId":"101031322388095263","publishedAt":"2018-09-13T07:38:43Z","id":"101031322388095263","htmlContent":"<p>Winds 2.0 is an open source Podcast/RSS reader developed by <span class=\"tool\">Stream</span> with a core goal to enable a wide range of developers to contribute.</p>\n\n<p>We chose <span class=\"tool\">JavaScript</span> because nearly every developer knows or can, at the very least, read JavaScript. With <span class=\"tool\">ES6</span> and <span class=\"tool\">Node.js</span> v10.x.x, it’s become a very capable language. Async/Await is powerful and easy to use (Async/Await vs Promises). <span class=\"tool\">Babel</span> allows us to experiment with next-generation JavaScript (features that are not in the official JavaScript spec yet). <span class=\"tool\">Yarn</span> allows us to consistently install packages quickly (and is filled with tons of new tricks)</p>\n\n<p>We’re using JavaScript for everything – both front and backend. Most of our team is experienced with <span class=\"tool\">Go</span> and <span class=\"tool\">Python</span>, so Node was not an obvious choice for this app.</p>\n\n<p>Sure... there will be haters who refuse to acknowledge that there is anything remotely positive about JavaScript (there are even rants on Hacker News about Node.js); however, without writing completely in JavaScript, we would not have seen the results we did.</p>\n\n<p><span class=\"topic\">#FrameworksFullStack</span> <span class=\"topic\">#Languages</span></p>","viewCount":1758326,"upvotesCount":35,"services":[{"type":"id","generated":false,"id":"Tool:101231774327775574","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773842107538","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773939333405","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231775376642511","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773845103618","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231774565594919","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231776364087566","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773837179153","typename":"Tool"}],"topics":[{"type":"id","generated":false,"id":"Topic:101231988780820159","typename":"Topic"},{"type":"id","generated":false,"id":"Topic:101231988780391756","typename":"Topic"}],"__typename":"StackDecision"},"$StackDecision:101031322388095263.company":{"imageUrl":"https://img.stackshare.io/company/2139/default_5d6bc688e64213dc42bb467533c97fc793ccc5ca.jpg","thumbUrl":"https://img.stackshare.io/company/2139/thumb_5d6bc688e64213dc42bb467533c97fc793ccc5ca.jpg","name":"Stream","path":"/companies/stream","features":[],"__typename":"Company"},"$StackDecision:101031322388095263.link":{"url":"https://stackshare.io/stream/how-stream-built-a-modern-rss-reader-with-javascript","title":"How Stream Built a Modern RSS Reader With JavaScript - Stream Tech Stack | StackShare","__typename":"Link"},"Tool:101231774327775574":{"id":"101231774327775574","name":"Stream","slug":"stream","title":"Build scalable feeds, activity streams & chat in a few hours instead of months.","verified":true,"imageUrl":"https://img.stackshare.io/service/2213/mBSAJI_h_400x400.jpg","canonicalUrl":"/stream","path":"/stream","votes":54,"fans":262,"stacks":181,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231775376642511":{"id":"101231775376642511","name":"ES6","slug":"es6","title":"The next version of JavaScript","verified":false,"imageUrl":"https://img.stackshare.io/service/4109/16407404782_8b9c57eab3.jpg","canonicalUrl":"/es6","path":"/es6","votes":164,"fans":61118,"stacks":62123,"following":false,"followContext":null,"__typename":"Tool"},"Topic:101231988780820159":{"name":"FrameworksFullStack","id":"101231988780820159","__typename":"Topic"},"Topic:101231988780391756":{"name":"Languages","id":"101231988780391756","__typename":"Topic"},"$Tool:101231773837179153.stackDecisionsWithAlternatives({\"first\":2}).edges.1":{"node":{"type":"id","generated":false,"id":"StackDecision:101031322388095263","typename":"StackDecision"},"__typename":"StackDecisionEdge"},"$Tool:101231773837179153.stackDecisionsWithAlternatives({\"first\":2})":{"edges":[{"type":"id","generated":true,"id":"$Tool:101231773837179153.stackDecisionsWithAlternatives({\"first\":2}).edges.0","typename":"StackDecisionEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837179153.stackDecisionsWithAlternatives({\"first\":2}).edges.1","typename":"StackDecisionEdge"}],"__typename":"StackDecisionConnection"},"$Tool:101231773845103618.alternativeTools({\"first\":8}).edges.2":{"node":{"type":"id","generated":false,"id":"Tool:101231773837179153","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231773939333405.followers":{"count":226922,"__typename":"UserConnection"},"Reason:101978468366842394":{"id":"101978468366842394","upvoted":false,"upvotesCount":1646,"text":"Can be used on frontend/backend","__typename":"Reason"},"$Tool:101231773939333405.pros.edges.0":{"node":{"type":"id","generated":false,"id":"Reason:101978468366842394","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468523479204":{"id":"101978468523479204","upvoted":false,"upvotesCount":1492,"text":"It's everywhere","__typename":"Reason"},"$Tool:101231773939333405.pros.edges.1":{"node":{"type":"id","generated":false,"id":"Reason:101978468523479204","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468366322957":{"id":"101978468366322957","upvoted":false,"upvotesCount":1153,"text":"Lots of great frameworks","__typename":"Reason"},"$Tool:101231773939333405.pros.edges.2":{"node":{"type":"id","generated":false,"id":"Reason:101978468366322957","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468366180989":{"id":"101978468366180989","upvoted":false,"upvotesCount":893,"text":"Fast","__typename":"Reason"},"$Tool:101231773939333405.pros.edges.3":{"node":{"type":"id","generated":false,"id":"Reason:101978468366180989","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468366475635":{"id":"101978468366475635","upvoted":false,"upvotesCount":740,"text":"Light weight","__typename":"Reason"},"$Tool:101231773939333405.pros.edges.4":{"node":{"type":"id","generated":false,"id":"Reason:101978468366475635","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468557777533":{"id":"101978468557777533","upvoted":false,"upvotesCount":423,"text":"Flexible","__typename":"Reason"},"$Tool:101231773939333405.pros.edges.5":{"node":{"type":"id","generated":false,"id":"Reason:101978468557777533","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468366066445":{"id":"101978468366066445","upvoted":false,"upvotesCount":390,"text":"You can't get a device today that doesn't run js","__typename":"Reason"},"$Tool:101231773939333405.pros.edges.6":{"node":{"type":"id","generated":false,"id":"Reason:101978468366066445","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468557861624":{"id":"101978468557861624","upvoted":false,"upvotesCount":286,"text":"Non-blocking i/o","__typename":"Reason"},"$Tool:101231773939333405.pros.edges.7":{"node":{"type":"id","generated":false,"id":"Reason:101978468557861624","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468529887371":{"id":"101978468529887371","upvoted":false,"upvotesCount":235,"text":"Ubiquitousness","__typename":"Reason"},"$Tool:101231773939333405.pros.edges.8":{"node":{"type":"id","generated":false,"id":"Reason:101978468529887371","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468557548951":{"id":"101978468557548951","upvoted":false,"upvotesCount":189,"text":"Expressive","__typename":"Reason"},"$Tool:101231773939333405.pros.edges.9":{"node":{"type":"id","generated":false,"id":"Reason:101978468557548951","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468633222714":{"id":"101978468633222714","upvoted":false,"upvotesCount":53,"text":"Extended functionality to web pages","__typename":"Reason"},"$Tool:101231773939333405.pros.edges.10":{"node":{"type":"id","generated":false,"id":"Reason:101978468633222714","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468632883035":{"id":"101978468632883035","upvoted":false,"upvotesCount":47,"text":"Relatively easy language","__typename":"Reason"},"$Tool:101231773939333405.pros.edges.11":{"node":{"type":"id","generated":false,"id":"Reason:101978468632883035","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468632741461":{"id":"101978468632741461","upvoted":false,"upvotesCount":44,"text":"Executed on the client side","__typename":"Reason"},"$Tool:101231773939333405.pros.edges.12":{"node":{"type":"id","generated":false,"id":"Reason:101978468632741461","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468633014181":{"id":"101978468633014181","upvoted":false,"upvotesCount":28,"text":"Relatively fast to the end user","__typename":"Reason"},"$Tool:101231773939333405.pros.edges.13":{"node":{"type":"id","generated":false,"id":"Reason:101978468633014181","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468705241106":{"id":"101978468705241106","upvoted":false,"upvotesCount":23,"text":"Pure Javascript","__typename":"Reason"},"$Tool:101231773939333405.pros.edges.14":{"node":{"type":"id","generated":false,"id":"Reason:101978468705241106","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468815371504":{"id":"101978468815371504","upvoted":false,"upvotesCount":19,"text":"Functional programming","__typename":"Reason"},"$Tool:101231773939333405.pros.edges.15":{"node":{"type":"id","generated":false,"id":"Reason:101978468815371504","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469704188256":{"id":"101978469704188256","upvoted":false,"upvotesCount":13,"text":"Async","__typename":"Reason"},"$Tool:101231773939333405.pros.edges.16":{"node":{"type":"id","generated":false,"id":"Reason:101978469704188256","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469706449848":{"id":"101978469706449848","upvoted":false,"upvotesCount":10,"text":"Full-stack","__typename":"Reason"},"$Tool:101231773939333405.pros.edges.17":{"node":{"type":"id","generated":false,"id":"Reason:101978469706449848","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469490403393":{"id":"101978469490403393","upvoted":false,"upvotesCount":10,"text":"Setup is easy","__typename":"Reason"},"$Tool:101231773939333405.pros.edges.18":{"node":{"type":"id","generated":false,"id":"Reason:101978469490403393","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469913560505":{"id":"101978469913560505","upvoted":false,"upvotesCount":10,"text":"Its everywhere","__typename":"Reason"},"$Tool:101231773939333405.pros.edges.19":{"node":{"type":"id","generated":false,"id":"Reason:101978469913560505","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469368408599":{"id":"101978469368408599","upvoted":false,"upvotesCount":9,"text":"Because I love functions","__typename":"Reason"},"$Tool:101231773939333405.pros.edges.20":{"node":{"type":"id","generated":false,"id":"Reason:101978469368408599","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469991624455":{"id":"101978469991624455","upvoted":false,"upvotesCount":8,"text":"Like it or not, JS is part of the web standard","__typename":"Reason"},"$Tool:101231773939333405.pros.edges.21":{"node":{"type":"id","generated":false,"id":"Reason:101978469991624455","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468836179962":{"id":"101978468836179962","upvoted":false,"upvotesCount":8,"text":"JavaScript is the New PHP","__typename":"Reason"},"$Tool:101231773939333405.pros.edges.22":{"node":{"type":"id","generated":false,"id":"Reason:101978468836179962","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469642930152":{"id":"101978469642930152","upvoted":false,"upvotesCount":8,"text":"Can be used in backend, frontend and DB","__typename":"Reason"},"$Tool:101231773939333405.pros.edges.23":{"node":{"type":"id","generated":false,"id":"Reason:101978469642930152","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469662732422":{"id":"101978469662732422","upvoted":false,"upvotesCount":7,"text":"Future Language of The Web","__typename":"Reason"},"$Tool:101231773939333405.pros.edges.24":{"node":{"type":"id","generated":false,"id":"Reason:101978469662732422","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:102218808047910210":{"id":"102218808047910210","upvoted":false,"upvotesCount":7,"text":"Easy","__typename":"Reason"},"$Tool:101231773939333405.pros.edges.25":{"node":{"type":"id","generated":false,"id":"Reason:102218808047910210","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469400563107":{"id":"101978469400563107","upvoted":false,"upvotesCount":7,"text":"Expansive community","__typename":"Reason"},"$Tool:101231773939333405.pros.edges.26":{"node":{"type":"id","generated":false,"id":"Reason:101978469400563107","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469862558326":{"id":"101978469862558326","upvoted":false,"upvotesCount":6,"text":"Can be used both as frontend and backend as well","__typename":"Reason"},"$Tool:101231773939333405.pros.edges.27":{"node":{"type":"id","generated":false,"id":"Reason:101978469862558326","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:102250056461243467":{"id":"102250056461243467","upvoted":false,"upvotesCount":6,"text":"Most Popular Language in the World","__typename":"Reason"},"$Tool:101231773939333405.pros.edges.28":{"node":{"type":"id","generated":false,"id":"Reason:102250056461243467","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469578589605":{"id":"101978469578589605","upvoted":false,"upvotesCount":6,"text":"For the good parts","__typename":"Reason"},"$Tool:101231773939333405.pros.edges.29":{"node":{"type":"id","generated":false,"id":"Reason:101978469578589605","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469787932557":{"id":"101978469787932557","upvoted":false,"upvotesCount":6,"text":"Everyone use it","__typename":"Reason"},"$Tool:101231773939333405.pros.edges.30":{"node":{"type":"id","generated":false,"id":"Reason:101978469787932557","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469706363815":{"id":"101978469706363815","upvoted":false,"upvotesCount":6,"text":"Love-hate relationship","__typename":"Reason"},"$Tool:101231773939333405.pros.edges.31":{"node":{"type":"id","generated":false,"id":"Reason:101978469706363815","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469904958577":{"id":"101978469904958577","upvoted":false,"upvotesCount":6,"text":"Easy to hire developers","__typename":"Reason"},"$Tool:101231773939333405.pros.edges.32":{"node":{"type":"id","generated":false,"id":"Reason:101978469904958577","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468913111851":{"id":"101978468913111851","upvoted":false,"upvotesCount":6,"text":"Evolution of C","__typename":"Reason"},"$Tool:101231773939333405.pros.edges.33":{"node":{"type":"id","generated":false,"id":"Reason:101978468913111851","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:102819317256181599":{"id":"102819317256181599","upvoted":false,"upvotesCount":6,"text":"Supports lambdas and closures","__typename":"Reason"},"$Tool:101231773939333405.pros.edges.34":{"node":{"type":"id","generated":false,"id":"Reason:102819317256181599","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978470265856223":{"id":"101978470265856223","upvoted":false,"upvotesCount":6,"text":"Agile, packages simple to use","__typename":"Reason"},"$Tool:101231773939333405.pros.edges.35":{"node":{"type":"id","generated":false,"id":"Reason:101978470265856223","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469110872143":{"id":"101978469110872143","upvoted":false,"upvotesCount":6,"text":"Popularized Class-Less Architecture & Lambdas","__typename":"Reason"},"$Tool:101231773939333405.pros.edges.36":{"node":{"type":"id","generated":false,"id":"Reason:101978469110872143","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469947048041":{"id":"101978469947048041","upvoted":false,"upvotesCount":5,"text":"Versitile","__typename":"Reason"},"$Tool:101231773939333405.pros.edges.37":{"node":{"type":"id","generated":false,"id":"Reason:101978469947048041","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469687711571":{"id":"101978469687711571","upvoted":false,"upvotesCount":5,"text":"Photoshop has 3 JS runtimes built in","__typename":"Reason"},"$Tool:101231773939333405.pros.edges.38":{"node":{"type":"id","generated":false,"id":"Reason:101978469687711571","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:105395536503904883":{"id":"105395536503904883","upvoted":false,"upvotesCount":5,"text":"No need to use PHP","__typename":"Reason"},"$Tool:101231773939333405.pros.edges.39":{"node":{"type":"id","generated":false,"id":"Reason:105395536503904883","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978470010378986":{"id":"101978470010378986","upvoted":false,"upvotesCount":5,"text":"Its fun and fast","__typename":"Reason"},"$Tool:101231773939333405.pros.edges.40":{"node":{"type":"id","generated":false,"id":"Reason:101978470010378986","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469968287161":{"id":"101978469968287161","upvoted":false,"upvotesCount":5,"text":"Powerful","__typename":"Reason"},"$Tool:101231773939333405.pros.edges.41":{"node":{"type":"id","generated":false,"id":"Reason:101978469968287161","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978470097216071":{"id":"101978470097216071","upvoted":false,"upvotesCount":4,"text":"It's fun","__typename":"Reason"},"$Tool:101231773939333405.pros.edges.42":{"node":{"type":"id","generated":false,"id":"Reason:101978470097216071","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469660238648":{"id":"101978469660238648","upvoted":false,"upvotesCount":4,"text":"Stockholm Syndrome","__typename":"Reason"},"$Tool:101231773939333405.pros.edges.43":{"node":{"type":"id","generated":false,"id":"Reason:101978469660238648","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469800732049":{"id":"101978469800732049","upvoted":false,"upvotesCount":4,"text":"Nice","__typename":"Reason"},"$Tool:101231773939333405.pros.edges.44":{"node":{"type":"id","generated":false,"id":"Reason:101978469800732049","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978470193721171":{"id":"101978470193721171","upvoted":false,"upvotesCount":4,"text":"Easy to make something","__typename":"Reason"},"$Tool:101231773939333405.pros.edges.45":{"node":{"type":"id","generated":false,"id":"Reason:101978470193721171","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:105134862413796059":{"id":"105134862413796059","upvoted":false,"upvotesCount":4,"text":"Can be used on frontend/backend/Mobile/create PRO Ui","__typename":"Reason"},"$Tool:101231773939333405.pros.edges.46":{"node":{"type":"id","generated":false,"id":"Reason:105134862413796059","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:102304522907722498":{"id":"102304522907722498","upvoted":false,"upvotesCount":4,"text":"It let's me use Babel & Typescript","__typename":"Reason"},"$Tool:101231773939333405.pros.edges.47":{"node":{"type":"id","generated":false,"id":"Reason:102304522907722498","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978470218428479":{"id":"101978470218428479","upvoted":false,"upvotesCount":4,"text":"Client side JS uses the visitors CPU to save Server Res","__typename":"Reason"},"$Tool:101231773939333405.pros.edges.48":{"node":{"type":"id","generated":false,"id":"Reason:101978470218428479","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:105775722269585899":{"id":"105775722269585899","upvoted":false,"upvotesCount":4,"text":"1.6K Can be used on frontend/backend","__typename":"Reason"},"$Tool:101231773939333405.pros.edges.49":{"node":{"type":"id","generated":false,"id":"Reason:105775722269585899","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:102522939773194585":{"id":"102522939773194585","upvoted":false,"upvotesCount":4,"text":"What to add","__typename":"Reason"},"$Tool:101231773939333405.pros.edges.50":{"node":{"type":"id","generated":false,"id":"Reason:102522939773194585","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469064155731":{"id":"101978469064155731","upvoted":false,"upvotesCount":4,"text":"Clojurescript","__typename":"Reason"},"$Tool:101231773939333405.pros.edges.51":{"node":{"type":"id","generated":false,"id":"Reason:101978469064155731","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:103020377451713761":{"id":"103020377451713761","upvoted":false,"upvotesCount":4,"text":"Function expressions are useful for callbacks","__typename":"Reason"},"$Tool:101231773939333405.pros.edges.52":{"node":{"type":"id","generated":false,"id":"Reason:103020377451713761","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469614882316":{"id":"101978469614882316","upvoted":false,"upvotesCount":4,"text":"Everywhere","__typename":"Reason"},"$Tool:101231773939333405.pros.edges.53":{"node":{"type":"id","generated":false,"id":"Reason:101978469614882316","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469500682275":{"id":"101978469500682275","upvoted":false,"upvotesCount":4,"text":"Hard not to use","__typename":"Reason"},"$Tool:101231773939333405.pros.edges.54":{"node":{"type":"id","generated":false,"id":"Reason:101978469500682275","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:104041199317684170":{"id":"104041199317684170","upvoted":false,"upvotesCount":4,"text":"Promise relationship","__typename":"Reason"},"$Tool:101231773939333405.pros.edges.55":{"node":{"type":"id","generated":false,"id":"Reason:104041199317684170","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:103020377934363484":{"id":"103020377934363484","upvoted":false,"upvotesCount":4,"text":"Scope manipulation","__typename":"Reason"},"$Tool:101231773939333405.pros.edges.56":{"node":{"type":"id","generated":false,"id":"Reason:103020377934363484","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469500352029":{"id":"101978469500352029","upvoted":false,"upvotesCount":4,"text":"Client processing","__typename":"Reason"},"$Tool:101231773939333405.pros.edges.57":{"node":{"type":"id","generated":false,"id":"Reason:101978469500352029","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978470160601271":{"id":"101978470160601271","upvoted":false,"upvotesCount":3,"text":"Because it is so simple and lightweight","__typename":"Reason"},"$Tool:101231773939333405.pros.edges.58":{"node":{"type":"id","generated":false,"id":"Reason:101978470160601271","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469720142624":{"id":"101978469720142624","upvoted":false,"upvotesCount":3,"text":"Only Programming language on browser","__typename":"Reason"},"$Tool:101231773939333405.pros.edges.59":{"node":{"type":"id","generated":false,"id":"Reason:101978469720142624","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:108272003172537750":{"id":"108272003172537750","upvoted":false,"upvotesCount":0,"text":"Easy to understand","__typename":"Reason"},"$Tool:101231773939333405.pros.edges.60":{"node":{"type":"id","generated":false,"id":"Reason:108272003172537750","typename":"Reason"},"__typename":"ReasonEdge"},"$Tool:101231773939333405.pros":{"edges":[{"type":"id","generated":true,"id":"$Tool:101231773939333405.pros.edges.0","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773939333405.pros.edges.1","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773939333405.pros.edges.2","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773939333405.pros.edges.3","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773939333405.pros.edges.4","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773939333405.pros.edges.5","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773939333405.pros.edges.6","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773939333405.pros.edges.7","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773939333405.pros.edges.8","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773939333405.pros.edges.9","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773939333405.pros.edges.10","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773939333405.pros.edges.11","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773939333405.pros.edges.12","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773939333405.pros.edges.13","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773939333405.pros.edges.14","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773939333405.pros.edges.15","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773939333405.pros.edges.16","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773939333405.pros.edges.17","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773939333405.pros.edges.18","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773939333405.pros.edges.19","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773939333405.pros.edges.20","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773939333405.pros.edges.21","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773939333405.pros.edges.22","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773939333405.pros.edges.23","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773939333405.pros.edges.24","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773939333405.pros.edges.25","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773939333405.pros.edges.26","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773939333405.pros.edges.27","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773939333405.pros.edges.28","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773939333405.pros.edges.29","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773939333405.pros.edges.30","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773939333405.pros.edges.31","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773939333405.pros.edges.32","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773939333405.pros.edges.33","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773939333405.pros.edges.34","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773939333405.pros.edges.35","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773939333405.pros.edges.36","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773939333405.pros.edges.37","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773939333405.pros.edges.38","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773939333405.pros.edges.39","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773939333405.pros.edges.40","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773939333405.pros.edges.41","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773939333405.pros.edges.42","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773939333405.pros.edges.43","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773939333405.pros.edges.44","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773939333405.pros.edges.45","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773939333405.pros.edges.46","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773939333405.pros.edges.47","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773939333405.pros.edges.48","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773939333405.pros.edges.49","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773939333405.pros.edges.50","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773939333405.pros.edges.51","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773939333405.pros.edges.52","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773939333405.pros.edges.53","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773939333405.pros.edges.54","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773939333405.pros.edges.55","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773939333405.pros.edges.56","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773939333405.pros.edges.57","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773939333405.pros.edges.58","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773939333405.pros.edges.59","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773939333405.pros.edges.60","typename":"ReasonEdge"}],"__typename":"ReasonConnection"},"Reason:101978469543758694":{"id":"101978469543758694","upvoted":false,"upvotesCount":21,"text":"A constant moving target, too much churn","__typename":"Reason"},"$Tool:101231773939333405.cons.edges.0":{"node":{"type":"id","generated":false,"id":"Reason:101978469543758694","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469754992879":{"id":"101978469754992879","upvoted":false,"upvotesCount":20,"text":"Horribly inconsistent","__typename":"Reason"},"$Tool:101231773939333405.cons.edges.1":{"node":{"type":"id","generated":false,"id":"Reason:101978469754992879","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469759403141":{"id":"101978469759403141","upvoted":false,"upvotesCount":14,"text":"Javascript is the New PHP","__typename":"Reason"},"$Tool:101231773939333405.cons.edges.2":{"node":{"type":"id","generated":false,"id":"Reason:101978469759403141","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469755079327":{"id":"101978469755079327","upvoted":false,"upvotesCount":8,"text":"No ability to monitor memory utilitization","__typename":"Reason"},"$Tool:101231773939333405.cons.edges.3":{"node":{"type":"id","generated":false,"id":"Reason:101978469755079327","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978470243776217":{"id":"101978470243776217","upvoted":false,"upvotesCount":6,"text":"Shows Zero output in case of ANY error","__typename":"Reason"},"$Tool:101231773939333405.cons.edges.4":{"node":{"type":"id","generated":false,"id":"Reason:101978470243776217","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:102250062018409055":{"id":"102250062018409055","upvoted":false,"upvotesCount":5,"text":"Can be ugly","__typename":"Reason"},"$Tool:101231773939333405.cons.edges.5":{"node":{"type":"id","generated":false,"id":"Reason:102250062018409055","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:103020374082142934":{"id":"103020374082142934","upvoted":false,"upvotesCount":4,"text":"Thinks strange results are better than errors","__typename":"Reason"},"$Tool:101231773939333405.cons.edges.6":{"node":{"type":"id","generated":false,"id":"Reason:103020374082142934","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:105396558024846152":{"id":"105396558024846152","upvoted":false,"upvotesCount":2,"text":"No GitHub","__typename":"Reason"},"$Tool:101231773939333405.cons.edges.7":{"node":{"type":"id","generated":false,"id":"Reason:105396558024846152","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:105884312112646100":{"id":"105884312112646100","upvoted":false,"upvotesCount":1,"text":"Slow","__typename":"Reason"},"$Tool:101231773939333405.cons.edges.8":{"node":{"type":"id","generated":false,"id":"Reason:105884312112646100","typename":"Reason"},"__typename":"ReasonEdge"},"$Tool:101231773939333405.cons":{"edges":[{"type":"id","generated":true,"id":"$Tool:101231773939333405.cons.edges.0","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773939333405.cons.edges.1","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773939333405.cons.edges.2","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773939333405.cons.edges.3","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773939333405.cons.edges.4","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773939333405.cons.edges.5","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773939333405.cons.edges.6","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773939333405.cons.edges.7","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773939333405.cons.edges.8","typename":"ReasonEdge"}],"__typename":"ReasonConnection"},"User:101232073411524087":{"id":"101232073411524087","username":"holman","title":"Founder","companyName":"Signed","imageUrl":"https://img.stackshare.io/user/162906/default_0b99d54de2897c874229fe13bd8db320895852ea.jpeg","thumbUrl":"https://img.stackshare.io/user/162906/thumb_0b99d54de2897c874229fe13bd8db320895852ea.jpeg","displayName":"Zach Holman","__typename":"User"},"StackDecision:101180297585840506":{"user":{"type":"id","generated":false,"id":"User:101232073411524087","typename":"User"},"company":null,"link":{"type":"id","generated":true,"id":"$StackDecision:101180297585840506.link","typename":"Link"},"publicId":"101180297585840506","publishedAt":"2018-12-04T02:00:00Z","id":"101180297585840506","htmlContent":"<p>Oof. I have truly hated <span class=\"tool\">JavaScript</span> for a long time. Like, for over twenty years now. Like, since the Clinton administration. It's always been a nightmare to deal with all of the aspects of that silly language. </p>\r\n\r\n<p>But wowza, things have changed. Tooling is just way, way better. I'm primarily web-oriented, and using <span class=\"tool\">React</span> and <span class=\"tool\">Apollo</span> together the past few years really opened my eyes to building rich apps. And I deeply apologize for using the phrase <em>rich apps</em>; I don't think I've ever said such Enterprisey words before.</p>\r\n\r\n<p>But yeah, things are different now. I still love <span class=\"tool\">Rails</span>, and still use it for a lot of apps I build. But it's that silly <em>rich apps</em> phrase that's the problem. Users have <em>way</em> more comprehensive expectations than they did even five years ago, and the JS community does a good job at building tools and tech that tackle the problems of making heavy, complicated UI and frontend work.</p>\r\n\r\n<p>Obviously there's a lot of things happening here, so just saying \"JavaScript isn't terrible\" might encompass a huge amount of libraries and frameworks. But if you're like me, yeah, give things another shot- I'm somehow not hating on JavaScript anymore and... gulp... I kinda love it. </p>","viewCount":1061829,"upvotesCount":50,"services":[{"type":"id","generated":false,"id":"Tool:101231773849098825","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231776161934711","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773835996572","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773939333405","typename":"Tool"}],"topics":[],"__typename":"StackDecision"},"$StackDecision:101180297585840506.link":{"url":"https://zachholman.com/posts/javacript-haters","title":"JavaScript for People Who Hate JavaScript","__typename":"Link"},"Tool:101231773835996572":{"id":"101231773835996572","name":"Rails","slug":"rails","title":"Web development that doesn't hurt","verified":false,"imageUrl":"https://img.stackshare.io/service/990/x57_Lorv.png","canonicalUrl":"/rails","path":"/rails","votes":5422,"fans":15130,"stacks":17806,"following":false,"followContext":null,"__typename":"Tool"},"$Tool:101231773939333405.stackDecisionsWithAlternatives({\"first\":2}).edges.0":{"node":{"type":"id","generated":false,"id":"StackDecision:101180297585840506","typename":"StackDecision"},"__typename":"StackDecisionEdge"},"$Tool:101231773939333405.stackDecisionsWithAlternatives({\"first\":2}).edges.1":{"node":{"type":"id","generated":false,"id":"StackDecision:101184587860273619","typename":"StackDecision"},"__typename":"StackDecisionEdge"},"$Tool:101231773939333405.stackDecisionsWithAlternatives({\"first\":2})":{"edges":[{"type":"id","generated":true,"id":"$Tool:101231773939333405.stackDecisionsWithAlternatives({\"first\":2}).edges.0","typename":"StackDecisionEdge"},{"type":"id","generated":true,"id":"$Tool:101231773939333405.stackDecisionsWithAlternatives({\"first\":2}).edges.1","typename":"StackDecisionEdge"}],"__typename":"StackDecisionConnection"},"$Tool:101231773845103618.alternativeTools({\"first\":8}).edges.3":{"node":{"type":"id","generated":false,"id":"Tool:101231773939333405","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231773849098825.followers":{"count":118317,"__typename":"UserConnection"},"Reason:101978468375587247":{"id":"101978468375587247","upvoted":false,"upvotesCount":793,"text":"Components","__typename":"Reason"},"$Tool:101231773849098825.pros.edges.0":{"node":{"type":"id","generated":false,"id":"Reason:101978468375587247","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468237281975":{"id":"101978468237281975","upvoted":false,"upvotesCount":662,"text":"Virtual dom","__typename":"Reason"},"$Tool:101231773849098825.pros.edges.1":{"node":{"type":"id","generated":false,"id":"Reason:101978468237281975","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468375370067":{"id":"101978468375370067","upvoted":false,"upvotesCount":570,"text":"Performance","__typename":"Reason"},"$Tool:101231773849098825.pros.edges.2":{"node":{"type":"id","generated":false,"id":"Reason:101978468375370067","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468235870493":{"id":"101978468235870493","upvoted":false,"upvotesCount":499,"text":"Simplicity","__typename":"Reason"},"$Tool:101231773849098825.pros.edges.3":{"node":{"type":"id","generated":false,"id":"Reason:101978468235870493","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468377165878":{"id":"101978468377165878","upvoted":false,"upvotesCount":440,"text":"Composable","__typename":"Reason"},"$Tool:101231773849098825.pros.edges.4":{"node":{"type":"id","generated":false,"id":"Reason:101978468377165878","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468419151446":{"id":"101978468419151446","upvoted":false,"upvotesCount":180,"text":"Data flow","__typename":"Reason"},"$Tool:101231773849098825.pros.edges.5":{"node":{"type":"id","generated":false,"id":"Reason:101978468419151446","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468419223466":{"id":"101978468419223466","upvoted":false,"upvotesCount":164,"text":"Declarative","__typename":"Reason"},"$Tool:101231773849098825.pros.edges.6":{"node":{"type":"id","generated":false,"id":"Reason:101978468419223466","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468377277629":{"id":"101978468377277629","upvoted":false,"upvotesCount":126,"text":"Isn't an mvc framework","__typename":"Reason"},"$Tool:101231773849098825.pros.edges.7":{"node":{"type":"id","generated":false,"id":"Reason:101978468377277629","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468377374929":{"id":"101978468377374929","upvoted":false,"upvotesCount":115,"text":"Reactive updates","__typename":"Reason"},"$Tool:101231773849098825.pros.edges.8":{"node":{"type":"id","generated":false,"id":"Reason:101978468377374929","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468377520883":{"id":"101978468377520883","upvoted":false,"upvotesCount":113,"text":"Explicit app state","__typename":"Reason"},"$Tool:101231773849098825.pros.edges.9":{"node":{"type":"id","generated":false,"id":"Reason:101978468377520883","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469201190047":{"id":"101978469201190047","upvoted":false,"upvotesCount":43,"text":"JSX","__typename":"Reason"},"$Tool:101231773849098825.pros.edges.10":{"node":{"type":"id","generated":false,"id":"Reason:101978469201190047","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468686813700":{"id":"101978468686813700","upvoted":false,"upvotesCount":26,"text":"Learn once, write everywhere","__typename":"Reason"},"$Tool:101231773849098825.pros.edges.11":{"node":{"type":"id","generated":false,"id":"Reason:101978468686813700","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468785106104":{"id":"101978468785106104","upvoted":false,"upvotesCount":20,"text":"Easy to Use","__typename":"Reason"},"$Tool:101231773849098825.pros.edges.12":{"node":{"type":"id","generated":false,"id":"Reason:101978468785106104","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468681307113":{"id":"101978468681307113","upvoted":false,"upvotesCount":20,"text":"Uni-directional data flow","__typename":"Reason"},"$Tool:101231773849098825.pros.edges.13":{"node":{"type":"id","generated":false,"id":"Reason:101978468681307113","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468525938406":{"id":"101978468525938406","upvoted":false,"upvotesCount":16,"text":"Works great with Flux Architecture ","__typename":"Reason"},"$Tool:101231773849098825.pros.edges.14":{"node":{"type":"id","generated":false,"id":"Reason:101978468525938406","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468759422785":{"id":"101978468759422785","upvoted":false,"upvotesCount":11,"text":"Great perfomance","__typename":"Reason"},"$Tool:101231773849098825.pros.edges.15":{"node":{"type":"id","generated":false,"id":"Reason:101978468759422785","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:102971475475560767":{"id":"102971475475560767","upvoted":false,"upvotesCount":9,"text":"Javascript","__typename":"Reason"},"$Tool:101231773849098825.pros.edges.16":{"node":{"type":"id","generated":false,"id":"Reason:102971475475560767","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468692763684":{"id":"101978468692763684","upvoted":false,"upvotesCount":9,"text":"Built by Facebook","__typename":"Reason"},"$Tool:101231773849098825.pros.edges.17":{"node":{"type":"id","generated":false,"id":"Reason:101978468692763684","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:102742736627552022":{"id":"102742736627552022","upvoted":false,"upvotesCount":6,"text":"TypeScript support","__typename":"Reason"},"$Tool:101231773849098825.pros.edges.18":{"node":{"type":"id","generated":false,"id":"Reason:102742736627552022","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469049481092":{"id":"101978469049481092","upvoted":false,"upvotesCount":6,"text":"Speed","__typename":"Reason"},"$Tool:101231773849098825.pros.edges.19":{"node":{"type":"id","generated":false,"id":"Reason:101978469049481092","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468677855576":{"id":"101978468677855576","upvoted":false,"upvotesCount":5,"text":"Feels like the 90s","__typename":"Reason"},"$Tool:101231773849098825.pros.edges.20":{"node":{"type":"id","generated":false,"id":"Reason:101978468677855576","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469873761088":{"id":"101978469873761088","upvoted":false,"upvotesCount":5,"text":"Easy to start","__typename":"Reason"},"$Tool:101231773849098825.pros.edges.21":{"node":{"type":"id","generated":false,"id":"Reason:101978469873761088","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978470034424464":{"id":"101978470034424464","upvoted":false,"upvotesCount":5,"text":"Hooks","__typename":"Reason"},"$Tool:101231773849098825.pros.edges.22":{"node":{"type":"id","generated":false,"id":"Reason:101978470034424464","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469195246165":{"id":"101978469195246165","upvoted":false,"upvotesCount":5,"text":"Awesome","__typename":"Reason"},"$Tool:101231773849098825.pros.edges.23":{"node":{"type":"id","generated":false,"id":"Reason:101978469195246165","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469194974103":{"id":"101978469194974103","upvoted":false,"upvotesCount":5,"text":"Scalable","__typename":"Reason"},"$Tool:101231773849098825.pros.edges.24":{"node":{"type":"id","generated":false,"id":"Reason:101978469194974103","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469257931130":{"id":"101978469257931130","upvoted":false,"upvotesCount":5,"text":"Cross-platform","__typename":"Reason"},"$Tool:101231773849098825.pros.edges.25":{"node":{"type":"id","generated":false,"id":"Reason:101978469257931130","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469151794775":{"id":"101978469151794775","upvoted":false,"upvotesCount":5,"text":"Server Side Rendering","__typename":"Reason"},"$Tool:101231773849098825.pros.edges.26":{"node":{"type":"id","generated":false,"id":"Reason:101978469151794775","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469748345800":{"id":"101978469748345800","upvoted":false,"upvotesCount":4,"text":"Closer to standard JavaScript and HTML than others","__typename":"Reason"},"$Tool:101231773849098825.pros.edges.27":{"node":{"type":"id","generated":false,"id":"Reason:101978469748345800","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:108670283078940396":{"id":"108670283078940396","upvoted":false,"upvotesCount":4,"text":"Easy as Lego","__typename":"Reason"},"$Tool:101231773849098825.pros.edges.28":{"node":{"type":"id","generated":false,"id":"Reason:108670283078940396","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469733535474":{"id":"101978469733535474","upvoted":false,"upvotesCount":4,"text":"Functional","__typename":"Reason"},"$Tool:101231773849098825.pros.edges.29":{"node":{"type":"id","generated":false,"id":"Reason:101978469733535474","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468706809625":{"id":"101978468706809625","upvoted":false,"upvotesCount":4,"text":"Server side views","__typename":"Reason"},"$Tool:101231773849098825.pros.edges.30":{"node":{"type":"id","generated":false,"id":"Reason:101978468706809625","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469873916557":{"id":"101978469873916557","upvoted":false,"upvotesCount":4,"text":"Fancy third party tools","__typename":"Reason"},"$Tool:101231773849098825.pros.edges.31":{"node":{"type":"id","generated":false,"id":"Reason:101978469873916557","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468706908773":{"id":"101978468706908773","upvoted":false,"upvotesCount":4,"text":"Scales super well","__typename":"Reason"},"$Tool:101231773849098825.pros.edges.32":{"node":{"type":"id","generated":false,"id":"Reason:101978468706908773","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469253600708":{"id":"101978469253600708","upvoted":false,"upvotesCount":4,"text":"Excellent Documentation","__typename":"Reason"},"$Tool:101231773849098825.pros.edges.33":{"node":{"type":"id","generated":false,"id":"Reason:101978469253600708","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978470002165069":{"id":"101978470002165069","upvoted":false,"upvotesCount":4,"text":"Props","__typename":"Reason"},"$Tool:101231773849098825.pros.edges.34":{"node":{"type":"id","generated":false,"id":"Reason:101978470002165069","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:103792615702077988":{"id":"103792615702077988","upvoted":false,"upvotesCount":3,"text":"Super easy","__typename":"Reason"},"$Tool:101231773849098825.pros.edges.35":{"node":{"type":"id","generated":false,"id":"Reason:103792615702077988","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:104882580852134920":{"id":"104882580852134920","upvoted":false,"upvotesCount":3,"text":"Strong Community","__typename":"Reason"},"$Tool:101231773849098825.pros.edges.36":{"node":{"type":"id","generated":false,"id":"Reason:104882580852134920","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:105429078354987090":{"id":"105429078354987090","upvoted":false,"upvotesCount":3,"text":"Has arrow functions","__typename":"Reason"},"$Tool:101231773849098825.pros.edges.37":{"node":{"type":"id","generated":false,"id":"Reason:105429078354987090","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978470101483465":{"id":"101978470101483465","upvoted":false,"upvotesCount":3,"text":"Start simple","__typename":"Reason"},"$Tool:101231773849098825.pros.edges.38":{"node":{"type":"id","generated":false,"id":"Reason:101978470101483465","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:104405781886245241":{"id":"104405781886245241","upvoted":false,"upvotesCount":3,"text":"Very gentle learning curve","__typename":"Reason"},"$Tool:101231773849098825.pros.edges.39":{"node":{"type":"id","generated":false,"id":"Reason:104405781886245241","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:102503648698997543":{"id":"102503648698997543","upvoted":false,"upvotesCount":3,"text":"Sdfsdfsdf","__typename":"Reason"},"$Tool:101231773849098825.pros.edges.40":{"node":{"type":"id","generated":false,"id":"Reason:102503648698997543","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469720343849":{"id":"101978469720343849","upvoted":false,"upvotesCount":3,"text":"Beautiful and Neat Component Management","__typename":"Reason"},"$Tool:101231773849098825.pros.edges.41":{"node":{"type":"id","generated":false,"id":"Reason:101978469720343849","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468756827116":{"id":"101978468756827116","upvoted":false,"upvotesCount":3,"text":"Just the View of MVC","__typename":"Reason"},"$Tool:101231773849098825.pros.edges.42":{"node":{"type":"id","generated":false,"id":"Reason:101978468756827116","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978470217777210":{"id":"101978470217777210","upvoted":false,"upvotesCount":3,"text":"Simple, easy to reason about and makes you productive","__typename":"Reason"},"$Tool:101231773849098825.pros.edges.43":{"node":{"type":"id","generated":false,"id":"Reason:101978470217777210","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469884110312":{"id":"101978469884110312","upvoted":false,"upvotesCount":3,"text":"Fast evolving","__typename":"Reason"},"$Tool:101231773849098825.pros.edges.44":{"node":{"type":"id","generated":false,"id":"Reason:101978469884110312","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469842321334":{"id":"101978469842321334","upvoted":false,"upvotesCount":3,"text":"SSR","__typename":"Reason"},"$Tool:101231773849098825.pros.edges.45":{"node":{"type":"id","generated":false,"id":"Reason:101978469842321334","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468710031733":{"id":"101978468710031733","upvoted":false,"upvotesCount":3,"text":"Great migration pathway for older systems","__typename":"Reason"},"$Tool:101231773849098825.pros.edges.46":{"node":{"type":"id","generated":false,"id":"Reason:101978468710031733","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978470107753578":{"id":"101978470107753578","upvoted":false,"upvotesCount":3,"text":"Rich ecosystem","__typename":"Reason"},"$Tool:101231773849098825.pros.edges.47":{"node":{"type":"id","generated":false,"id":"Reason:101978470107753578","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469943112308":{"id":"101978469943112308","upvoted":false,"upvotesCount":3,"text":"Simple","__typename":"Reason"},"$Tool:101231773849098825.pros.edges.48":{"node":{"type":"id","generated":false,"id":"Reason:101978469943112308","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:105429074274573286":{"id":"105429074274573286","upvoted":false,"upvotesCount":3,"text":"Has functional components","__typename":"Reason"},"$Tool:101231773849098825.pros.edges.49":{"node":{"type":"id","generated":false,"id":"Reason:105429074274573286","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469873451492":{"id":"101978469873451492","upvoted":false,"upvotesCount":3,"text":"Allows creating single page applications","__typename":"Reason"},"$Tool:101231773849098825.pros.edges.50":{"node":{"type":"id","generated":false,"id":"Reason:101978469873451492","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978470034266080":{"id":"101978470034266080","upvoted":false,"upvotesCount":2,"text":"Fragments","__typename":"Reason"},"$Tool:101231773849098825.pros.edges.51":{"node":{"type":"id","generated":false,"id":"Reason:101978470034266080","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468872144953":{"id":"101978468872144953","upvoted":false,"upvotesCount":2,"text":"Split your UI into components with one true state","__typename":"Reason"},"$Tool:101231773849098825.pros.edges.52":{"node":{"type":"id","generated":false,"id":"Reason:101978468872144953","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469455584255":{"id":"101978469455584255","upvoted":false,"upvotesCount":2,"text":"Every decision architecture wise makes sense","__typename":"Reason"},"$Tool:101231773849098825.pros.edges.53":{"node":{"type":"id","generated":false,"id":"Reason:101978469455584255","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469641174924":{"id":"101978469641174924","upvoted":false,"upvotesCount":2,"text":"Permissively-licensed","__typename":"Reason"},"$Tool:101231773849098825.pros.edges.54":{"node":{"type":"id","generated":false,"id":"Reason:101978469641174924","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469009882005":{"id":"101978469009882005","upvoted":false,"upvotesCount":2,"text":"Sharable","__typename":"Reason"},"$Tool:101231773849098825.pros.edges.55":{"node":{"type":"id","generated":false,"id":"Reason:101978469009882005","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:108456823255543913":{"id":"108456823255543913","upvoted":false,"upvotesCount":1,"text":"Image upload","__typename":"Reason"},"$Tool:101231773849098825.pros.edges.56":{"node":{"type":"id","generated":false,"id":"Reason:108456823255543913","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:108034705283206065":{"id":"108034705283206065","upvoted":false,"upvotesCount":1,"text":"Recharts","__typename":"Reason"},"$Tool:101231773849098825.pros.edges.57":{"node":{"type":"id","generated":false,"id":"Reason:108034705283206065","typename":"Reason"},"__typename":"ReasonEdge"},"$Tool:101231773849098825.pros":{"edges":[{"type":"id","generated":true,"id":"$Tool:101231773849098825.pros.edges.0","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773849098825.pros.edges.1","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773849098825.pros.edges.2","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773849098825.pros.edges.3","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773849098825.pros.edges.4","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773849098825.pros.edges.5","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773849098825.pros.edges.6","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773849098825.pros.edges.7","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773849098825.pros.edges.8","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773849098825.pros.edges.9","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773849098825.pros.edges.10","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773849098825.pros.edges.11","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773849098825.pros.edges.12","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773849098825.pros.edges.13","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773849098825.pros.edges.14","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773849098825.pros.edges.15","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773849098825.pros.edges.16","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773849098825.pros.edges.17","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773849098825.pros.edges.18","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773849098825.pros.edges.19","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773849098825.pros.edges.20","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773849098825.pros.edges.21","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773849098825.pros.edges.22","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773849098825.pros.edges.23","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773849098825.pros.edges.24","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773849098825.pros.edges.25","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773849098825.pros.edges.26","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773849098825.pros.edges.27","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773849098825.pros.edges.28","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773849098825.pros.edges.29","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773849098825.pros.edges.30","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773849098825.pros.edges.31","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773849098825.pros.edges.32","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773849098825.pros.edges.33","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773849098825.pros.edges.34","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773849098825.pros.edges.35","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773849098825.pros.edges.36","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773849098825.pros.edges.37","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773849098825.pros.edges.38","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773849098825.pros.edges.39","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773849098825.pros.edges.40","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773849098825.pros.edges.41","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773849098825.pros.edges.42","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773849098825.pros.edges.43","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773849098825.pros.edges.44","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773849098825.pros.edges.45","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773849098825.pros.edges.46","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773849098825.pros.edges.47","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773849098825.pros.edges.48","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773849098825.pros.edges.49","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773849098825.pros.edges.50","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773849098825.pros.edges.51","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773849098825.pros.edges.52","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773849098825.pros.edges.53","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773849098825.pros.edges.54","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773849098825.pros.edges.55","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773849098825.pros.edges.56","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773849098825.pros.edges.57","typename":"ReasonEdge"}],"__typename":"ReasonConnection"},"Reason:101978469545656272":{"id":"101978469545656272","upvoted":false,"upvotesCount":36,"text":"Requires discipline to keep architecture organized","__typename":"Reason"},"$Tool:101231773849098825.cons.edges.0":{"node":{"type":"id","generated":false,"id":"Reason:101978469545656272","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:102302269407668143":{"id":"102302269407668143","upvoted":false,"upvotesCount":25,"text":"No predefined way to structure your app","__typename":"Reason"},"$Tool:101231773849098825.cons.edges.1":{"node":{"type":"id","generated":false,"id":"Reason:102302269407668143","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:102580436186509104":{"id":"102580436186509104","upvoted":false,"upvotesCount":24,"text":"Need to be familiar with lots of third party packages","__typename":"Reason"},"$Tool:101231773849098825.cons.edges.2":{"node":{"type":"id","generated":false,"id":"Reason:102580436186509104","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:104233132892341196":{"id":"104233132892341196","upvoted":false,"upvotesCount":9,"text":"JSX","__typename":"Reason"},"$Tool:101231773849098825.cons.edges.3":{"node":{"type":"id","generated":false,"id":"Reason:104233132892341196","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:104375515276405685":{"id":"104375515276405685","upvoted":false,"upvotesCount":7,"text":"Not enterprise friendly","__typename":"Reason"},"$Tool:101231773849098825.cons.edges.4":{"node":{"type":"id","generated":false,"id":"Reason:104375515276405685","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:105742567264855612":{"id":"105742567264855612","upvoted":false,"upvotesCount":5,"text":"One-way binding only","__typename":"Reason"},"$Tool:101231773849098825.cons.edges.5":{"node":{"type":"id","generated":false,"id":"Reason:105742567264855612","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:105389802169656131":{"id":"105389802169656131","upvoted":false,"upvotesCount":2,"text":"State consistency with backend neglected","__typename":"Reason"},"$Tool:101231773849098825.cons.edges.6":{"node":{"type":"id","generated":false,"id":"Reason:105389802169656131","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:107053715174030333":{"id":"107053715174030333","upvoted":false,"upvotesCount":2,"text":"Bad Documentation","__typename":"Reason"},"$Tool:101231773849098825.cons.edges.7":{"node":{"type":"id","generated":false,"id":"Reason:107053715174030333","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:107688279190527753":{"id":"107688279190527753","upvoted":false,"upvotesCount":1,"text":"Paradigms change too fast","__typename":"Reason"},"$Tool:101231773849098825.cons.edges.8":{"node":{"type":"id","generated":false,"id":"Reason:107688279190527753","typename":"Reason"},"__typename":"ReasonEdge"},"$Tool:101231773849098825.cons":{"edges":[{"type":"id","generated":true,"id":"$Tool:101231773849098825.cons.edges.0","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773849098825.cons.edges.1","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773849098825.cons.edges.2","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773849098825.cons.edges.3","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773849098825.cons.edges.4","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773849098825.cons.edges.5","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773849098825.cons.edges.6","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773849098825.cons.edges.7","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773849098825.cons.edges.8","typename":"ReasonEdge"}],"__typename":"ReasonConnection"},"User:102904792277983462":{"id":"102904792277983462","username":"vaibhavtaunk","title":"Team Lead","companyName":"Technovert","imageUrl":"https://img.stackshare.io/user/312170/default_f4652342c69902d35342a0dd405393960ce77b77.jpeg","thumbUrl":"https://img.stackshare.io/user/312170/thumb_f4652342c69902d35342a0dd405393960ce77b77.jpeg","displayName":"Vaibhav Taunk","__typename":"User"},"StackDecision:102904881764135954":{"user":{"type":"id","generated":false,"id":"User:102904792277983462","typename":"User"},"company":null,"link":null,"publicId":"102904881764135954","publishedAt":"2019-10-04T15:44:41Z","id":"102904881764135954","htmlContent":"<p>I am starting to become a full-stack developer, by choosing and learning <span class=\"tool\">.NET Core</span> for API Development, <span class=\"tool\">Angular CLI</span> / <span class=\"tool\">React</span> for UI Development, <span class=\"tool\">MongoDB</span> for database, as it a NoSQL DB and <span class=\"tool\">Flutter</span> / <span class=\"tool\">React Native</span> for Mobile App Development.\nUsing <span class=\"tool\">Postman</span>, <span class=\"tool\">Markdown</span> and <span class=\"tool\">Visual Studio Code</span> for development.</p>","viewCount":2188481,"upvotesCount":31,"services":[{"type":"id","generated":false,"id":"Tool:101231776647396130","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231776171224926","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773849098825","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773854388643","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231777036008618","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231774544144572","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773990286939","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773905830618","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231775423888689","typename":"Tool"}],"topics":[],"__typename":"StackDecision"},"Tool:101231776647396130":{"id":"101231776647396130","name":".NET Core","slug":"dot-net-core","title":"An Open Source, General-Purpose Development Platform Maintained by Microsoft and the .NET Community","verified":false,"imageUrl":"https://img.stackshare.io/service/6403/default_91fc1f0ee315262794273aa1387eaf8fed8436e6.png","canonicalUrl":"/dot-net-core","path":"/dot-net-core","votes":145,"fans":3034,"stacks":2681,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231776171224926":{"id":"101231776171224926","name":"Angular CLI","slug":"angular-cli","title":"A command line interface for Angular","verified":false,"imageUrl":"https://img.stackshare.io/service/5527/9kVhSQ9y_400x400.jpg","canonicalUrl":"/angular-cli","path":"/angular-cli","votes":0,"fans":966,"stacks":886,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231773854388643":{"id":"101231773854388643","name":"MongoDB","slug":"mongodb","title":"The database for giant ideas","verified":true,"imageUrl":"https://img.stackshare.io/service/1030/leaf-360x360.png","canonicalUrl":"/mongodb","path":"/mongodb","votes":4130,"fans":80410,"stacks":80381,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231777036008618":{"id":"101231777036008618","name":"Flutter","slug":"flutter","title":"Cross-platform mobile framework from Google","verified":false,"imageUrl":"https://img.stackshare.io/service/7180/flutter-mark-square-100.png","canonicalUrl":"/flutter","path":"/flutter","votes":1071,"fans":14028,"stacks":12662,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231774544144572":{"id":"101231774544144572","name":"React Native","slug":"react-native","title":"A framework for building native apps with React","verified":false,"imageUrl":"https://img.stackshare.io/service/2699/KoK6gHzp.jpg","canonicalUrl":"/react-native","path":"/react-native","votes":1132,"fans":29618,"stacks":28536,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231773905830618":{"id":"101231773905830618","name":"Markdown","slug":"markdown","title":"Text-to-HTML conversion tool/syntax for web writers, by John Gruber","verified":false,"imageUrl":"https://img.stackshare.io/service/1147/markdown.png","canonicalUrl":"/markdown","path":"/markdown","votes":961,"fans":17469,"stacks":18515,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231775423888689":{"id":"101231775423888689","name":"Visual Studio Code","slug":"visual-studio-code","title":"Build and debug modern web and cloud applications, by Microsoft","verified":true,"imageUrl":"https://img.stackshare.io/service/4202/Visual_Studio_Code_logo.png","canonicalUrl":"/visual-studio-code","path":"/visual-studio-code","votes":2203,"fans":145769,"stacks":142971,"following":false,"followContext":null,"__typename":"Tool"},"$Tool:101231773849098825.stackDecisionsWithAlternatives({\"first\":2}).edges.0":{"node":{"type":"id","generated":false,"id":"StackDecision:102904881764135954","typename":"StackDecision"},"__typename":"StackDecisionEdge"},"User:102610657561224490":{"id":"102610657561224490","username":"sa-adebayo","title":"Engineering Manager","companyName":"Andela","imageUrl":"https://img.stackshare.io/user/304003/default_96cf47cbae75b61622f91732af2307b3a2726629.png","thumbUrl":"https://img.stackshare.io/user/304003/thumb_96cf47cbae75b61622f91732af2307b3a2726629.png","displayName":"Adebayo Akinlaja","__typename":"User"},"StackDecision:102967818020186826":{"user":{"type":"id","generated":false,"id":"User:102610657561224490","typename":"User"},"company":null,"link":null,"publicId":"102967818020186826","publishedAt":"2019-10-15T18:30:15Z","id":"102967818020186826","htmlContent":"<p>I picked up an idea to develop and it was no brainer I had to go with <span class=\"tool\">React</span> for the frontend. I was faced with challenges when it came to what component framework to use. I had worked extensively with <span class=\"tool\">Material-UI</span> but I needed something different that would offer me wider range of well customized components (I became pretty slow at styling). I brought in <span class=\"tool\">Evergreen</span> after several sampling and reads online but again, after several prototype development against <span class=\"tool\">Evergreen</span>—since I was using <span class=\"tool\">TypeScript</span> and I had to import custom Type, it felt exhaustive. After I validated <span class=\"tool\">Evergreen</span> with the designs of the idea I was developing, I also noticed I might have to do a lot of styling. I later stumbled on <span class=\"tool\">Material Kit</span>, the one specifically made for <span class=\"tool\">React</span> . It was promising with beautifully crafted components, most of which fits into the designs pages I had on ground.</p>\n\n<p>A major problem of <span class=\"tool\">Material Kit</span> for me is it isn't written in <span class=\"tool\">TypeScript</span> and there isn't any plans to support its <span class=\"tool\">TypeScript</span> version. I rolled up my sleeve and started converting their components to <span class=\"tool\">TypeScript</span> and if you'll ask me, I am still on it.</p>\n\n<p>In summary, I used the <span class=\"tool\">Create React App</span> with <span class=\"tool\">TypeScript</span> support and I am spending some time converting <span class=\"tool\">Material Kit</span> to <span class=\"tool\">TypeScript</span> before I start developing against it. All of these components are going to be hosted on <span class=\"tool\">Bit</span>.</p>\n\n<p>If you feel I am crazy or I have gotten something wrong, I'll be willing to listen to your opinion. Also, if you want to have a share of whatever <span class=\"tool\">TypeScript</span> version of <span class=\"tool\">Material Kit</span> I end up coming up with, let me know.</p>","viewCount":1479600,"upvotesCount":29,"services":[{"type":"id","generated":false,"id":"Tool:101231773849098825","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231774213355431","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231778083246999","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231774098455524","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231776136306750","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231776176987604","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231775648895157","typename":"Tool"}],"topics":[],"__typename":"StackDecision"},"Tool:101231774213355431":{"id":"101231774213355431","name":"Material-UI","slug":"material-ui","title":"Material UI is a library of React UI components that implements Google's Material Design.","verified":true,"imageUrl":"https://img.stackshare.io/service/1904/default_44d81cb9fadbc3688b7e91a6d5217d0ea5358b57.png","canonicalUrl":"/material-ui","path":"/material-ui","votes":407,"fans":4039,"stacks":2031,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231778083246999":{"id":"101231778083246999","name":"Evergreen","slug":"evergreen","title":"A React UI framework by Segment","verified":true,"imageUrl":"https://img.stackshare.io/service/9302/819518.png","canonicalUrl":"/evergreen","path":"/evergreen","votes":0,"fans":37,"stacks":11,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231776136306750":{"id":"101231776136306750","name":"Material Kit","slug":"material-kit","title":"Free Bootstrap UI Kit Based on Material Design ","verified":false,"imageUrl":"https://img.stackshare.io/no-img-open-source.png","canonicalUrl":"/material-kit","path":"/material-kit","votes":0,"fans":90,"stacks":28,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231776176987604":{"id":"101231776176987604","name":"Create React App","slug":"create-react-app","title":"Create React apps with no build configuration","verified":true,"imageUrl":"https://img.stackshare.io/service/5537/oi64YzXY.jpg","canonicalUrl":"/create-react-app","path":"/create-react-app","votes":4,"fans":1246,"stacks":1012,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231775648895157":{"id":"101231775648895157","name":"Bit","slug":"bit","title":"An open source tool for code sharing","verified":false,"imageUrl":"https://img.stackshare.io/service/4616/QP1hRAU5_400x400.jpg","canonicalUrl":"/bit","path":"/bit","votes":0,"fans":136,"stacks":38,"following":false,"followContext":null,"__typename":"Tool"},"$Tool:101231773849098825.stackDecisionsWithAlternatives({\"first\":2}).edges.1":{"node":{"type":"id","generated":false,"id":"StackDecision:102967818020186826","typename":"StackDecision"},"__typename":"StackDecisionEdge"},"$Tool:101231773849098825.stackDecisionsWithAlternatives({\"first\":2})":{"edges":[{"type":"id","generated":true,"id":"$Tool:101231773849098825.stackDecisionsWithAlternatives({\"first\":2}).edges.0","typename":"StackDecisionEdge"},{"type":"id","generated":true,"id":"$Tool:101231773849098825.stackDecisionsWithAlternatives({\"first\":2}).edges.1","typename":"StackDecisionEdge"}],"__typename":"StackDecisionConnection"},"$Tool:101231773845103618.alternativeTools({\"first\":8}).edges.4":{"node":{"type":"id","generated":false,"id":"Tool:101231773849098825","typename":"Tool"},"__typename":"ToolEdge"},"Tool:101231773837565192":{"id":"101231773837565192","path":"/django","slug":"django","title":"The Web framework for perfectionists with deadlines","votes":4006,"following":false,"followers":{"type":"id","generated":true,"id":"$Tool:101231773837565192.followers","typename":"UserConnection"},"stacks":32682,"githubForksCount":28286,"imageUrl":"https://img.stackshare.io/service/994/4aGjtNQv.png","thumbRetinaUrl":"https://img.stackshare.io/service/994/thumb_retina_4aGjtNQv.png","name":"Django","description":"Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design.","contactEnabled":true,"contactButtonText":"Troubleshoot Django App Performance With Datadog","contactFlow":{"type":"json","json":{"links":[{"url":"https://www.datadoghq.com/dg/apm/django-application-performance/?utm_source=advertisement&utm_medium=review-site&utm_campaign=dg-stackshare-applications-ww-django","type":"website"}],"steps":["direct_link"]}},"pros":{"type":"id","generated":true,"id":"$Tool:101231773837565192.pros","typename":"ReasonConnection"},"cons":{"type":"id","generated":true,"id":"$Tool:101231773837565192.cons","typename":"ReasonConnection"},"verified":false,"canonicalUrl":"/django","fans":34332,"followContext":null,"__typename":"Tool","stackDecisionsWithAlternatives({\"first\":2})":{"type":"id","generated":true,"id":"$Tool:101231773837565192.stackDecisionsWithAlternatives({\"first\":2})","typename":"StackDecisionConnection"}},"$Tool:101231773837565192.followers":{"count":29495,"__typename":"UserConnection"},"Reason:101978468303837238":{"id":"101978468303837238","upvoted":false,"upvotesCount":653,"text":"Rapid development","__typename":"Reason"},"$Tool:101231773837565192.pros.edges.0":{"node":{"type":"id","generated":false,"id":"Reason:101978468303837238","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468302016724":{"id":"101978468302016724","upvoted":false,"upvotesCount":479,"text":"Open source","__typename":"Reason"},"$Tool:101231773837565192.pros.edges.1":{"node":{"type":"id","generated":false,"id":"Reason:101978468302016724","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468302453447":{"id":"101978468302453447","upvoted":false,"upvotesCount":413,"text":"Great community","__typename":"Reason"},"$Tool:101231773837565192.pros.edges.2":{"node":{"type":"id","generated":false,"id":"Reason:101978468302453447","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468494664733":{"id":"101978468494664733","upvoted":false,"upvotesCount":366,"text":"Easy to learn","__typename":"Reason"},"$Tool:101231773837565192.pros.edges.3":{"node":{"type":"id","generated":false,"id":"Reason:101978468494664733","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468493449594":{"id":"101978468493449594","upvoted":false,"upvotesCount":270,"text":"Mvc","__typename":"Reason"},"$Tool:101231773837565192.pros.edges.4":{"node":{"type":"id","generated":false,"id":"Reason:101978468493449594","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468494318476":{"id":"101978468494318476","upvoted":false,"upvotesCount":223,"text":"Beautiful code","__typename":"Reason"},"$Tool:101231773837565192.pros.edges.5":{"node":{"type":"id","generated":false,"id":"Reason:101978468494318476","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468494506075":{"id":"101978468494506075","upvoted":false,"upvotesCount":215,"text":"Elegant","__typename":"Reason"},"$Tool:101231773837565192.pros.edges.6":{"node":{"type":"id","generated":false,"id":"Reason:101978468494506075","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468494421935":{"id":"101978468494421935","upvoted":false,"upvotesCount":198,"text":"Free","__typename":"Reason"},"$Tool:101231773837565192.pros.edges.7":{"node":{"type":"id","generated":false,"id":"Reason:101978468494421935","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468493945264":{"id":"101978468493945264","upvoted":false,"upvotesCount":196,"text":"Great packages","__typename":"Reason"},"$Tool:101231773837565192.pros.edges.8":{"node":{"type":"id","generated":false,"id":"Reason:101978468493945264","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468494144088":{"id":"101978468494144088","upvoted":false,"upvotesCount":184,"text":"Great libraries","__typename":"Reason"},"$Tool:101231773837565192.pros.edges.9":{"node":{"type":"id","generated":false,"id":"Reason:101978468494144088","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468493615068":{"id":"101978468493615068","upvoted":false,"upvotesCount":74,"text":"Restful","__typename":"Reason"},"$Tool:101231773837565192.pros.edges.10":{"node":{"type":"id","generated":false,"id":"Reason:101978468493615068","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468591000284":{"id":"101978468591000284","upvoted":false,"upvotesCount":72,"text":"Comes with auth and crud admin panel","__typename":"Reason"},"$Tool:101231773837565192.pros.edges.11":{"node":{"type":"id","generated":false,"id":"Reason:101978468591000284","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468493369535":{"id":"101978468493369535","upvoted":false,"upvotesCount":71,"text":"Powerful","__typename":"Reason"},"$Tool:101231773837565192.pros.edges.12":{"node":{"type":"id","generated":false,"id":"Reason:101978468493369535","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468710193790":{"id":"101978468710193790","upvoted":false,"upvotesCount":69,"text":"Great documentation","__typename":"Reason"},"$Tool:101231773837565192.pros.edges.13":{"node":{"type":"id","generated":false,"id":"Reason:101978468710193790","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468493691579":{"id":"101978468493691579","upvoted":false,"upvotesCount":64,"text":"Great for web","__typename":"Reason"},"$Tool:101231773837565192.pros.edges.14":{"node":{"type":"id","generated":false,"id":"Reason:101978468493691579","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469133766951":{"id":"101978469133766951","upvoted":false,"upvotesCount":51,"text":"Python","__typename":"Reason"},"$Tool:101231773837565192.pros.edges.15":{"node":{"type":"id","generated":false,"id":"Reason:101978469133766951","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468590612301":{"id":"101978468590612301","upvoted":false,"upvotesCount":39,"text":"Great orm","__typename":"Reason"},"$Tool:101231773837565192.pros.edges.16":{"node":{"type":"id","generated":false,"id":"Reason:101978468590612301","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468493819552":{"id":"101978468493819552","upvoted":false,"upvotesCount":37,"text":"Great for api","__typename":"Reason"},"$Tool:101231773837565192.pros.edges.17":{"node":{"type":"id","generated":false,"id":"Reason:101978468493819552","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468574055960":{"id":"101978468574055960","upvoted":false,"upvotesCount":28,"text":"All included","__typename":"Reason"},"$Tool:101231773837565192.pros.edges.18":{"node":{"type":"id","generated":false,"id":"Reason:101978468574055960","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468493247523":{"id":"101978468493247523","upvoted":false,"upvotesCount":25,"text":"Fast","__typename":"Reason"},"$Tool:101231773837565192.pros.edges.19":{"node":{"type":"id","generated":false,"id":"Reason:101978468493247523","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468541749863":{"id":"101978468541749863","upvoted":false,"upvotesCount":23,"text":"Web Apps","__typename":"Reason"},"$Tool:101231773837565192.pros.edges.20":{"node":{"type":"id","generated":false,"id":"Reason:101978468541749863","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468493982742":{"id":"101978468493982742","upvoted":false,"upvotesCount":20,"text":"Used by top startups","__typename":"Reason"},"$Tool:101231773837565192.pros.edges.21":{"node":{"type":"id","generated":false,"id":"Reason:101978468493982742","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468699137756":{"id":"101978468699137756","upvoted":false,"upvotesCount":20,"text":"Clean","__typename":"Reason"},"$Tool:101231773837565192.pros.edges.22":{"node":{"type":"id","generated":false,"id":"Reason:101978468699137756","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468725841901":{"id":"101978468725841901","upvoted":false,"upvotesCount":19,"text":"Easy setup","__typename":"Reason"},"$Tool:101231773837565192.pros.edges.23":{"node":{"type":"id","generated":false,"id":"Reason:101978468725841901","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468993619536":{"id":"101978468993619536","upvoted":false,"upvotesCount":17,"text":"Sexy","__typename":"Reason"},"$Tool:101231773837565192.pros.edges.24":{"node":{"type":"id","generated":false,"id":"Reason:101978468993619536","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468494219104":{"id":"101978468494219104","upvoted":false,"upvotesCount":14,"text":"Convention over configuration","__typename":"Reason"},"$Tool:101231773837565192.pros.edges.25":{"node":{"type":"id","generated":false,"id":"Reason:101978468494219104","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468753632668":{"id":"101978468753632668","upvoted":false,"upvotesCount":13,"text":"Allows for very rapid development with great libraries","__typename":"Reason"},"$Tool:101231773837565192.pros.edges.26":{"node":{"type":"id","generated":false,"id":"Reason:101978468753632668","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:104286116191058361":{"id":"104286116191058361","upvoted":false,"upvotesCount":13,"text":"ORM","__typename":"Reason"},"$Tool:101231773837565192.pros.edges.27":{"node":{"type":"id","generated":false,"id":"Reason:104286116191058361","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469402063090":{"id":"101978469402063090","upvoted":false,"upvotesCount":12,"text":"The Django community","__typename":"Reason"},"$Tool:101231773837565192.pros.edges.28":{"node":{"type":"id","generated":false,"id":"Reason:101978469402063090","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:105588740746637158":{"id":"105588740746637158","upvoted":false,"upvotesCount":10,"text":"King of backend world","__typename":"Reason"},"$Tool:101231773837565192.pros.edges.29":{"node":{"type":"id","generated":false,"id":"Reason:105588740746637158","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469964814481":{"id":"101978469964814481","upvoted":false,"upvotesCount":9,"text":"Great MVC and templating engine","__typename":"Reason"},"$Tool:101231773837565192.pros.edges.30":{"node":{"type":"id","generated":false,"id":"Reason:101978469964814481","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:103701027018625031":{"id":"103701027018625031","upvoted":false,"upvotesCount":7,"text":"Full stack","__typename":"Reason"},"$Tool:101231773837565192.pros.edges.31":{"node":{"type":"id","generated":false,"id":"Reason:103701027018625031","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469384759052":{"id":"101978469384759052","upvoted":false,"upvotesCount":7,"text":"Batteries included","__typename":"Reason"},"$Tool:101231773837565192.pros.edges.32":{"node":{"type":"id","generated":false,"id":"Reason:101978469384759052","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468955609719":{"id":"101978468955609719","upvoted":false,"upvotesCount":7,"text":"Its elegant and practical","__typename":"Reason"},"$Tool:101231773837565192.pros.edges.33":{"node":{"type":"id","generated":false,"id":"Reason:101978468955609719","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469958965444":{"id":"101978469958965444","upvoted":false,"upvotesCount":6,"text":"Fast prototyping","__typename":"Reason"},"$Tool:101231773837565192.pros.edges.34":{"node":{"type":"id","generated":false,"id":"Reason:101978469958965444","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469472710218":{"id":"101978469472710218","upvoted":false,"upvotesCount":6,"text":"Very quick to get something up and running","__typename":"Reason"},"$Tool:101231773837565192.pros.edges.35":{"node":{"type":"id","generated":false,"id":"Reason:101978469472710218","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:102115366487281329":{"id":"102115366487281329","upvoted":false,"upvotesCount":6,"text":"Mvt","__typename":"Reason"},"$Tool:101231773837565192.pros.edges.36":{"node":{"type":"id","generated":false,"id":"Reason:102115366487281329","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469363602600":{"id":"101978469363602600","upvoted":false,"upvotesCount":6,"text":"Cross-Platform","__typename":"Reason"},"$Tool:101231773837565192.pros.edges.37":{"node":{"type":"id","generated":false,"id":"Reason:101978469363602600","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469083501773":{"id":"101978469083501773","upvoted":false,"upvotesCount":6,"text":"Have not found anything that it can't do","__typename":"Reason"},"$Tool:101231773837565192.pros.edges.38":{"node":{"type":"id","generated":false,"id":"Reason:101978469083501773","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469292710590":{"id":"101978469292710590","upvoted":false,"upvotesCount":5,"text":"Easy Structure , useful inbuilt library","__typename":"Reason"},"$Tool:101231773837565192.pros.edges.39":{"node":{"type":"id","generated":false,"id":"Reason:101978469292710590","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978470205257587":{"id":"101978470205257587","upvoted":false,"upvotesCount":5,"text":"Easy to develop end to end AI Models","__typename":"Reason"},"$Tool:101231773837565192.pros.edges.40":{"node":{"type":"id","generated":false,"id":"Reason:101978470205257587","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:103891892174334319":{"id":"103891892174334319","upvoted":false,"upvotesCount":5,"text":"Zero code burden to change databases","__typename":"Reason"},"$Tool:101231773837565192.pros.edges.41":{"node":{"type":"id","generated":false,"id":"Reason:103891892174334319","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469203245784":{"id":"101978469203245784","upvoted":false,"upvotesCount":4,"text":"Map","__typename":"Reason"},"$Tool:101231773837565192.pros.edges.42":{"node":{"type":"id","generated":false,"id":"Reason:101978469203245784","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:106382713399098038":{"id":"106382713399098038","upvoted":false,"upvotesCount":4,"text":"Easy to change database manager","__typename":"Reason"},"$Tool:101231773837565192.pros.edges.43":{"node":{"type":"id","generated":false,"id":"Reason:106382713399098038","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469965130039":{"id":"101978469965130039","upvoted":false,"upvotesCount":4,"text":"Easy","__typename":"Reason"},"$Tool:101231773837565192.pros.edges.44":{"node":{"type":"id","generated":false,"id":"Reason:101978469965130039","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:103630101834055045":{"id":"103630101834055045","upvoted":false,"upvotesCount":4,"text":"Great peformance","__typename":"Reason"},"$Tool:101231773837565192.pros.edges.45":{"node":{"type":"id","generated":false,"id":"Reason:103630101834055045","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:104438022205379788":{"id":"104438022205379788","upvoted":false,"upvotesCount":4,"text":"Many libraries","__typename":"Reason"},"$Tool:101231773837565192.pros.edges.46":{"node":{"type":"id","generated":false,"id":"Reason:104438022205379788","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469850969542":{"id":"101978469850969542","upvoted":false,"upvotesCount":4,"text":"Python community","__typename":"Reason"},"$Tool:101231773837565192.pros.edges.47":{"node":{"type":"id","generated":false,"id":"Reason:101978469850969542","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469368688958":{"id":"101978469368688958","upvoted":false,"upvotesCount":4,"text":"Modular","__typename":"Reason"},"$Tool:101231773837565192.pros.edges.48":{"node":{"type":"id","generated":false,"id":"Reason:101978469368688958","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469960286413":{"id":"101978469960286413","upvoted":false,"upvotesCount":4,"text":"Easy to use","__typename":"Reason"},"$Tool:101231773837565192.pros.edges.49":{"node":{"type":"id","generated":false,"id":"Reason:101978469960286413","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469688845622":{"id":"101978469688845622","upvoted":false,"upvotesCount":3,"text":"Just the right level of abstraction","__typename":"Reason"},"$Tool:101231773837565192.pros.edges.50":{"node":{"type":"id","generated":false,"id":"Reason:101978469688845622","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469363697154":{"id":"101978469363697154","upvoted":false,"upvotesCount":3,"text":"Scaffold","__typename":"Reason"},"$Tool:101231773837565192.pros.edges.51":{"node":{"type":"id","generated":false,"id":"Reason:101978469363697154","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469855136012":{"id":"101978469855136012","upvoted":false,"upvotesCount":3,"text":"Full-Text Search","__typename":"Reason"},"$Tool:101231773837565192.pros.edges.52":{"node":{"type":"id","generated":false,"id":"Reason:101978469855136012","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:108954937404390190":{"id":"108954937404390190","upvoted":false,"upvotesCount":1,"text":"Scalable","__typename":"Reason"},"$Tool:101231773837565192.pros.edges.53":{"node":{"type":"id","generated":false,"id":"Reason:108954937404390190","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:106817850117256980":{"id":"106817850117256980","upvoted":false,"upvotesCount":1,"text":"Node js","__typename":"Reason"},"$Tool:101231773837565192.pros.edges.54":{"node":{"type":"id","generated":false,"id":"Reason:106817850117256980","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:107468945008205442":{"id":"107468945008205442","upvoted":false,"upvotesCount":0,"text":"Rails","__typename":"Reason"},"$Tool:101231773837565192.pros.edges.55":{"node":{"type":"id","generated":false,"id":"Reason:107468945008205442","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:107978049728651139":{"id":"107978049728651139","upvoted":false,"upvotesCount":0,"text":"Fastapi","__typename":"Reason"},"$Tool:101231773837565192.pros.edges.56":{"node":{"type":"id","generated":false,"id":"Reason:107978049728651139","typename":"Reason"},"__typename":"ReasonEdge"},"$Tool:101231773837565192.pros":{"edges":[{"type":"id","generated":true,"id":"$Tool:101231773837565192.pros.edges.0","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837565192.pros.edges.1","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837565192.pros.edges.2","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837565192.pros.edges.3","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837565192.pros.edges.4","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837565192.pros.edges.5","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837565192.pros.edges.6","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837565192.pros.edges.7","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837565192.pros.edges.8","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837565192.pros.edges.9","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837565192.pros.edges.10","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837565192.pros.edges.11","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837565192.pros.edges.12","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837565192.pros.edges.13","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837565192.pros.edges.14","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837565192.pros.edges.15","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837565192.pros.edges.16","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837565192.pros.edges.17","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837565192.pros.edges.18","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837565192.pros.edges.19","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837565192.pros.edges.20","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837565192.pros.edges.21","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837565192.pros.edges.22","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837565192.pros.edges.23","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837565192.pros.edges.24","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837565192.pros.edges.25","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837565192.pros.edges.26","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837565192.pros.edges.27","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837565192.pros.edges.28","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837565192.pros.edges.29","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837565192.pros.edges.30","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837565192.pros.edges.31","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837565192.pros.edges.32","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837565192.pros.edges.33","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837565192.pros.edges.34","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837565192.pros.edges.35","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837565192.pros.edges.36","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837565192.pros.edges.37","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837565192.pros.edges.38","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837565192.pros.edges.39","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837565192.pros.edges.40","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837565192.pros.edges.41","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837565192.pros.edges.42","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837565192.pros.edges.43","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837565192.pros.edges.44","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837565192.pros.edges.45","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837565192.pros.edges.46","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837565192.pros.edges.47","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837565192.pros.edges.48","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837565192.pros.edges.49","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837565192.pros.edges.50","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837565192.pros.edges.51","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837565192.pros.edges.52","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837565192.pros.edges.53","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837565192.pros.edges.54","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837565192.pros.edges.55","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837565192.pros.edges.56","typename":"ReasonEdge"}],"__typename":"ReasonConnection"},"Reason:101978469822986054":{"id":"101978469822986054","upvoted":false,"upvotesCount":25,"text":"Underpowered templating","__typename":"Reason"},"$Tool:101231773837565192.cons.edges.0":{"node":{"type":"id","generated":false,"id":"Reason:101978469822986054","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469823228533":{"id":"101978469823228533","upvoted":false,"upvotesCount":22,"text":"Autoreload restarts whole server","__typename":"Reason"},"$Tool:101231773837565192.cons.edges.1":{"node":{"type":"id","generated":false,"id":"Reason:101978469823228533","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469822730334":{"id":"101978469822730334","upvoted":false,"upvotesCount":21,"text":"Underpowered ORM","__typename":"Reason"},"$Tool:101231773837565192.cons.edges.2":{"node":{"type":"id","generated":false,"id":"Reason:101978469822730334","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469823144066":{"id":"101978469823144066","upvoted":false,"upvotesCount":15,"text":"URL dispatcher ignores HTTP method","__typename":"Reason"},"$Tool:101231773837565192.cons.edges.3":{"node":{"type":"id","generated":false,"id":"Reason:101978469823144066","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469822530562":{"id":"101978469822530562","upvoted":false,"upvotesCount":10,"text":"Internal subcomponents coupling","__typename":"Reason"},"$Tool:101231773837565192.cons.edges.4":{"node":{"type":"id","generated":false,"id":"Reason:101978469822530562","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:103515407543995966":{"id":"103515407543995966","upvoted":false,"upvotesCount":8,"text":"Not nodejs","__typename":"Reason"},"$Tool:101231773837565192.cons.edges.5":{"node":{"type":"id","generated":false,"id":"Reason:103515407543995966","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:103701028359255844":{"id":"103701028359255844","upvoted":false,"upvotesCount":7,"text":"Admin","__typename":"Reason"},"$Tool:101231773837565192.cons.edges.6":{"node":{"type":"id","generated":false,"id":"Reason:103701028359255844","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:105149573377017831":{"id":"105149573377017831","upvoted":false,"upvotesCount":7,"text":"Configuration hell","__typename":"Reason"},"$Tool:101231773837565192.cons.edges.7":{"node":{"type":"id","generated":false,"id":"Reason:105149573377017831","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:104931752581987657":{"id":"104931752581987657","upvoted":false,"upvotesCount":5,"text":"Not as clean and nice documentation like Laravel","__typename":"Reason"},"$Tool:101231773837565192.cons.edges.8":{"node":{"type":"id","generated":false,"id":"Reason:104931752581987657","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:104004618028820178":{"id":"104004618028820178","upvoted":false,"upvotesCount":3,"text":"Bloated admin panel included","__typename":"Reason"},"$Tool:101231773837565192.cons.edges.9":{"node":{"type":"id","generated":false,"id":"Reason:104004618028820178","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:104965928891727684":{"id":"104965928891727684","upvoted":false,"upvotesCount":3,"text":"Python","__typename":"Reason"},"$Tool:101231773837565192.cons.edges.10":{"node":{"type":"id","generated":false,"id":"Reason:104965928891727684","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:105587676147921475":{"id":"105587676147921475","upvoted":false,"upvotesCount":3,"text":"Not typed","__typename":"Reason"},"$Tool:101231773837565192.cons.edges.11":{"node":{"type":"id","generated":false,"id":"Reason:105587676147921475","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:104997180912518210":{"id":"104997180912518210","upvoted":false,"upvotesCount":2,"text":"InEffective Multithreading","__typename":"Reason"},"$Tool:101231773837565192.cons.edges.12":{"node":{"type":"id","generated":false,"id":"Reason:104997180912518210","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:105149558427347952":{"id":"105149558427347952","upvoted":false,"upvotesCount":2,"text":"Overwhelming folder structure ","__typename":"Reason"},"$Tool:101231773837565192.cons.edges.13":{"node":{"type":"id","generated":false,"id":"Reason:105149558427347952","typename":"Reason"},"__typename":"ReasonEdge"},"$Tool:101231773837565192.cons":{"edges":[{"type":"id","generated":true,"id":"$Tool:101231773837565192.cons.edges.0","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837565192.cons.edges.1","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837565192.cons.edges.2","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837565192.cons.edges.3","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837565192.cons.edges.4","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837565192.cons.edges.5","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837565192.cons.edges.6","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837565192.cons.edges.7","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837565192.cons.edges.8","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837565192.cons.edges.9","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837565192.cons.edges.10","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837565192.cons.edges.11","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837565192.cons.edges.12","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837565192.cons.edges.13","typename":"ReasonEdge"}],"__typename":"ReasonConnection"},"User:101231989734510866":{"id":"101231989734510866","username":"dmitry-mukhin","title":"CTO","companyName":"Uploadcare","imageUrl":"https://img.stackshare.io/user/1187/default_ec77c2bb743dd247f54c69993fc614e7d95dff7b.jpeg","thumbUrl":"https://img.stackshare.io/user/1187/thumb_ec77c2bb743dd247f54c69993fc614e7d95dff7b.jpeg","displayName":"Dmitry Mukhin","__typename":"User"},"StackDecision:101031322411501020":{"user":{"type":"id","generated":false,"id":"User:101231989734510866","typename":"User"},"company":{"type":"id","generated":true,"id":"$StackDecision:101031322411501020.company","typename":"Company"},"link":{"type":"id","generated":true,"id":"$StackDecision:101031322411501020.link","typename":"Link"},"publicId":"101031322411501020","publishedAt":"2018-09-13T09:27:46Z","id":"101031322411501020","htmlContent":"<p>Simple controls over complex technologies, as we put it, wouldn't be possible without neat UIs for our user areas including start page, dashboard, settings, and docs.</p>\n\n<p>Initially, there was <span class=\"tool\">Django</span>. Back in 2011, considering our <span class=\"tool\">Python</span>-centric approach, that was the best choice. Later, we realized we needed to iterate on our website more quickly. And this led us to detaching Django from our front end. That was when we decided to build an SPA. </p>\n\n<p>For building user interfaces, we're currently using <span class=\"tool\">React</span> as it provided the fastest rendering back when we were building our toolkit. It’s worth mentioning Uploadcare is not a front-end-focused SPA: we aren’t running at high levels of complexity. If it were, we’d go with <span class=\"tool\">Ember.js</span>. </p>\n\n<p>However, there's a chance we will shift to the faster <span class=\"tool\">Preact</span>, with its motto of using as little code as possible, and because it makes more use of browser APIs. One of our future tasks for our front end is to configure our Webpack bundler to split up the code for different site sections. For styles, we use <span class=\"tool\">PostCSS</span> along with its plugins such as cssnano which minifies all the code.</p>\n\n<p>All that allows us to provide a great user experience and quickly implement changes where they are needed with as little code as possible.</p>","viewCount":1416087,"upvotesCount":25,"services":[{"type":"id","generated":false,"id":"Tool:101231773837565192","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773837179153","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773849098825","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773847891619","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231775523599415","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231774904399748","typename":"Tool"}],"topics":[],"__typename":"StackDecision"},"$StackDecision:101031322411501020.company":{"imageUrl":"https://img.stackshare.io/company/1339/default_527ec76dfae1256199805e7a27044c08e3ff6c55.jpg","thumbUrl":"https://img.stackshare.io/company/1339/thumb_527ec76dfae1256199805e7a27044c08e3ff6c55.jpg","name":"Uploadcare","path":"/companies/uploadcare","features":[],"__typename":"Company"},"$StackDecision:101031322411501020.link":{"url":"https://stackshare.io/uploadcare/how-uploadcare-built-a-stack-that-handles-350m-file-api-requests-per-day/","title":"How Uploadcare Built a Stack That Handles 350M File API Requests Per Day - Uploadcare Tech Stack | StackShare","__typename":"Link"},"Tool:101231773847891619":{"id":"101231773847891619","name":"Ember.js","slug":"emberjs","title":"A JavaScript framework for creating ambitious web apps","verified":false,"imageUrl":"https://img.stackshare.io/service/1018/3s1seyc0csl75btyw1vl.png","canonicalUrl":"/emberjs","path":"/emberjs","votes":768,"fans":1069,"stacks":1272,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231775523599415":{"id":"101231775523599415","name":"Preact","slug":"preact","title":"Fast 3kb alternative to React with the same ES6 API","verified":false,"imageUrl":"https://img.stackshare.io/service/4388/preact.png","canonicalUrl":"/preact","path":"/preact","votes":26,"fans":359,"stacks":377,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231774904399748":{"id":"101231774904399748","name":"PostCSS","slug":"postcss","title":"Transform CSS with JS plugins","verified":false,"imageUrl":"https://img.stackshare.io/service/3339/rlFcjEdI.png","canonicalUrl":"/postcss","path":"/postcss","votes":49,"fans":681,"stacks":583,"following":false,"followContext":null,"__typename":"Tool"},"$Tool:101231773837565192.stackDecisionsWithAlternatives({\"first\":2}).edges.0":{"node":{"type":"id","generated":false,"id":"StackDecision:101031322411501020","typename":"StackDecision"},"__typename":"StackDecisionEdge"},"User:104099980052998152":{"id":"104099980052998152","username":"memegamer138","title":"","companyName":"","imageUrl":"https://img.stackshare.io/user/564730/default_6efea9792d83ca75e13e52eb317dcb3d38188bb1.jpeg","thumbUrl":"https://img.stackshare.io/user/564730/thumb_6efea9792d83ca75e13e52eb317dcb3d38188bb1.jpeg","displayName":"Shakthi Vel","__typename":"User"},"StackDecision:105130515947749729":{"user":{"type":"id","generated":false,"id":"User:104099980052998152","typename":"User"},"company":null,"link":{"type":"id","generated":true,"id":"$StackDecision:105130515947749729.link","typename":"Link"},"publicId":"105130515947749729","publishedAt":"2020-10-31T17:12:46Z","id":"105130515947749729","htmlContent":"<p>Hey, so I developed a basic application with <span class=\"tool\">Python</span>. But to use it, you need a python interpreter. I want to add a GUI to make it more appealing. What should I choose to develop a GUI? I have very basic skills in front end development (CSS, <span class=\"tool\">JavaScript</span>). I am fluent in python. I'm looking for a tool that is easy to use and doesn't require too much code knowledge. I have recently tried out <span class=\"tool\">Flask</span>, but it is kinda complicated. Should I stick with it, move to <span class=\"tool\">Django</span>, or is there another nice framework to use?</p>","viewCount":469853,"upvotesCount":23,"services":[{"type":"id","generated":false,"id":"Tool:101231773837565192","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773840406851","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773939333405","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773837179153","typename":"Tool"}],"topics":[],"__typename":"StackDecision"},"$StackDecision:105130515947749729.link":{"url":"https://github.com/memegamer138/Startup-success","title":"GitHub - memegamer138/Startup-success: This repository has all the information about the \"Start-up success predictor\" project.","__typename":"Link"},"Tool:101231773840406851":{"id":"101231773840406851","name":"Flask","slug":"flask","title":"A microframework for Python based on Werkzeug, Jinja 2 and good intentions","verified":false,"imageUrl":"https://img.stackshare.io/service/1001/default_6d109315b60108628b7cd3e159b84645c31ef0e2.png","canonicalUrl":"/flask","path":"/flask","votes":1592,"fans":17913,"stacks":17097,"following":false,"followContext":null,"__typename":"Tool"},"$Tool:101231773837565192.stackDecisionsWithAlternatives({\"first\":2}).edges.1":{"node":{"type":"id","generated":false,"id":"StackDecision:105130515947749729","typename":"StackDecision"},"__typename":"StackDecisionEdge"},"$Tool:101231773837565192.stackDecisionsWithAlternatives({\"first\":2})":{"edges":[{"type":"id","generated":true,"id":"$Tool:101231773837565192.stackDecisionsWithAlternatives({\"first\":2}).edges.0","typename":"StackDecisionEdge"},{"type":"id","generated":true,"id":"$Tool:101231773837565192.stackDecisionsWithAlternatives({\"first\":2}).edges.1","typename":"StackDecisionEdge"}],"__typename":"StackDecisionConnection"},"$Tool:101231773845103618.alternativeTools({\"first\":8}).edges.5":{"node":{"type":"id","generated":false,"id":"Tool:101231773837565192","typename":"Tool"},"__typename":"ToolEdge"},"Tool:101231776831508362":{"id":"101231776831508362","path":"/asp-net","slug":"asp-net","title":"An open source web framework for building modern web apps and services with .NET","votes":35,"following":false,"followers":{"type":"id","generated":true,"id":"$Tool:101231776831508362.followers","typename":"UserConnection"},"stacks":25033,"githubForksCount":null,"imageUrl":"https://img.stackshare.io/service/6755/2c45151a4a11d3a3c8e71bb34dd069d6_400x400.png","thumbRetinaUrl":"https://img.stackshare.io/service/6755/thumb_retina_2c45151a4a11d3a3c8e71bb34dd069d6_400x400.png","name":"ASP.NET","description":".NET is a developer platform made up of tools, programming languages, and libraries for building many different types of applications.","contactEnabled":true,"contactButtonText":"Improve your ASP.NET skills with courses on Pluralsight ","contactFlow":{"type":"json","json":{"links":[{"url":"https://pluralsight.pxf.io/VqzNE","type":"website"}],"steps":["direct_link"]}},"pros":{"type":"id","generated":true,"id":"$Tool:101231776831508362.pros","typename":"ReasonConnection"},"cons":{"type":"id","generated":true,"id":"$Tool:101231776831508362.cons","typename":"ReasonConnection"},"verified":false,"canonicalUrl":"/asp-net","fans":11655,"followContext":null,"__typename":"Tool","stackDecisionsWithAlternatives({\"first\":2})":{"type":"id","generated":true,"id":"$Tool:101231776831508362.stackDecisionsWithAlternatives({\"first\":2})","typename":"StackDecisionConnection"}},"$Tool:101231776831508362.followers":{"count":9469,"__typename":"UserConnection"},"Reason:103982995975023834":{"id":"103982995975023834","upvoted":false,"upvotesCount":19,"text":"Great mvc","__typename":"Reason"},"$Tool:101231776831508362.pros.edges.0":{"node":{"type":"id","generated":false,"id":"Reason:103982995975023834","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:106482786432414516":{"id":"106482786432414516","upvoted":false,"upvotesCount":11,"text":"Easy to learn","__typename":"Reason"},"$Tool:101231776831508362.pros.edges.1":{"node":{"type":"id","generated":false,"id":"Reason:106482786432414516","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:108947048454274811":{"id":"108947048454274811","upvoted":false,"upvotesCount":5,"text":"C#","__typename":"Reason"},"$Tool:101231776831508362.pros.edges.2":{"node":{"type":"id","generated":false,"id":"Reason:108947048454274811","typename":"Reason"},"__typename":"ReasonEdge"},"$Tool:101231776831508362.pros":{"edges":[{"type":"id","generated":true,"id":"$Tool:101231776831508362.pros.edges.0","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231776831508362.pros.edges.1","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231776831508362.pros.edges.2","typename":"ReasonEdge"}],"__typename":"ReasonConnection"},"Reason:109081766966502076":{"id":"109081766966502076","upvoted":false,"upvotesCount":1,"text":"C#","__typename":"Reason"},"$Tool:101231776831508362.cons.edges.0":{"node":{"type":"id","generated":false,"id":"Reason:109081766966502076","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:107007638677506802":{"id":"107007638677506802","upvoted":false,"upvotesCount":1,"text":"Entity framework is very slow","__typename":"Reason"},"$Tool:101231776831508362.cons.edges.1":{"node":{"type":"id","generated":false,"id":"Reason:107007638677506802","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:107007648190787461":{"id":"107007648190787461","upvoted":false,"upvotesCount":1,"text":"Not highly flexible for advance Developers","__typename":"Reason"},"$Tool:101231776831508362.cons.edges.2":{"node":{"type":"id","generated":false,"id":"Reason:107007648190787461","typename":"Reason"},"__typename":"ReasonEdge"},"$Tool:101231776831508362.cons":{"edges":[{"type":"id","generated":true,"id":"$Tool:101231776831508362.cons.edges.0","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231776831508362.cons.edges.1","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231776831508362.cons.edges.2","typename":"ReasonEdge"}],"__typename":"ReasonConnection"},"User:102693945863891064":{"id":"102693945863891064","username":"GregInTheNorth","title":"Indie, Solo, Developer","companyName":"","imageUrl":"https://img.stackshare.io/user/306238/default_ce283bb281935e69b5e2e7053a2cb55aec9d2102.jpeg","thumbUrl":"https://img.stackshare.io/user/306238/thumb_ce283bb281935e69b5e2e7053a2cb55aec9d2102.jpeg","displayName":"Greg Neumann","__typename":"User"},"StackDecision:102696009400211093":{"user":{"type":"id","generated":false,"id":"User:102693945863891064","typename":"User"},"company":null,"link":null,"publicId":"102696009400211093","publishedAt":"2019-08-28T18:25:42Z","id":"102696009400211093","htmlContent":"<p>Finding the <strong>most effective</strong> dev stack for a solo developer. \nOver the past year, I've been looking at many tech stacks that would be 'best' for me, as a solo, indie, developer to deliver a desktop app (Windows &amp; Mac) plus mobile - iOS mainly. Initially, <span class=\"tool\">Xamarin</span> started to stand-out. Using <span class=\"tool\">.NET Core</span> as the run-time, <span class=\"tool\">Xamarin</span> as the native API provider and <span class=\"tool\">Xamarin Forms</span> for the UI seemed to solve all issues. But, the cracks soon started to appear. <span class=\"tool\">Xamarin Forms</span> is mobile only; the Windows incarnation is different. There is no Mac UI solution (you have to code it natively in Mac OS Storyboard. I was also worried how <span class=\"tool\">Xamarin Forms</span> , if I was to use it, was going to cope, in future, with Apple's new SwiftUI and Google's new Fuchsia.</p>\n\n<p>This plethora of techs for the UI-layer made me reach for the safer waters of using Web-techs for the UI. Lovely! Consistency everywhere (well, mostly). But that consistency evaporates when platform issues are addressed. There are so many web frameworks!</p>\n\n<p>But, I made a simple decision. It's just me...I am clever, but there is no army of coders here. And I have big plans for a business app. How could just 1 developer go-on to deploy a decent app to Windows, iPhone, iPad &amp; Mac OS? I remembered earlier days when I've used Microsoft's <span class=\"tool\">ASP.NET</span> to scaffold - generate - loads of Code for a web-app that I needed for several charities that I worked with. \nWhat 'generators' exist that do a lot of the platform-specific rubbish, allow the necessary customisation of such platform integration and provide a decent UI?</p>\n\n<p>I've placed my colours to the <span class=\"tool\">Quasar Framework</span> mast. Oh dear, that means <span class=\"tool\">Electron</span> desktop apps doesn't it? Well, Ive had enough of loads of Developers saying that \"the menus won't look native\" or \"it uses too much RAM\" and so on. I've been using non-native UI-wrapped apps for ages - the date picker in Outlook on iOS is way better than the native date-picker and I'd been using it for years without getting hot under the collar about it. Developers do get so hung-up on things that busy Users hardly notice; <em>don't you think?</em>. As to the RAM usage issue; that's a bit true. But Users only <em>really notice</em> when an app uses so much RAM that the machine starts to page-out. Electron contributes <em>towards</em> that horizon but does not <em>cause</em> it. My Users will be business-users after all. Somewhat decent machines.</p>\n\n<p>Looking forward to all that lovely <span class=\"tool\">Vue.js</span> around my <span class=\"tool\">TypeScript</span> and all those really, really, <strong>b e a u t I f u l</strong> UI controls of <span class=\"tool\">Quasar Framework</span> . Still not sure that 1 dev can deliver all that... but I'm up for trying...</p>","viewCount":1009523,"upvotesCount":8,"services":[{"type":"id","generated":false,"id":"Tool:101231773512118320","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231776647396130","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231774436802643","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231776831508362","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:102339069088396450","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231774678060123","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231775222204089","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231774098455524","typename":"Tool"}],"topics":[],"__typename":"StackDecision"},"Tool:101231773512118320":{"id":"101231773512118320","name":"Xamarin","slug":"xamarin","title":"Create iOS, Android and Mac apps in C#","verified":false,"imageUrl":"https://img.stackshare.io/service/211/RDXWoY7W.png","canonicalUrl":"/xamarin","path":"/xamarin","votes":783,"fans":1819,"stacks":1236,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231774436802643":{"id":"101231774436802643","name":"Xamarin Forms","slug":"xamarin-forms","title":" A complete cross-platform UI toolkit for .NET developers","verified":false,"imageUrl":"https://img.stackshare.io/service/2459/RDXWoY7W_400x400.png","canonicalUrl":"/xamarin-forms","path":"/xamarin-forms","votes":5,"fans":334,"stacks":292,"following":false,"followContext":null,"__typename":"Tool"},"Tool:102339069088396450":{"id":"102339069088396450","name":"Quasar Framework","slug":"quasar-framework","title":"Full front-end framework powered by Vue","verified":true,"imageUrl":"https://img.stackshare.io/service/11161/default_a64f61390e79c5008cd18e890d338259463f9af8.png","canonicalUrl":"/quasar-framework","path":"/quasar-framework","votes":342,"fans":799,"stacks":390,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231774678060123":{"id":"101231774678060123","name":"Electron","slug":"electron","title":"Build cross platform desktop apps with JavaScript, HTML, and CSS","verified":false,"imageUrl":"https://img.stackshare.io/service/2946/default_18a71b65e69d7aef5f218ae07f64eb6e1594c444.jpg","canonicalUrl":"/electron","path":"/electron","votes":140,"fans":10651,"stacks":9591,"following":false,"followContext":null,"__typename":"Tool"},"$Tool:101231776831508362.stackDecisionsWithAlternatives({\"first\":2}).edges.0":{"node":{"type":"id","generated":false,"id":"StackDecision:102696009400211093","typename":"StackDecision"},"__typename":"StackDecisionEdge"},"User:109189371242490104":{"id":"109189371242490104","username":"xcesaralejandro","title":null,"companyName":null,"imageUrl":"https://img.stackshare.io/user/1381268/default_3240cfd0ea208c01c4aa5d8c0021fb122ac49abf.png","thumbUrl":"https://img.stackshare.io/user/1381268/thumb_3240cfd0ea208c01c4aa5d8c0021fb122ac49abf.png","displayName":"xcesaralejandro","__typename":"User"},"StackDecision:109189502533745477":{"user":{"type":"id","generated":false,"id":"User:109189371242490104","typename":"User"},"company":null,"link":null,"publicId":"109189502533745477","publishedAt":"2022-10-18T13:26:26Z","id":"109189502533745477","htmlContent":"<p>I am looking for a new framework to learn and achieve more efficient development. I come mainly from <span class=\"tool\">Laravel</span>, which greatly simplifies development, but is somewhat slow for the volumes of data that I usually handle (although very stable) and it falls far behind in terms of simultaneous connections.</p>\n\n<p>I'm looking for something that responds well to high concurrency, adapts well to server resources (cores) without the need to be concerned about consciously multi-threading or similar things, has a good ORM and friendly integration with <span class=\"tool\">PostgreSQL</span>, request validation, And of course, it is scalable.</p>\n\n<p>The main use would be for API development and behind the scenes processing of large volumes of data (50M on average, although this goes hand in hand with the database and server capacity)..</p>\n\n<p>The last framework I would include but couldn't is <span class=\"tool\">ASP.NET</span> MVC.</p>","viewCount":8175,"upvotesCount":7,"services":[{"type":"id","generated":false,"id":"Tool:101231776831508362","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773853533403","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773836807964","typename":"Tool"}],"topics":[],"__typename":"StackDecision"},"Tool:101231773853533403":{"id":"101231773853533403","name":"PostgreSQL","slug":"postgresql","title":"A powerful, open source object-relational database system","verified":false,"imageUrl":"https://img.stackshare.io/service/1028/ASOhU5xJ.png","canonicalUrl":"/postgresql","path":"/postgresql","votes":3467,"fans":80085,"stacks":83787,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231773836807964":{"id":"101231773836807964","name":"Laravel","slug":"laravel","title":"A PHP Framework For Web Artisans","verified":false,"imageUrl":"https://img.stackshare.io/service/992/AcA2LnWL_400x400.jpg","canonicalUrl":"/laravel","path":"/laravel","votes":3676,"fans":23588,"stacks":24380,"following":false,"followContext":null,"__typename":"Tool"},"$Tool:101231776831508362.stackDecisionsWithAlternatives({\"first\":2}).edges.1":{"node":{"type":"id","generated":false,"id":"StackDecision:109189502533745477","typename":"StackDecision"},"__typename":"StackDecisionEdge"},"$Tool:101231776831508362.stackDecisionsWithAlternatives({\"first\":2})":{"edges":[{"type":"id","generated":true,"id":"$Tool:101231776831508362.stackDecisionsWithAlternatives({\"first\":2}).edges.0","typename":"StackDecisionEdge"},{"type":"id","generated":true,"id":"$Tool:101231776831508362.stackDecisionsWithAlternatives({\"first\":2}).edges.1","typename":"StackDecisionEdge"}],"__typename":"StackDecisionConnection"},"$Tool:101231773845103618.alternativeTools({\"first\":8}).edges.6":{"node":{"type":"id","generated":false,"id":"Tool:101231776831508362","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231773838011785.followers":{"count":86181,"__typename":"UserConnection"},"Reason:101978468492665267":{"id":"101978468492665267","upvoted":false,"upvotesCount":592,"text":"Great libraries","__typename":"Reason"},"$Tool:101231773838011785.pros.edges.0":{"node":{"type":"id","generated":false,"id":"Reason:101978468492665267","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468493072341":{"id":"101978468493072341","upvoted":false,"upvotesCount":444,"text":"Widely used","__typename":"Reason"},"$Tool:101231773838011785.pros.edges.1":{"node":{"type":"id","generated":false,"id":"Reason:101978468493072341","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468385466114":{"id":"101978468385466114","upvoted":false,"upvotesCount":400,"text":"Excellent tooling","__typename":"Reason"},"$Tool:101231773838011785.pros.edges.2":{"node":{"type":"id","generated":false,"id":"Reason:101978468385466114","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468386302552":{"id":"101978468386302552","upvoted":false,"upvotesCount":389,"text":"Huge amount of documentation available","__typename":"Reason"},"$Tool:101231773838011785.pros.edges.3":{"node":{"type":"id","generated":false,"id":"Reason:101978468386302552","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468388341617":{"id":"101978468388341617","upvoted":false,"upvotesCount":332,"text":"Large pool of developers available","__typename":"Reason"},"$Tool:101231773838011785.pros.edges.4":{"node":{"type":"id","generated":false,"id":"Reason:101978468388341617","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468492481186":{"id":"101978468492481186","upvoted":false,"upvotesCount":204,"text":"Open source","__typename":"Reason"},"$Tool:101231773838011785.pros.edges.5":{"node":{"type":"id","generated":false,"id":"Reason:101978468492481186","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468387048267":{"id":"101978468387048267","upvoted":false,"upvotesCount":201,"text":"Excellent performance","__typename":"Reason"},"$Tool:101231773838011785.pros.edges.6":{"node":{"type":"id","generated":false,"id":"Reason:101978468387048267","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468493138984":{"id":"101978468493138984","upvoted":false,"upvotesCount":155,"text":"Great development","__typename":"Reason"},"$Tool:101231773838011785.pros.edges.7":{"node":{"type":"id","generated":false,"id":"Reason:101978468493138984","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468385827696":{"id":"101978468385827696","upvoted":false,"upvotesCount":149,"text":"Vast array of 3rd party libraries","__typename":"Reason"},"$Tool:101231773838011785.pros.edges.8":{"node":{"type":"id","generated":false,"id":"Reason:101978468385827696","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468385166011":{"id":"101978468385166011","upvoted":false,"upvotesCount":148,"text":"Used for android","__typename":"Reason"},"$Tool:101231773838011785.pros.edges.9":{"node":{"type":"id","generated":false,"id":"Reason:101978468385166011","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468492539171":{"id":"101978468492539171","upvoted":false,"upvotesCount":60,"text":"Compiled Language ","__typename":"Reason"},"$Tool:101231773838011785.pros.edges.10":{"node":{"type":"id","generated":false,"id":"Reason:101978468492539171","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468492961007":{"id":"101978468492961007","upvoted":false,"upvotesCount":50,"text":"Used for Web","__typename":"Reason"},"$Tool:101231773838011785.pros.edges.11":{"node":{"type":"id","generated":false,"id":"Reason:101978468492961007","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468388747289":{"id":"101978468388747289","upvoted":false,"upvotesCount":46,"text":"Managed memory","__typename":"Reason"},"$Tool:101231773838011785.pros.edges.12":{"node":{"type":"id","generated":false,"id":"Reason:101978468388747289","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468492880264":{"id":"101978468492880264","upvoted":false,"upvotesCount":45,"text":"High Performance","__typename":"Reason"},"$Tool:101231773838011785.pros.edges.13":{"node":{"type":"id","generated":false,"id":"Reason:101978468492880264","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468388877871":{"id":"101978468388877871","upvoted":false,"upvotesCount":44,"text":"Native threads","__typename":"Reason"},"$Tool:101231773838011785.pros.edges.14":{"node":{"type":"id","generated":false,"id":"Reason:101978468388877871","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468536842744":{"id":"101978468536842744","upvoted":false,"upvotesCount":43,"text":"Statically typed","__typename":"Reason"},"$Tool:101231773838011785.pros.edges.15":{"node":{"type":"id","generated":false,"id":"Reason:101978468536842744","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468547775667":{"id":"101978468547775667","upvoted":false,"upvotesCount":35,"text":"Easy to read","__typename":"Reason"},"$Tool:101231773838011785.pros.edges.16":{"node":{"type":"id","generated":false,"id":"Reason:101978468547775667","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468492338472":{"id":"101978468492338472","upvoted":false,"upvotesCount":33,"text":"Great Community","__typename":"Reason"},"$Tool:101231773838011785.pros.edges.17":{"node":{"type":"id","generated":false,"id":"Reason:101978468492338472","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468559904440":{"id":"101978468559904440","upvoted":false,"upvotesCount":29,"text":"Reliable platform","__typename":"Reason"},"$Tool:101231773838011785.pros.edges.18":{"node":{"type":"id","generated":false,"id":"Reason:101978468559904440","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468388625340":{"id":"101978468388625340","upvoted":false,"upvotesCount":24,"text":"Sturdy garbage collection","__typename":"Reason"},"$Tool:101231773838011785.pros.edges.19":{"node":{"type":"id","generated":false,"id":"Reason:101978468388625340","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468625523527":{"id":"101978468625523527","upvoted":false,"upvotesCount":24,"text":"JVM compatibility","__typename":"Reason"},"$Tool:101231773838011785.pros.edges.20":{"node":{"type":"id","generated":false,"id":"Reason:101978468625523527","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468497081379":{"id":"101978468497081379","upvoted":false,"upvotesCount":21,"text":"Cross Platform Enterprise Integration","__typename":"Reason"},"$Tool:101231773838011785.pros.edges.21":{"node":{"type":"id","generated":false,"id":"Reason:101978468497081379","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468606321558":{"id":"101978468606321558","upvoted":false,"upvotesCount":20,"text":"Good amount of APIs","__typename":"Reason"},"$Tool:101231773838011785.pros.edges.22":{"node":{"type":"id","generated":false,"id":"Reason:101978468606321558","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468596620299":{"id":"101978468596620299","upvoted":false,"upvotesCount":20,"text":"Universal platform ","__typename":"Reason"},"$Tool:101231773838011785.pros.edges.23":{"node":{"type":"id","generated":false,"id":"Reason:101978468596620299","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468492739405":{"id":"101978468492739405","upvoted":false,"upvotesCount":18,"text":"Great Support","__typename":"Reason"},"$Tool:101231773838011785.pros.edges.24":{"node":{"type":"id","generated":false,"id":"Reason:101978468492739405","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469293291433":{"id":"101978469293291433","upvoted":false,"upvotesCount":14,"text":"Great ecosystem","__typename":"Reason"},"$Tool:101231773838011785.pros.edges.25":{"node":{"type":"id","generated":false,"id":"Reason:101978469293291433","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468596169948":{"id":"101978468596169948","upvoted":false,"upvotesCount":11,"text":"Backward compatible","__typename":"Reason"},"$Tool:101231773838011785.pros.edges.26":{"node":{"type":"id","generated":false,"id":"Reason:101978468596169948","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468385000528":{"id":"101978468385000528","upvoted":false,"upvotesCount":11,"text":"Lots of boilerplate","__typename":"Reason"},"$Tool:101231773838011785.pros.edges.27":{"node":{"type":"id","generated":false,"id":"Reason:101978468385000528","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468752249355":{"id":"101978468752249355","upvoted":false,"upvotesCount":10,"text":"Everywhere","__typename":"Reason"},"$Tool:101231773838011785.pros.edges.28":{"node":{"type":"id","generated":false,"id":"Reason:101978468752249355","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468985663398":{"id":"101978468985663398","upvoted":false,"upvotesCount":9,"text":"Excellent SDK - JDK","__typename":"Reason"},"$Tool:101231773838011785.pros.edges.29":{"node":{"type":"id","generated":false,"id":"Reason:101978468985663398","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978470160215481":{"id":"101978470160215481","upvoted":false,"upvotesCount":7,"text":"Static typing","__typename":"Reason"},"$Tool:101231773838011785.pros.edges.30":{"node":{"type":"id","generated":false,"id":"Reason:101978470160215481","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469831331501":{"id":"101978469831331501","upvoted":false,"upvotesCount":7,"text":"It's Java","__typename":"Reason"},"$Tool:101231773838011785.pros.edges.31":{"node":{"type":"id","generated":false,"id":"Reason:101978469831331501","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469667357024":{"id":"101978469667357024","upvoted":false,"upvotesCount":6,"text":"Mature language thus stable systems ","__typename":"Reason"},"$Tool:101231773838011785.pros.edges.32":{"node":{"type":"id","generated":false,"id":"Reason:101978469667357024","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469124080019":{"id":"101978469124080019","upvoted":false,"upvotesCount":6,"text":"Better than Ruby","__typename":"Reason"},"$Tool:101231773838011785.pros.edges.33":{"node":{"type":"id","generated":false,"id":"Reason:101978469124080019","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:102659334989290365":{"id":"102659334989290365","upvoted":false,"upvotesCount":6,"text":"Long term language","__typename":"Reason"},"$Tool:101231773838011785.pros.edges.34":{"node":{"type":"id","generated":false,"id":"Reason:102659334989290365","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469856553062":{"id":"101978469856553062","upvoted":false,"upvotesCount":6,"text":"Cross-platform","__typename":"Reason"},"$Tool:101231773838011785.pros.edges.35":{"node":{"type":"id","generated":false,"id":"Reason:101978469856553062","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469886495057":{"id":"101978469886495057","upvoted":false,"upvotesCount":6,"text":"Portability","__typename":"Reason"},"$Tool:101231773838011785.pros.edges.36":{"node":{"type":"id","generated":false,"id":"Reason:101978469886495057","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469064033292":{"id":"101978469064033292","upvoted":false,"upvotesCount":5,"text":"Clojure","__typename":"Reason"},"$Tool:101231773838011785.pros.edges.37":{"node":{"type":"id","generated":false,"id":"Reason:101978469064033292","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469722657097":{"id":"101978469722657097","upvoted":false,"upvotesCount":5,"text":"Vast Collections Library","__typename":"Reason"},"$Tool:101231773838011785.pros.edges.38":{"node":{"type":"id","generated":false,"id":"Reason:101978469722657097","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:104346121692524938":{"id":"104346121692524938","upvoted":false,"upvotesCount":5,"text":"Used for Android development","__typename":"Reason"},"$Tool:101231773838011785.pros.edges.39":{"node":{"type":"id","generated":false,"id":"Reason:104346121692524938","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:102173941225334497":{"id":"102173941225334497","upvoted":false,"upvotesCount":4,"text":"Most developers favorite ","__typename":"Reason"},"$Tool:101231773838011785.pros.edges.40":{"node":{"type":"id","generated":false,"id":"Reason:102173941225334497","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:104669511954807688":{"id":"104669511954807688","upvoted":false,"upvotesCount":4,"text":"Old tech","__typename":"Reason"},"$Tool:101231773838011785.pros.edges.41":{"node":{"type":"id","generated":false,"id":"Reason:104669511954807688","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:105445651405729139":{"id":"105445651405729139","upvoted":false,"upvotesCount":3,"text":"Javadoc","__typename":"Reason"},"$Tool:101231773838011785.pros.edges.42":{"node":{"type":"id","generated":false,"id":"Reason:105445651405729139","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469878105081":{"id":"101978469878105081","upvoted":false,"upvotesCount":3,"text":"Stable platform, which many new languages depend on","__typename":"Reason"},"$Tool:101231773838011785.pros.edges.43":{"node":{"type":"id","generated":false,"id":"Reason:101978469878105081","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:106766638720799074":{"id":"106766638720799074","upvoted":false,"upvotesCount":3,"text":"History ","__typename":"Reason"},"$Tool:101231773838011785.pros.edges.44":{"node":{"type":"id","generated":false,"id":"Reason:106766638720799074","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:105124882120224721":{"id":"105124882120224721","upvoted":false,"upvotesCount":3,"text":"Testable","__typename":"Reason"},"$Tool:101231773838011785.pros.edges.45":{"node":{"type":"id","generated":false,"id":"Reason:105124882120224721","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978470105857849":{"id":"101978470105857849","upvoted":false,"upvotesCount":3,"text":"Best martial for design","__typename":"Reason"},"$Tool:101231773838011785.pros.edges.46":{"node":{"type":"id","generated":false,"id":"Reason:101978470105857849","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469994310865":{"id":"101978469994310865","upvoted":false,"upvotesCount":3,"text":"Great Structure","__typename":"Reason"},"$Tool:101231773838011785.pros.edges.47":{"node":{"type":"id","generated":false,"id":"Reason:101978469994310865","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:107428800948291561":{"id":"107428800948291561","upvoted":false,"upvotesCount":2,"text":"Faster than python","__typename":"Reason"},"$Tool:101231773838011785.pros.edges.48":{"node":{"type":"id","generated":false,"id":"Reason:107428800948291561","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:107702641339377287":{"id":"107702641339377287","upvoted":false,"upvotesCount":2,"text":"Type Safe","__typename":"Reason"},"$Tool:101231773838011785.pros.edges.49":{"node":{"type":"id","generated":false,"id":"Reason:107702641339377287","typename":"Reason"},"__typename":"ReasonEdge"},"$Tool:101231773838011785.pros":{"edges":[{"type":"id","generated":true,"id":"$Tool:101231773838011785.pros.edges.0","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773838011785.pros.edges.1","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773838011785.pros.edges.2","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773838011785.pros.edges.3","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773838011785.pros.edges.4","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773838011785.pros.edges.5","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773838011785.pros.edges.6","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773838011785.pros.edges.7","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773838011785.pros.edges.8","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773838011785.pros.edges.9","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773838011785.pros.edges.10","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773838011785.pros.edges.11","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773838011785.pros.edges.12","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773838011785.pros.edges.13","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773838011785.pros.edges.14","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773838011785.pros.edges.15","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773838011785.pros.edges.16","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773838011785.pros.edges.17","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773838011785.pros.edges.18","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773838011785.pros.edges.19","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773838011785.pros.edges.20","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773838011785.pros.edges.21","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773838011785.pros.edges.22","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773838011785.pros.edges.23","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773838011785.pros.edges.24","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773838011785.pros.edges.25","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773838011785.pros.edges.26","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773838011785.pros.edges.27","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773838011785.pros.edges.28","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773838011785.pros.edges.29","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773838011785.pros.edges.30","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773838011785.pros.edges.31","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773838011785.pros.edges.32","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773838011785.pros.edges.33","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773838011785.pros.edges.34","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773838011785.pros.edges.35","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773838011785.pros.edges.36","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773838011785.pros.edges.37","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773838011785.pros.edges.38","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773838011785.pros.edges.39","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773838011785.pros.edges.40","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773838011785.pros.edges.41","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773838011785.pros.edges.42","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773838011785.pros.edges.43","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773838011785.pros.edges.44","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773838011785.pros.edges.45","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773838011785.pros.edges.46","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773838011785.pros.edges.47","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773838011785.pros.edges.48","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773838011785.pros.edges.49","typename":"ReasonEdge"}],"__typename":"ReasonConnection"},"Reason:101978469786443405":{"id":"101978469786443405","upvoted":false,"upvotesCount":32,"text":"Verbosity","__typename":"Reason"},"$Tool:101231773838011785.cons.edges.0":{"node":{"type":"id","generated":false,"id":"Reason:101978469786443405","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469786312261":{"id":"101978469786312261","upvoted":false,"upvotesCount":27,"text":"NullpointerException","__typename":"Reason"},"$Tool:101231773838011785.cons.edges.1":{"node":{"type":"id","generated":false,"id":"Reason:101978469786312261","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978470122194383":{"id":"101978470122194383","upvoted":false,"upvotesCount":16,"text":"Nightmare to Write","__typename":"Reason"},"$Tool:101231773838011785.cons.edges.2":{"node":{"type":"id","generated":false,"id":"Reason:101978470122194383","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469815014159":{"id":"101978469815014159","upvoted":false,"upvotesCount":16,"text":"Overcomplexity is praised in community culture","__typename":"Reason"},"$Tool:101231773838011785.cons.edges.3":{"node":{"type":"id","generated":false,"id":"Reason:101978469815014159","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978470093387497":{"id":"101978470093387497","upvoted":false,"upvotesCount":12,"text":"Boiler plate code","__typename":"Reason"},"$Tool:101231773838011785.cons.edges.4":{"node":{"type":"id","generated":false,"id":"Reason:101978470093387497","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469797077969":{"id":"101978469797077969","upvoted":false,"upvotesCount":8,"text":"Classpath hell prior to Java 9","__typename":"Reason"},"$Tool:101231773838011785.cons.edges.5":{"node":{"type":"id","generated":false,"id":"Reason:101978469797077969","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469815118280":{"id":"101978469815118280","upvoted":false,"upvotesCount":6,"text":"No REPL","__typename":"Reason"},"$Tool:101231773838011785.cons.edges.6":{"node":{"type":"id","generated":false,"id":"Reason:101978469815118280","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978470030693763":{"id":"101978470030693763","upvoted":false,"upvotesCount":4,"text":"No property","__typename":"Reason"},"$Tool:101231773838011785.cons.edges.7":{"node":{"type":"id","generated":false,"id":"Reason:101978470030693763","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:105195822232648353":{"id":"105195822232648353","upvoted":false,"upvotesCount":3,"text":"Code are too long","__typename":"Reason"},"$Tool:101231773838011785.cons.edges.8":{"node":{"type":"id","generated":false,"id":"Reason:105195822232648353","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978470259414943":{"id":"101978470259414943","upvoted":false,"upvotesCount":2,"text":"Non-intuitive generic implementation","__typename":"Reason"},"$Tool:101231773838011785.cons.edges.9":{"node":{"type":"id","generated":false,"id":"Reason:101978470259414943","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:104964394811444865":{"id":"104964394811444865","upvoted":false,"upvotesCount":2,"text":"There is not optional parameter","__typename":"Reason"},"$Tool:101231773838011785.cons.edges.10":{"node":{"type":"id","generated":false,"id":"Reason:104964394811444865","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:103020371548631259":{"id":"103020371548631259","upvoted":false,"upvotesCount":2,"text":"Floating-point errors","__typename":"Reason"},"$Tool:101231773838011785.cons.edges.11":{"node":{"type":"id","generated":false,"id":"Reason:103020371548631259","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:105391239353120584":{"id":"105391239353120584","upvoted":false,"upvotesCount":1,"text":"Terrbible compared to Python/Batch Perormence","__typename":"Reason"},"$Tool:101231773838011785.cons.edges.12":{"node":{"type":"id","generated":false,"id":"Reason:105391239353120584","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:103020370128342354":{"id":"103020370128342354","upvoted":false,"upvotesCount":1,"text":"Java's too statically, stronglly, and strictly typed ","__typename":"Reason"},"$Tool:101231773838011785.cons.edges.13":{"node":{"type":"id","generated":false,"id":"Reason:103020370128342354","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:105417570517797475":{"id":"105417570517797475","upvoted":false,"upvotesCount":1,"text":"Returning Wildcard Types","__typename":"Reason"},"$Tool:101231773838011785.cons.edges.14":{"node":{"type":"id","generated":false,"id":"Reason:105417570517797475","typename":"Reason"},"__typename":"ReasonEdge"},"$Tool:101231773838011785.cons":{"edges":[{"type":"id","generated":true,"id":"$Tool:101231773838011785.cons.edges.0","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773838011785.cons.edges.1","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773838011785.cons.edges.2","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773838011785.cons.edges.3","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773838011785.cons.edges.4","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773838011785.cons.edges.5","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773838011785.cons.edges.6","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773838011785.cons.edges.7","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773838011785.cons.edges.8","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773838011785.cons.edges.9","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773838011785.cons.edges.10","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773838011785.cons.edges.11","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773838011785.cons.edges.12","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773838011785.cons.edges.13","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773838011785.cons.edges.14","typename":"ReasonEdge"}],"__typename":"ReasonConnection"},"$Tool:101231773838011785.stackDecisionsWithAlternatives({\"first\":2}).edges.0":{"node":{"type":"id","generated":false,"id":"StackDecision:101184587860273619","typename":"StackDecision"},"__typename":"StackDecisionEdge"},"User:101232079706377588":{"id":"101232079706377588","username":"kamilkowalski","title":"Lead Architect","companyName":"Fresha","imageUrl":"https://img.stackshare.io/user/175610/default_715c96c98f4362992833dd4e0410513ce77c3eeb.jpeg","thumbUrl":"https://img.stackshare.io/user/175610/thumb_715c96c98f4362992833dd4e0410513ce77c3eeb.jpeg","displayName":"Kamil Kowalski","__typename":"User"},"StackDecision:103356936364529702":{"user":{"type":"id","generated":false,"id":"User:101232079706377588","typename":"User"},"company":{"type":"id","generated":true,"id":"$StackDecision:103356936364529702.company","typename":"Company"},"link":null,"publicId":"103356936364529702","publishedAt":"2019-12-23T11:48:09Z","id":"103356936364529702","htmlContent":"<p>When you think about test automation, it’s crucial to make it everyone’s responsibility (not just QA Engineers'). We started with <span class=\"tool\">Selenium</span> and <span class=\"tool\">Java</span>, but with our platform revolving around <span class=\"tool\">Ruby</span>, <span class=\"tool\">Elixir</span> and <span class=\"tool\">JavaScript</span>, QA Engineers were left alone to automate tests. <span class=\"tool\">Cypress</span> was the answer, as we could switch to JS and simply involve more people from day one. There's a downside too, as it meant testing on Chrome only, but that was \"good enough\" for us + if really needed we can always cover some specific cases in a different way.</p>","viewCount":1755908,"upvotesCount":28,"services":[{"type":"id","generated":false,"id":"Tool:101231774063724150","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773838011785","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773835511567","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231774237595825","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773939333405","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231778053837910","typename":"Tool"}],"topics":[],"__typename":"StackDecision"},"$StackDecision:103356936364529702.company":{"imageUrl":"https://img.stackshare.io/company/29444/default_f292b7432398c825a68b4fbe8ddbedc9c135b2a1.png","thumbUrl":"https://img.stackshare.io/company/29444/thumb_f292b7432398c825a68b4fbe8ddbedc9c135b2a1.png","name":"Fresha","path":"/companies/fresha","features":[],"__typename":"Company"},"Tool:101231774063724150":{"id":"101231774063724150","name":"Selenium","slug":"selenium","title":"Web Browser Automation","verified":false,"imageUrl":"https://img.stackshare.io/service/1517/sbUizSli_400x400.jpg","canonicalUrl":"/selenium","path":"/selenium","votes":522,"fans":13262,"stacks":13718,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231773835511567":{"id":"101231773835511567","name":"Ruby","slug":"ruby","title":"A dynamic, interpreted, open source programming language with a focus on simplicity and productivity","verified":false,"imageUrl":"https://img.stackshare.io/service/989/ruby.png","canonicalUrl":"/ruby","path":"/ruby","votes":3922,"fans":23355,"stacks":30712,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231774237595825":{"id":"101231774237595825","name":"Elixir","slug":"elixir","title":"Dynamic, functional language designed for building scalable and maintainable applications","verified":false,"imageUrl":"https://img.stackshare.io/service/1974/drop.png","canonicalUrl":"/elixir","path":"/elixir","votes":1284,"fans":3563,"stacks":3002,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231778053837910":{"id":"101231778053837910","name":"Cypress","slug":"cypress","title":"When testing is easy, developers build better things faster and with confidence.","verified":true,"imageUrl":"https://img.stackshare.io/service/9231/default_66c5c1a197dcd0232e41e4ab6299d119b4e165b3.png","canonicalUrl":"/cypress","path":"/cypress","votes":113,"fans":2356,"stacks":2168,"following":false,"followContext":null,"__typename":"Tool"},"$Tool:101231773838011785.stackDecisionsWithAlternatives({\"first\":2}).edges.1":{"node":{"type":"id","generated":false,"id":"StackDecision:103356936364529702","typename":"StackDecision"},"__typename":"StackDecisionEdge"},"$Tool:101231773838011785.stackDecisionsWithAlternatives({\"first\":2})":{"edges":[{"type":"id","generated":true,"id":"$Tool:101231773838011785.stackDecisionsWithAlternatives({\"first\":2}).edges.0","typename":"StackDecisionEdge"},{"type":"id","generated":true,"id":"$Tool:101231773838011785.stackDecisionsWithAlternatives({\"first\":2}).edges.1","typename":"StackDecisionEdge"}],"__typename":"StackDecisionConnection"},"$Tool:101231773845103618.alternativeTools({\"first\":8}).edges.7":{"node":{"type":"id","generated":false,"id":"Tool:101231773838011785","typename":"Tool"},"__typename":"ToolEdge"}}</script> <!-- glamorIds: 136 --> <script type="application/json" id="ToolAlternatives-glamor-136e5630-0d03-4b43-8077-098cfa43fe02">["1htug8r","1yodi52","iepywa","x5hg3h","u0iaox","9ilv8v","f3khu","1ag7ge9","ld8qhm","11b98zt","12i35kv","1mjw833","a5x1lt","1m5j888","4bpmfq","1pvkxrw","1cylxxa","1g92dqh","1cs0rzs","1j0qgmo","kxs423","eemya1","3dgua6","1guve57","z9c3fl","i52n91","13sfqhu","12llqor","81jah4","69zjs9","8a04gk","1m38k02","162qu2y","p797gu","jyk0kg","4hck59","1drwozb","gbti5j","1ahj942","1an0suy","1dgfc7p","14pk3xx","1o4togz","12257h","np1rfd","1iqua1m","4gnhqq","1ob9em9","1mpii3w","uw1ldh","xkasvz","atv6j6","1m8tyev","1vf0ygt","utnqcw","ds0hbm","dg4ww9","z9ms26","1pwtf47","t68yd0","1rz3855","i6njnm","6uh2e7","1j2w1cg","1b2ktnx","1dp4k20","ztg526","1srb7t4","n746ki","1v4wqws","7c9av6","6nrkpz","1mlbi0l","1cda8k4","2an9kq","5x5cr6","rsz8c","12alag6","1dnwvu3","1wr1kub","1nxoxgf","mtutfo","6pc9xu","1x2bey4","1krun48","z63j1n","19r489t","1puyxnn","bjhznw","13u3lpy","em9idi","guqgrw","41bx4t","83t7xw","m7giud","1to1q1s","zwwro1","1ps7r35","1w2c3xd","13hey0t","ua0sjh","8qpfeu","kb8or3","1d3wilq","ljm4wn","mwikcm","1jltg37","1489hth","8wh4b7","pltn6z","1hhgtx3","rpzmwi","5f7045","3k44bn","1qckosq","1a4uubp","q4ncy","1mj0hbk","1dnnpo5","ubpjqb","gpa5xw","1erkkk4","a55l86","usifiy","6t66tf","1x4ysa3","1bn5mmw","1v4bhi8","6wyd29","19dpmz","v6oua5","16r6zz5","f2odf3","1m02by6","13nf4of","xd3exe"]</script> <style>@-webkit-keyframes animation_1htug8r{to{transform:rotate(360deg);-webkit-transform:rotate(360deg);}}@-moz-keyframes animation_1htug8r{to{transform:rotate(360deg);-webkit-transform:rotate(360deg);}}@-o-keyframes animation_1htug8r{to{transform:rotate(360deg);-webkit-transform:rotate(360deg);}}@keyframes animation_1htug8r{to{transform:rotate(360deg);-webkit-transform:rotate(360deg);}}@-webkit-keyframes animation_1yodi52{0%{background-position:0 0;}100%{background-position:100em 0;}}@-moz-keyframes animation_1yodi52{0%{background-position:0 0;}100%{background-position:100em 0;}}@-o-keyframes animation_1yodi52{0%{background-position:0 0;}100%{background-position:100em 0;}}@keyframes animation_1yodi52{0%{background-position:0 0;}100%{background-position:100em 0;}}@-webkit-keyframes animation_iepywa{0%, 100%{opacity:0;}50%{opacity:1;}}@-moz-keyframes animation_iepywa{0%, 100%{opacity:0;}50%{opacity:1;}}@-o-keyframes animation_iepywa{0%, 100%{opacity:0;}50%{opacity:1;}}@keyframes animation_iepywa{0%, 100%{opacity:0;}50%{opacity:1;}}@-webkit-keyframes animation_x5hg3h{100%{stroke-dashoffset:0;}}@-moz-keyframes animation_x5hg3h{100%{stroke-dashoffset:0;}}@-o-keyframes animation_x5hg3h{100%{stroke-dashoffset:0;}}@keyframes animation_x5hg3h{100%{stroke-dashoffset:0;}}@-webkit-keyframes animation_u0iaox{0%, 100%{transform:none;-webkit-transform:none;}50%{transform:scale3d(1.1, 1.1, 1);-webkit-transform:scale3d(1.1, 1.1, 1);}}@-moz-keyframes animation_u0iaox{0%, 100%{transform:none;-webkit-transform:none;}50%{transform:scale3d(1.1, 1.1, 1);-webkit-transform:scale3d(1.1, 1.1, 1);}}@-o-keyframes animation_u0iaox{0%, 100%{transform:none;-webkit-transform:none;}50%{transform:scale3d(1.1, 1.1, 1);-webkit-transform:scale3d(1.1, 1.1, 1);}}@keyframes animation_u0iaox{0%, 100%{transform:none;-webkit-transform:none;}50%{transform:scale3d(1.1, 1.1, 1);-webkit-transform:scale3d(1.1, 1.1, 1);}}@-webkit-keyframes animation_9ilv8v{100%{box-shadow:inset 0px 0px 0px 30px #068dfe;}}@-moz-keyframes animation_9ilv8v{100%{box-shadow:inset 0px 0px 0px 30px #068dfe;}}@-o-keyframes animation_9ilv8v{100%{box-shadow:inset 0px 0px 0px 30px #068dfe;}}@keyframes animation_9ilv8v{100%{box-shadow:inset 0px 0px 0px 30px #068dfe;}}.css-f3khu,[data-css-f3khu]{margin:10px 0;}.css-1ag7ge9,[data-css-1ag7ge9]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:400;font-size:13px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;flex-wrap:wrap;-webkit-box-lines:multiple;-webkit-flex-wrap:wrap;}@media only screen and (max-width: 812px){.css-1ag7ge9 > a,[data-css-1ag7ge9] > a{text-align:center;}}.css-ld8qhm,[data-css-ld8qhm]{text-decoration:none;cursor:pointer;color:#c2c2c2;}.css-ld8qhm:hover,[data-css-ld8qhm]:hover{color:#068dfe;}.css-11b98zt,[data-css-11b98zt]{color:#c2c2c2;margin:0 5px 0 5px;}.css-11b98zt::after,[data-css-11b98zt]::after{content:"/";}.css-12i35kv,[data-css-12i35kv]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:400;font-size:13px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:space-between;margin:10px 0 10px 0;-webkit-box-pack:justify;-webkit-justify-content:space-between;}@media only screen and (max-width: 480px){.css-12i35kv,[data-css-12i35kv]{align-items:center;flex-direction:column;-webkit-box-align:center;-webkit-align-items:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;}}.css-1mjw833,[data-css-1mjw833]{max-width:100%;}.css-a5x1lt,[data-css-a5x1lt]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;align-items:center;-webkit-box-align:center;-webkit-align-items:center;}@media only screen and (max-width: 480px){.css-a5x1lt,[data-css-a5x1lt]{flex-direction:column;margin-bottom:15px;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;}}.css-1m5j888,[data-css-1m5j888]{height:110px;width:110px;margin-right:25px;margin-bottom:10px;border-radius:4px;border:1px solid #e1e1e1;}@media only screen and (max-width: 480px){.css-1m5j888,[data-css-1m5j888]{margin-right:0;height:70px;width:70px;}}.css-4bpmfq,[data-css-4bpmfq]{width:100%;max-width:500px;}@media only screen and (max-width: 480px){.css-4bpmfq,[data-css-4bpmfq]{text-align:center;}}.css-1pvkxrw,[data-css-1pvkxrw]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;align-items:center;-webkit-box-align:center;-webkit-align-items:center;}.css-1pvkxrw .fork,[data-css-1pvkxrw] .fork{margin-top:5px;}@media only screen and (max-width: 480px){.css-1pvkxrw,[data-css-1pvkxrw]{justify-content:center;-webkit-box-pack:center;-webkit-justify-content:center;}}.css-1cylxxa,[data-css-1cylxxa]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:600;font-size:25px;line-height:1;letter-spacing:normal;-webkit-font-smoothing:antialiased;padding:0;margin:0;color:#333;}.css-1g92dqh,[data-css-1g92dqh]{color:#707070;padding:5px 0;}.css-1cs0rzs,[data-css-1cs0rzs]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;align-items:flex-start;width:450px;-webkit-box-align:start;-webkit-align-items:flex-start;}@media only screen and (max-width: 480px){.css-1cs0rzs,[data-css-1cs0rzs]{width:100%;}}.css-1j0qgmo,[data-css-1j0qgmo]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;align-items:flex-start;width:100%;justify-content:space-between;-webkit-box-align:start;-webkit-align-items:flex-start;-webkit-box-pack:justify;-webkit-justify-content:space-between;}@media only screen and (max-width: 480px){.css-1j0qgmo,[data-css-1j0qgmo]{flex-wrap:wrap;width:100%;justify-content:center;margin:0 auto;-webkit-box-lines:multiple;-webkit-flex-wrap:wrap;-webkit-box-pack:center;-webkit-justify-content:center;}}.css-kxs423,[data-css-kxs423]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;align-items:flex-start;padding:0 8px 0 24px;margin:5px 8px 0 0;flex-direction:column;border-left:1px solid #e1e1e1;gap:9px;-webkit-box-align:start;-webkit-align-items:flex-start;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;}.css-kxs423 a,[data-css-kxs423] a, .css-kxs423 span, [data-css-kxs423] span{padding-right:8px;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;flex-wrap:nowrap;flex:2;align-items:center;-webkit-box-lines:nowrap;-webkit-flex-wrap:nowrap;-webkit-flex:2;-webkit-box-align:center;-webkit-align-items:center;}.css-kxs423 a div,[data-css-kxs423] a div, .css-kxs423 span div, [data-css-kxs423] span div{text-align:initial;display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.css-kxs423 div > span,[data-css-kxs423] div > span{width:90px;}.css-kxs423 a,[data-css-kxs423] a{text-decoration:none;}.css-kxs423 svg,[data-css-kxs423] svg{margin-right:8px;position:relative;top:2px;width:14px;height:14px;}.css-kxs423 a:first-child > svg,[data-css-kxs423] a:first-child > svg{margin-left:0;}.css-kxs423 a:nth-last-child(2),[data-css-kxs423] a:nth-last-child(2), .css-kxs423 span:nth-last-child(2), [data-css-kxs423] span:nth-last-child(2){padding-right:0;}@media only screen and (max-width: 480px){.css-kxs423,[data-css-kxs423]{width:100%;padding-right:0;display:grid;grid-template-columns:48% 48%;grid-gap:11px;-ms-grid-template-columns:48% 48%;-ms-grid-gap:11px;}.css-kxs423 a,[data-css-kxs423] a, .css-kxs423 span, [data-css-kxs423] span{padding-right:0;}.css-kxs423 a,[data-css-kxs423] a{height:40px;border:1px solid #dedede;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;align-items:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;}.css-kxs423 svg,[data-css-kxs423] svg{margin-left:0;}.css-kxs423 a:nth-last-child(2),[data-css-kxs423] a:nth-last-child(2), .css-kxs423 span:nth-last-child(2), [data-css-kxs423] span:nth-last-child(2){padding-right:0;}.css-kxs423 a:nth-last-child(2),[data-css-kxs423] a:nth-last-child(2){border-right:1px solid #dedede;}}.css-eemya1,[data-css-eemya1]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:400;font-size:12px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;color:#008FF9;}.css-eemya1 a,[data-css-eemya1] a, .css-eemya1 a:hover, [data-css-eemya1] a:hover, .css-eemya1 a:visited, [data-css-eemya1] a:visited{color:#707070;text-decoration:none;}.css-3dgua6,[data-css-3dgua6]{display:none;}@media only screen and (max-width: 480px){.css-3dgua6,[data-css-3dgua6]{display:block;}}.css-1guve57,[data-css-1guve57]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;}@media only screen and (max-width: 480px){.css-1guve57,[data-css-1guve57]{display:none;}}.css-z9c3fl,[data-css-z9c3fl]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;position:relative;}.css-i52n91,[data-css-i52n91]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:600;font-size:18px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;color:#333;margin:0;}.css-13sfqhu,[data-css-13sfqhu]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:400;font-size:13px;line-height:1.69;letter-spacing:normal;-webkit-font-smoothing:antialiased;margin-top:8px;color:#707070;}.css-12llqor,[data-css-12llqor]{width:260px;margin-left:20px;margin-bottom:25px;}.css-81jah4,[data-css-81jah4]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:center;margin:50px 0;-webkit-box-pack:center;-webkit-justify-content:center;}.css-69zjs9,[data-css-69zjs9]{background:#f7f7f7;width:100%;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:center;padding-top:68px;padding-bottom:68px;-webkit-box-pack:center;-webkit-justify-content:center;}@media only screen and (max-width: 812px){.css-69zjs9,[data-css-69zjs9]{padding-top:30px;padding-bottom:50px;}}.css-8a04gk,[data-css-8a04gk]{width:1140px;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:space-between;padding-left:20px;padding-right:20px;-webkit-box-pack:justify;-webkit-justify-content:space-between;}@media only screen and (max-width: 812px){.css-8a04gk,[data-css-8a04gk]{flex-direction:column;justify-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;}}.css-1m38k02,[data-css-1m38k02]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:400;font-size:13px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;color:#333;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;flex-direction:column;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;}@media only screen and (max-width: 812px){.css-1m38k02,[data-css-1m38k02]{text-align:center;}}.css-162qu2y,[data-css-162qu2y]{font-size:20px;font-weight:600;letter-spacing:0.4px;}.css-p797gu,[data-css-p797gu]{font-size:13px;line-height:2.07;letter-spacing:0.3px;text-decoration:none;color:#333;}.css-p797gu:hover,[data-css-p797gu]:hover{color:#068dfe;}@media only screen and (max-width: 768px){.css-p797gu,[data-css-p797gu]{font-size:14px;}}.css-jyk0kg,[data-css-jyk0kg]{position:relative;width:260px;height:100%;padding-top:30px;}.css-jyk0kg > div,[data-css-jyk0kg] > div{position:absolute;bottom:0;right:0;width:100%;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;flex-flow:column nowrap;justify-content:flex-end;align-items:stretch;margin-bottom:20px;-webkit-flex-flow:column nowrap;-webkit-box-pack:end;-webkit-justify-content:flex-end;-webkit-box-align:stretch;-webkit-align-items:stretch;}.css-jyk0kg > div > div:last-of-type > div ,[data-css-jyk0kg] > div > div:last-of-type > div {margin:0;max-width:100%;}.css-jyk0kg > div a,[data-css-jyk0kg] > div a{max-width:100%;}.css-jyk0kg > div > * + *,[data-css-jyk0kg] > div > * + *{margin-top:10px;}@media only screen and (max-width: 768px){.css-jyk0kg,[data-css-jyk0kg]{width:100%;margin:20px 0 0 0;padding:0;}}.css-4hck59,[data-css-4hck59]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-webkit-box-align:center;-webkit-align-items:center;}.css-1drwozb,[data-css-1drwozb]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;width:80%;justify-content:space-between;align-items:center;order:4;-webkit-box-pack:justify;-webkit-justify-content:space-between;-webkit-box-align:center;-webkit-align-items:center;-webkit-order:4;}@media only screen and (max-width: 480px){.css-1drwozb,[data-css-1drwozb]{margin-bottom:20px;}}.css-gbti5j,[data-css-gbti5j]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;flex-direction:column;align-items:center;position:relative;color:#707070;font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:400;font-size:13px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-webkit-box-align:center;-webkit-align-items:center;}.css-gbti5j>:first-child,[data-css-gbti5j]>:first-child{margin-bottom:5px;}.css-gbti5j>span,[data-css-gbti5j]>span{color:#333;line-height:1.22;letter-spacing:0.8px;font-weight:600;font-size:18px;}.css-1ahj942,[data-css-1ahj942]{border-left:1px solid #e1e1e1;width:1px;height:36px;}.css-1an0suy,[data-css-1an0suy]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;flex-direction:column;align-items:center;position:relative;color:#707070;font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:400;font-size:13px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;transition:color 0.6s ease-in-out;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-webkit-box-align:center;-webkit-align-items:center;-webkit-transition:color 0.6s ease-in-out;-moz-transition:color 0.6s ease-in-out;}.css-1an0suy>:first-child,[data-css-1an0suy]>:first-child{margin-bottom:5px;}.css-1an0suy>span,[data-css-1an0suy]>span{color:#333;line-height:1.22;letter-spacing:0.8px;font-weight:600;font-size:18px;}.css-1an0suy div,[data-css-1an0suy] div{position:absolute;top:-15px;right:0;left:0;text-align:center;font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:600;font-size:13px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;color:#45C57C;opacity:0;animation:none;-webkit-animation:none;}.css-1dgfc7p,[data-css-1dgfc7p]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:space-between;-webkit-box-pack:justify;-webkit-justify-content:space-between;}.css-1dgfc7p > button,[data-css-1dgfc7p] > button{width:48%;margin-right:10px;}.css-1dgfc7p > button:last-child,[data-css-1dgfc7p] > button:last-child{margin:0;}.css-14pk3xx,[data-css-14pk3xx]{height:32px;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:center;align-items:center;border-radius:2px;border:1px solid #068dfe;font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-size:13px;font-weight:400;letter-spacing:0.8px;background-color:#068dfe;color:#fff;text-decoration:none;cursor:pointer;-webkit-font-smoothing:antialiased;padding-top:0;padding-bottom:0;padding-left:8px;padding-right:8px;width:98px;outline:none;flex-grow:0;flex-shrink:0;margin-right:10px;-webkit-box-pack:center;-webkit-justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-webkit-flex-grow:0;-webkit-flex-shrink:0;}.css-14pk3xx:hover,[data-css-14pk3xx]:hover{background-color:rgba(6,141,254,0.8);border-color:rgba(6,141,254,0.79);color:#fff;}.css-1o4togz,[data-css-1o4togz]{height:32px;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:center;align-items:center;border-radius:2px;border:1px solid #068dfe;font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-size:13px;font-weight:400;letter-spacing:0.8px;background-color:#068dfe;color:#fff;text-decoration:none;cursor:pointer;-webkit-font-smoothing:antialiased;padding-top:0;padding-bottom:0;padding-left:16px;padding-right:16px;width:auto;outline:none;flex-grow:0;flex-shrink:0;-webkit-box-pack:center;-webkit-justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-webkit-flex-grow:0;-webkit-flex-shrink:0;}.css-1o4togz:hover,[data-css-1o4togz]:hover{background-color:rgba(6,141,254,0.8);border-color:rgba(6,141,254,0.79);color:#fff;}.css-12257h,[data-css-12257h]{margin:25px 0;}.css-np1rfd,[data-css-np1rfd]{width:70px;height:70px;border:1px solid #e1e1e1;border-radius:4px;}@media only screen and (max-width: 480px){.css-np1rfd,[data-css-np1rfd]{width:60px;height:60px;}}.css-1iqua1m,[data-css-1iqua1m]{height:32px;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:center;align-items:center;border-radius:2px;border:1px solid #068dfe;font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-size:13px;font-weight:400;letter-spacing:0.8px;background-color:#068dfe;color:#fff;text-decoration:none;cursor:pointer;-webkit-font-smoothing:antialiased;padding-top:0;padding-bottom:0;padding-left:16px;padding-right:16px;width:auto;outline:none;-webkit-box-pack:center;-webkit-justify-content:center;-webkit-box-align:center;-webkit-align-items:center;}.css-1iqua1m:hover,[data-css-1iqua1m]:hover{background-color:rgba(6,141,254,0.8);border-color:rgba(6,141,254,0.79);color:#fff;}.css-4gnhqq,[data-css-4gnhqq]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:space-between;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-webkit-box-align:center;-webkit-align-items:center;}.css-1ob9em9,[data-css-1ob9em9]{max-width:225px;margin:0 auto;width:100%;}.css-1ob9em9 > button,[data-css-1ob9em9] > button{width:100%;margin:auto;padding-left:16px;padding-right:16px;}.css-1mpii3w,[data-css-1mpii3w]{height:auto;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:center;align-items:center;border-radius:2px;border:1px solid #f87a46;font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-size:13px;font-weight:400;letter-spacing:0.8px;background-color:#f87a46;color:#fff;text-decoration:none;cursor:pointer;-webkit-font-smoothing:antialiased;padding-top:0;padding-bottom:0;padding-left:16px;padding-right:16px;width:auto;outline:none;line-height:20px;min-height:32px;-webkit-box-pack:center;-webkit-justify-content:center;-webkit-box-align:center;-webkit-align-items:center;}.css-1mpii3w:hover,[data-css-1mpii3w]:hover{background-color:rgba(248,122,70,0.8);border-color:rgba(248,122,70,0.8);color:#fff;}.css-uw1ldh,[data-css-uw1ldh]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:400;font-size:13px;line-height:1.7;letter-spacing:0.2px;-webkit-font-smoothing:antialiased;border-bottom:1px solid;border-color:#e1e1e1;padding:10px 0 20px 0;width:100%;}.css-xkasvz,[data-css-xkasvz]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;padding:20px 0;width:100%;}.css-atv6j6,[data-css-atv6j6]{margin-top:5px;}.css-1m8tyev,[data-css-1m8tyev]{position:relative;}.css-1m8tyev a,[data-css-1m8tyev] a{display:inline-block;}.css-1m8tyev img,[data-css-1m8tyev] img{width:31px;height:31px;border-radius:50%;}.css-1m8tyev> svg,[data-css-1m8tyev]> svg{width:31px;height:31px;}.css-1vf0ygt,[data-css-1vf0ygt]{margin-left:15px;width:100%;}.css-1vf0ygt a,[data-css-1vf0ygt] a{color:#333;}.css-1vf0ygt a:hover,[data-css-1vf0ygt] a:hover{color:#068dfe;}.css-utnqcw,[data-css-utnqcw]{font-weight:bold;font-size:14px;width:100%;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:space-between;-webkit-box-pack:justify;-webkit-justify-content:space-between;}.css-ds0hbm,[data-css-ds0hbm]{color:#4a4a4a;}.css-dg4ww9,[data-css-dg4ww9]{width:100%;margin-top:0;margin-bottom:18px;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;align-items:center;font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:400;font-size:13px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;flex-wrap:wrap;-webkit-box-align:center;-webkit-align-items:center;-webkit-box-lines:multiple;-webkit-flex-wrap:wrap;}.css-dg4ww9 > svg:first-of-type,[data-css-dg4ww9] > svg:first-of-type{margin-right:7px;}.css-dg4ww9 > a,[data-css-dg4ww9] > a{text-decoration:none;margin-right:7px;}.css-dg4ww9 > a:last-of-type,[data-css-dg4ww9] > a:last-of-type{text-decoration:none;margin-right:0;}.css-dg4ww9 > *,[data-css-dg4ww9] > *{margin-bottom:13px;}.css-dg4ww9 > a > span:last-of-type,[data-css-dg4ww9] > a > span:last-of-type{font-size:14px;}.css-z9ms26,[data-css-z9ms26]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:600;font-size:14px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;color:#2d2d2d;margin-right:7px;}.css-1pwtf47,[data-css-1pwtf47]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;flex-direction:row;align-items:center;text-decoration:none;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-webkit-box-align:center;-webkit-align-items:center;}.css-t68yd0,[data-css-t68yd0]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;position:relative;justify-content:center;align-items:center;width:22px;min-width:22px;height:22px;min-height:22px;background-color:#fff;border-radius:3.1px;border:0;-webkit-box-pack:center;-webkit-justify-content:center;-webkit-box-align:center;-webkit-align-items:center;}.css-t68yd0:hover,[data-css-t68yd0]:hover{background-color:#fff;}.css-1rz3855,[data-css-1rz3855]{border:solid 1px #c2c2c2;border-radius:3.1px;height:22px;width:22px;}.css-i6njnm,[data-css-i6njnm]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:400;font-size:13px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;margin-left:7px;color:#000;}.css-6uh2e7,[data-css-6uh2e7]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:400;font-size:14px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;color:#939393;margin-right:7px;}.css-1j2w1cg,[data-css-1j2w1cg]{cursor:pointer;text-decoration:none;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;align-items:center;margin-right:0;-webkit-box-align:center;-webkit-align-items:center;}.css-1j2w1cg > div:last-of-type,[data-css-1j2w1cg] > div:last-of-type{margin-right:0;}.css-1b2ktnx,[data-css-1b2ktnx]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:600;font-size:14px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;color:#2d2d2d;margin-right:7px;margin-left:7px;}.css-1dp4k20,[data-css-1dp4k20]{height:75px;position:relative;overflow:hidden;}.css-1dp4k20:after,[data-css-1dp4k20]:after{content:" ";position:absolute;bottom:0;left:0;width:100%;height:30px;background:-webkit-linear-gradient(to bottom, rgba(255,255,255,0), #fff 80%); background: -moz-linear-gradient(to bottom, rgba(255,255,255,0), #fff 80%); background: linear-gradient(to bottom, rgba(255,255,255,0), #fff 80%);}.css-ztg526 .topic,[data-css-ztg526] .topic,.css-ztg526 .tool,[data-css-ztg526] .tool{font-weight:normal;background:rgba(6,141,254,0.15);padding:0px 2px;}.css-ztg526 a,[data-css-ztg526] a,.css-ztg526 a:visited,[data-css-ztg526] a:visited{color:#068dfe;text-decoration:underline;cursor:pointer;}.css-ztg526 a:hover,[data-css-ztg526] a:hover,.css-ztg526 a:visited:hover,[data-css-ztg526] a:visited:hover{text-decoration:underline;}.css-ztg526 pre,[data-css-ztg526] pre{white-space:pre-wrap;word-wrap:break-word;background:#fafafa;color:#333;margin:15px 0;font-family:monospace;padding:10px;border-radius:0;}.css-ztg526 code,[data-css-ztg526] code{border-radius:0;background:#fafafa;color:#333;}.css-1srb7t4,[data-css-1srb7t4]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:400;font-size:13px;line-height:1.6666666666666667;letter-spacing:normal;-webkit-font-smoothing:antialiased;width:100%;text-align:center;text-decoration:underline;cursor:pointer;color:#333;}.css-1srb7t4:hover,[data-css-1srb7t4]:hover{color:#333;text-decoration:none;}.css-n746ki,[data-css-n746ki]{margin-top:30px;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:center;z-index:1;-webkit-box-pack:center;-webkit-justify-content:center;}.css-1v4wqws,[data-css-1v4wqws]{display:block;flex-direction:none;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:none;}.css-7c9av6,[data-css-7c9av6]{margin:0;padding:0;}.css-6nrkpz,[data-css-6nrkpz]{list-style:none;}.css-1mlbi0l,[data-css-1mlbi0l]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;align-items:center;margin-bottom:15px;flex-shrink:0;cursor:default;-webkit-box-align:center;-webkit-align-items:center;-webkit-flex-shrink:0;}.css-1mlbi0l > div:first-of-type,[data-css-1mlbi0l] > div:first-of-type{width:40px;flex-shrink:0;-webkit-flex-shrink:0;}.css-1cda8k4,[data-css-1cda8k4]{display:inline-block;border-radius:2px;cursor:pointer;background-color:#fff;border:1px solid #c2c2c2;color:#4a4a4a;}.css-2an9kq,[data-css-2an9kq]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;flex-direction:column;justify-content:center;align-items:center;padding-top:5px;padding-left:8px;padding-right:8px;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;-webkit-box-align:center;-webkit-align-items:center;}.css-5x5cr6,[data-css-5x5cr6]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-size:12px;font-weight:600;line-height:1.83;letter-spacing:0.5px;}.css-rsz8c,[data-css-rsz8c]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:400;font-size:13px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;margin-left:10px;text-decoration:none;color:#000;}.css-12alag6,[data-css-12alag6]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;align-items:center;-webkit-box-align:center;-webkit-align-items:center;}.css-1dnwvu3,[data-css-1dnwvu3]{text-decoration:none;}.css-1wr1kub,[data-css-1wr1kub]{width:100%;background:#f9f9f9;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:center;flex-direction:column;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-webkit-box-align:center;-webkit-align-items:center;}.css-1nxoxgf,[data-css-1nxoxgf]{width:100%;background:#fff;}.css-mtutfo,[data-css-mtutfo]{width:100%;height:100%;max-width:1170px;padding-left:15px;padding-right:15px;margin:0 auto;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:initial;flex-direction:column;-webkit-box-pack:initial;-webkit-justify-content:initial;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;}.css-6pc9xu,[data-css-6pc9xu]{margin-left:5px;width:15px;height:15px;}.css-1x2bey4,[data-css-1x2bey4]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:400;font-size:13px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;color:#707070;}.css-1krun48 path,[data-css-1krun48] path{fill:#068dfe;}.css-z63j1n,[data-css-z63j1n]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;width:100%;justify-content:flex-end;margin-top:40px;-webkit-box-pack:end;-webkit-justify-content:flex-end;}.css-19r489t,[data-css-19r489t]{border-bottom:2px solid #e1e1e1;width:100%;}.css-1puyxnn,[data-css-1puyxnn]{width:100%;height:100%;padding:20px 15px 0;max-width:1170px;min-height:100vh;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:initial;flex-direction:column;-webkit-box-pack:initial;-webkit-justify-content:initial;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;}.css-bjhznw,[data-css-bjhznw]{color:#333;}.css-bjhznw:hover,[data-css-bjhznw]:hover{color:#068dfe;text-decoration:underline;}.css-13u3lpy,[data-css-13u3lpy]{margin-top:20px;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:center;flex-direction:row;-webkit-box-pack:center;-webkit-justify-content:center;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;}.css-em9idi,[data-css-em9idi]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;margin-left:auto;min-width:280px;}.css-guqgrw,[data-css-guqgrw]{width:100%;}@media only screen and (max-width: 480px){.css-guqgrw,[data-css-guqgrw]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:initial;flex-direction:column;align-items:center;-webkit-box-pack:initial;-webkit-justify-content:initial;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-webkit-box-align:center;-webkit-align-items:center;}}.css-41bx4t,[data-css-41bx4t]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:600;font-size:13px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;color:#a1a1a1;text-transform:uppercase;margin-bottom:10px;}.css-83t7xw>ul>li,[data-css-83t7xw]>ul>li{width:50%;margin-bottom:30px;padding-right:30px;}@media only screen and (max-width: 480px){.css-83t7xw>ul>li,[data-css-83t7xw]>ul>li{width:100%;padding-right:0;}}.css-m7giud,[data-css-m7giud]{padding:0;max-width:860px;justify-content:space-between;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;flex-wrap:wrap;text-align:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-webkit-box-lines:multiple;-webkit-flex-wrap:wrap;}.css-1to1q1s,[data-css-1to1q1s]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:400;font-size:13px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;list-style-type:none;color:#707070;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;}.css-1to1q1s:hover,[data-css-1to1q1s]:hover{color:#068dfe;}.css-zwwro1,[data-css-zwwro1]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;flex-direction:column;margin-left:18px;justify-content:center;text-align:initial;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;}.css-1ps7r35,[data-css-1ps7r35]{font-size:12px;margin:5px 0;font-weight:600;letter-spacing:0.17px;color:#333;}.css-1w2c3xd,[data-css-1w2c3xd]{font-size:11px;overflow:hidden;margin:0;line-height:1.64;color:#707070;}.css-1w2c3xd > span,[data-css-1w2c3xd] > span{display:none;}.css-13hey0t,[data-css-13hey0t]{width:100%;padding-bottom:80px;}@media only screen and (max-width: 480px){.css-13hey0t,[data-css-13hey0t]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:initial;flex-direction:column;align-items:center;-webkit-box-pack:initial;-webkit-justify-content:initial;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-webkit-box-align:center;-webkit-align-items:center;}}.css-ua0sjh,[data-css-ua0sjh]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:600;font-size:18px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;color:#333;}@media only screen and (max-width: 768px){.css-ua0sjh,[data-css-ua0sjh]{align-self:flex-start;margin-bottom:25px;-webkit-align-self:flex-start;}}.css-8qpfeu,[data-css-8qpfeu]{width:100%;padding:25px 0;margin-bottom:20px;background:#fff;border-radius:4px;box-shadow:0 1px 0 0 #e1e1e1;border:1px solid #e1e1e1;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:initial;flex-direction:column;align-items:center;-webkit-box-pack:initial;-webkit-justify-content:initial;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-webkit-box-align:center;-webkit-align-items:center;}@media only screen and (max-width: 480px){.css-8qpfeu,[data-css-8qpfeu]{border:solid 1px #e1e1e1;border-radius:4px;box-shadow:none;margin-bottom:20px;padding:10px;padding-top:35px;}}.css-kb8or3,[data-css-kb8or3]{width:100%;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:initial;flex-direction:column;-webkit-box-pack:initial;-webkit-justify-content:initial;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;}.css-1d3wilq,[data-css-1d3wilq]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:space-between;flex-direction:row;align-items:center;width:100%;padding:0 20px;-webkit-box-pack:justify;-webkit-justify-content:space-between;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-webkit-box-align:center;-webkit-align-items:center;}@media only screen and (max-width: 480px){.css-1d3wilq,[data-css-1d3wilq]{padding:0;flex-direction:column;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;}}.css-ljm4wn,[data-css-ljm4wn]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:initial;flex-direction:row;align-items:center;-webkit-box-pack:initial;-webkit-justify-content:initial;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-webkit-box-align:center;-webkit-align-items:center;}@media only screen and (max-width: 480px){.css-ljm4wn,[data-css-ljm4wn]{flex-direction:column;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;}}.css-mwikcm,[data-css-mwikcm]{width:110px;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:center;flex-direction:row;-webkit-box-pack:center;-webkit-justify-content:center;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;}.css-1jltg37,[data-css-1jltg37]{text-decoration:none;cursor:pointer;color:#333;width:70px;height:70px;margin-right:20px;border-radius:2px;border:1px solid #e1e1e1;}.css-1jltg37:hover,[data-css-1jltg37]:hover, .css-1jltg37:focus, [data-css-1jltg37]:focus{color:#068dfe;}@media only screen and (max-width: 768px){.css-1jltg37,[data-css-1jltg37]{margin-right:initial;width:80px;height:80px;}}.css-1489hth,[data-css-1489hth]{width:68px;height:68px;}@media only screen and (max-width: 768px){.css-1489hth,[data-css-1489hth]{width:78px;height:78px;}}.css-8wh4b7,[data-css-8wh4b7]{height:100%;width:100%;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:initial;flex-direction:column;-webkit-box-pack:initial;-webkit-justify-content:initial;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;}@media only screen and (max-width: 768px){.css-8wh4b7,[data-css-8wh4b7]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:initial;flex-direction:column;align-items:center;-webkit-box-pack:initial;-webkit-justify-content:initial;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-webkit-box-align:center;-webkit-align-items:center;}}.css-pltn6z,[data-css-pltn6z]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:600;font-size:18px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;margin:0;}@media only screen and (max-width: 768px){.css-pltn6z,[data-css-pltn6z]{margin:15px auto;}}.css-1hhgtx3,[data-css-1hhgtx3]{text-decoration:none;cursor:pointer;color:#333;}.css-1hhgtx3:hover,[data-css-1hhgtx3]:hover, .css-1hhgtx3:focus, [data-css-1hhgtx3]:focus{color:#068dfe;}.css-rpzmwi,[data-css-rpzmwi]{padding:5px 0;}@media only screen and (max-width: 768px){.css-rpzmwi,[data-css-rpzmwi]{display:none;}}.css-5f7045,[data-css-5f7045]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;align-items:center;margin-right:28px;-webkit-box-align:center;-webkit-align-items:center;}.css-3k44bn,[data-css-3k44bn]{height:23px;width:23px;}.css-1qckosq,[data-css-1qckosq]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:600;font-size:13px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;fonst-size:15px;color:#333;margin-left:5px;}.css-1a4uubp,[data-css-1a4uubp]{position:relative;top:3px;}.css-q4ncy,[data-css-q4ncy]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:400;font-size:14px;line-height:1.5;letter-spacing:normal;-webkit-font-smoothing:antialiased;color:#707070;}@media only screen and (max-width: 768px){.css-q4ncy,[data-css-q4ncy]{text-align:center;margin:20px 0;}}.css-1mj0hbk,[data-css-1mj0hbk]{display:none;}@media only screen and (max-width: 768px){.css-1mj0hbk,[data-css-1mj0hbk]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;width:100%;margin-bottom:10px;}.css-1mj0hbk > div,[data-css-1mj0hbk] > div{margin:0 auto;}}.css-1dnnpo5,[data-css-1dnnpo5]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:initial;flex-direction:column;align-items:center;-webkit-box-pack:initial;-webkit-justify-content:initial;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-webkit-box-align:center;-webkit-align-items:center;}@media only screen and (max-width: 480px){.css-1dnnpo5,[data-css-1dnnpo5]{width:100%;}}.css-ubpjqb,[data-css-ubpjqb]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;width:100%;padding:10px 0;}.css-ubpjqb > button,[data-css-ubpjqb] > button{width:125px;}@media only screen and (max-width: 768px){.css-ubpjqb,[data-css-ubpjqb]{justify-content:space-between;-webkit-box-pack:justify;-webkit-justify-content:space-between;}.css-ubpjqb > button,[data-css-ubpjqb] > button{width:48%;margin:0;}}.css-gpa5xw,[data-css-gpa5xw]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:400;font-size:13px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;color:#707070;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;flex-direction:column;margin-left:0;margin-right:0;width:100%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;}.css-gpa5xw strong,[data-css-gpa5xw] strong{color:#333;}.css-gpa5xw:last-child > div,[data-css-gpa5xw]:last-child > div{margin:0;max-width:260px;}@media only screen and (max-width: 480px){.css-gpa5xw,[data-css-gpa5xw]{padding:0;box-sizing:border-box;}}@media only screen and (max-width: 812px){.css-gpa5xw > div,[data-css-gpa5xw] > div{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:center;-webkit-box-pack:center;-webkit-justify-content:center;}}@media only screen and (max-width: 768px){.css-gpa5xw:last-child > div,[data-css-gpa5xw]:last-child > div{margin:0;max-width:100%;}}.css-1erkkk4,[data-css-1erkkk4]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:400;font-size:13px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;display:grid;grid-template-columns:33% 33% 33%;margin-top:28px;margin-right:20px;margin-left:20px;-ms-grid-template-columns:33% 33% 33%;}@media only screen and (max-width: 480px){.css-1erkkk4,[data-css-1erkkk4]{display:block;margin:0;}}.css-a55l86,[data-css-a55l86]{width:100%;padding:5px;min-height:240px;}@media only screen and (max-width: 1199px){.css-a55l86,[data-css-a55l86]{border-right:none;}}@media only screen and (max-width: 768px){.css-a55l86,[data-css-a55l86]{border:0;margin-top:30px;width:auto;}}@media only screen and (max-width: 480px){.css-a55l86,[data-css-a55l86]{padding:0;}}.css-usifiy,[data-css-usifiy]{height:42px;border-radius:4px;background-color:#f8f8f8;font-size:13px;font-weight:600;line-height:1.08;letter-spacing:0.66px;color:#707070;padding-left:20px;margin-bottom:15px;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;align-items:center;-webkit-box-align:center;-webkit-align-items:center;}.css-6t66tf,[data-css-6t66tf]{margin-left:15px;}@media only screen and (max-width: 480px){.css-6t66tf,[data-css-6t66tf]{margin-left:0;}}.css-1x4ysa3,[data-css-1x4ysa3]{position:relative;overflow-y:scroll;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;flex-grow:1;height:160px;max-height:auto;flex-direction:column;flex-wrap:nowrap;-webkit-flex-grow:1;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-webkit-box-lines:nowrap;-webkit-flex-wrap:nowrap;}.css-1x4ysa3::-webkit-scrollbar,[data-css-1x4ysa3]::-webkit-scrollbar{width:4px;}.css-1x4ysa3::-webkit-scrollbar-thumb,[data-css-1x4ysa3]::-webkit-scrollbar-thumb{background:#c2c2c2;border-radius:2.5px;}.css-1x4ysa3 > div,[data-css-1x4ysa3] > div{flex-basis:unset;-webkit-flex-basis:unset;}@media only screen and (max-width: 480px){.css-1x4ysa3 > div,[data-css-1x4ysa3] > div{flex-basis:unset;-webkit-flex-basis:unset;}}.css-1bn5mmw,[data-css-1bn5mmw]{text-decoration:none;min-width:300px;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:initial;flex-direction:column;-webkit-box-pack:initial;-webkit-justify-content:initial;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;}.css-1v4bhi8,[data-css-1v4bhi8]{width:150px;margin-right:100px;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:space-between;flex-direction:row;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-webkit-box-align:center;-webkit-align-items:center;}.css-6wyd29,[data-css-6wyd29]{width:50px;height:50px;border-radius:2px;border:1px solid #e1e1e1;}.css-19dpmz,[data-css-19dpmz]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:400;font-size:11px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;color:#4a4a4a;height:21px;width:21px;box-sizing:content-box;flex-shrink:0;margin-right:5px;margin-left:5px;border-radius:50%;border:1px solid #e1e1e1;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:center;flex-direction:row;align-items:center;-webkit-flex-shrink:0;-webkit-box-pack:center;-webkit-justify-content:center;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-webkit-box-align:center;-webkit-align-items:center;}.css-v6oua5,[data-css-v6oua5]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;margin-top:15px;}.css-v6oua5 div,[data-css-v6oua5] div{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:400;font-size:14px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;color:#707070;}.css-16r6zz5,[data-css-16r6zz5]{height:25px;width:25px;margin-right:5px;}.css-16r6zz5 svg > g,[data-css-16r6zz5] svg > g{fill:#068dfe;stroke:#068dfe;}.css-f2odf3,[data-css-f2odf3]{width:100%;padding:20px 20px 0;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:initial;flex-direction:column;align-items:center;-webkit-box-pack:initial;-webkit-justify-content:initial;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-webkit-box-align:center;-webkit-align-items:center;}.css-f2odf3 > div:last-child,[data-css-f2odf3] > div:last-child{border-bottom:none;}@media only screen and (max-width: 1199px){.css-f2odf3,[data-css-f2odf3]{width:95%;}}@media only screen and (max-width: 768px){.css-f2odf3,[data-css-f2odf3]{width:93%;}}@media only screen and (max-width: 480px){.css-f2odf3,[data-css-f2odf3]{width:97%;}}.css-1m02by6,[data-css-1m02by6]{width:100%;height:42px;border-radius:4px;padding-left:10px;background:#fafafa;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:flex-start;flex-direction:row;align-items:center;-webkit-box-pack:start;-webkit-justify-content:flex-start;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-webkit-box-align:center;-webkit-align-items:center;}.css-1m02by6 h2,[data-css-1m02by6] h2{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:600;font-size:14px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;color:#707070;margin:0;text-transform:uppercase;}.css-13nf4of,[data-css-13nf4of]{margin:15px 0;border-top:solid 1px #e1e1e1;border-bottom:solid 1px #e1e1e1;padding:15px 0;}.css-13nf4of a,[data-css-13nf4of] a{color:#333;text-decoration:underline;}.css-xd3exe,[data-css-xd3exe]{margin-right:5px;}</style> <div id="ToolAlternatives-react-component-136e5630-0d03-4b43-8077-098cfa43fe02" data-ssr="true" ><div class="css-1wr1kub"><div class="css-1nxoxgf"><div class="css-mtutfo"><div class="css-f3khu"><div data-testid="breadcrumbs" class="css-1ag7ge9"><a href="/" class="css-ld8qhm">Home</a><div class="css-11b98zt"></div><a href="/application_and_data" class="css-ld8qhm">Application and Data</a><div class="css-11b98zt"></div><a href="/languages-and-frameworks" class="css-ld8qhm">Languages &amp; Frameworks</a><div class="css-11b98zt"></div><a href="/frameworks" class="css-ld8qhm">Frameworks (Full Stack)</a></div></div><div class="css-12i35kv"><div class="css-1mjw833"><div class="css-a5x1lt"><a href="http://nodejs.org/" target="_blank" rel="noopener noreferrer" title="Alternatives to Node.js website"><img src="https://img.stackshare.io/service/1011/n1JRsFeB_400x400.png" alt="Alternatives to Node.js logo" class="css-1m5j888"/></a><div class="css-4bpmfq"><div class="css-1pvkxrw"><h1 class="css-1cylxxa">Alternatives to Node.js</h1><div class="fork"><a href="https://github.com/nodejs/node" target="_blank" rel="noopener noreferrer nofollow" title="Open Source Repo of Node.js"><svg class="css-6pc9xu" xmlns="http://www.w3.org/2000/svg" width="16" height="22" viewBox="0 0 16 22"><path fill-opacity=".35" d="M12.8 0c-1.776 0-3.2 1.399-3.2 3.143 0 1.147.656 2.168 1.6 2.703v2.011L8 11 4.8 7.857V5.846c.944-.535 1.6-1.54 1.6-2.703C6.4 1.399 4.976 0 3.2 0 1.424 0 0 1.399 0 3.143 0 4.29.656 5.31 1.6 5.846v2.797l4.8 4.714v2.797c-.944.535-1.6 1.54-1.6 2.703C4.8 20.601 6.224 22 8 22c1.776 0 3.2-1.399 3.2-3.143 0-1.147-.656-2.168-1.6-2.703v-2.797l4.8-4.714V5.846c.944-.535 1.6-1.54 1.6-2.703C16 1.399 14.576 0 12.8 0zM3.2 5.029c-1.056 0-1.92-.865-1.92-1.886 0-1.022.88-1.886 1.92-1.886s1.92.864 1.92 1.886c0 1.021-.88 1.886-1.92 1.886zM8 20.743c-1.056 0-1.92-.864-1.92-1.886 0-1.021.88-1.886 1.92-1.886s1.92.865 1.92 1.886c0 1.022-.88 1.886-1.92 1.886zm4.8-15.714c-1.056 0-1.92-.865-1.92-1.886 0-1.022.88-1.886 1.92-1.886s1.92.864 1.92 1.886c0 1.021-.88 1.886-1.92 1.886z"></path></svg></a></div></div><div class="css-1g92dqh"><span class="css-1x2bey4"> AngularJS, PHP, Python, JavaScript, and React are the most popular alternatives and competitors to Node.js. </span></div></div></div></div><div class="css-1cs0rzs"><div class="css-1j0qgmo"><div class="css-kxs423"><a href="/jobs/nodejs"><svg class="css-1krun48" id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><g><path class="st0" d="M.7 16.8h28.6v1.8H.7v-1.8zm27.7.9l-.9.9v-1.8l.9.9z"></path><path class="st0" d="M4.6 6.1h20.7c2.2 0 3.9 1.8 3.9 3.9v13.6c0 2.2-1.8 3.9-3.9 3.9H4.6c-2.2 0-3.9-1.8-3.9-3.9V10c0-2.2 1.8-3.9 3.9-3.9zm0 1.8c-1.2 0-2.1 1-2.1 2.1v13.6c0 1.2 1 2.1 2.1 2.1h20.7c1.2 0 2.1-1 2.1-2.1V10c0-1.2-1-2.1-2.1-2.1H4.6z"></path><path class="st0" d="M10.5 16.8v4.3c0 1.1.9 2 2 2h5c1.1 0 2-.9 2-2v-4.3h-1.8v4.3c0 .1-.1.2-.2.2h-5c-.1 0-.2-.1-.2-.2v-4.3h-1.8zM8.8 7V4.5c0-1.1.9-2 2-2h8.6c1.1 0 2 .9 2 2V7h-1.8V4.5c0-.1-.1-.2-.2-.2h-8.6c-.1 0-.2.1-.2.2V7H8.8z"></path></g></svg> <div class="css-eemya1">View Jobs</div></a><a href="/nodejs"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="16" viewBox="0 0 15 16"><path fill="#068DFE" fill-rule="evenodd" d="M13.564 13.523c.263-.26.407-.607.407-.976 0-.368-.144-.715-.407-.975L7.516 5.906a3.076 3.076 0 0 0-.144-.131l-.235-.197.11-.286a3.265 3.265 0 0 0-.752-3.471A3.307 3.307 0 0 0 4.162.86c-.013 0-.027 0-.04.002l1.82 1.806-.783 2.459-2.472.777L.862 4.093a3.25 3.25 0 0 0 .965 2.355c.53.528 1.22.84 1.94.927a4.44 4.44 0 0 1 1.993-.486c2.467 0 4.475 1.996 4.475 4.45 0 .222-.034.434-.066.647l1.432 1.53a1.398 1.398 0 0 0 1.963.007zM5.76 14.656a3.341 3.341 0 0 0 3.268-2.631c.047-.222.073-.451.073-.686 0-.19-.025-.375-.057-.557a3.32 3.32 0 0 0-2.478-2.65 3.299 3.299 0 0 0-.806-.11c-.4 0-.78.083-1.134.21-1.284.464-2.207 1.676-2.207 3.107 0 1.829 1.498 3.317 3.34 3.317zm8.396-3.711c.44.439.677 1.002.677 1.602a2.234 2.234 0 0 1-2.244 2.236 2.26 2.26 0 0 1-1.597-.657l-1.08-1.154A4.473 4.473 0 0 1 5.76 15.79c-2.467 0-4.475-1.997-4.475-4.451 0-1.32.59-2.493 1.512-3.31a4.154 4.154 0 0 1-1.578-.97 4.114 4.114 0 0 1-1.203-3.28.753.753 0 0 1 1.279-.468l1.63 1.618 1.548-.487.488-1.531-1.626-1.614a.751.751 0 0 1 .467-1.28 4.162 4.162 0 0 1 3.3 1.194 4.126 4.126 0 0 1 1.045 4.106l6.009 5.629zm-7.97-1.96l.218.235a.517.517 0 1 1-.991.205c0-.285.231-.516.517-.516.095 0 .18.032.255.076zm-.298 1.65c.216 0 .388.173.388.387v2.319a.385.385 0 0 1-.388.386.385.385 0 0 1-.388-.386v-2.32c0-.213.172-.386.388-.386zm6.083 1.109a.675.675 0 0 1 .95 0 .663.663 0 0 1 0 .942.675.675 0 0 1-.95 0 .663.663 0 0 1 0-.942z"></path></svg> <div class="css-eemya1">Tool Profile</div></a><a rel="nofollow" href="http://twitter.com/nodejs"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="12" viewBox="0 0 14 12"><path fill="none" stroke="#49A8F9" d="M11.884 3.45c.486-.344.891-.79 1.236-1.275a5.58 5.58 0 0 1-1.439.385c.527-.304.892-.79 1.074-1.378a5.216 5.216 0 0 1-1.56.608A2.449 2.449 0 0 0 9.39 1a2.473 2.473 0 0 0-2.473 2.491c0 .183.02.385.06.567A7.08 7.08 0 0 1 1.83 1.446c-.203.384-.324.81-.324 1.255 0 .871.425 1.62 1.094 2.066a2.29 2.29 0 0 1-1.115-.304v.02a2.5 2.5 0 0 0 1.987 2.451 2.274 2.274 0 0 1-.649.081c-.162 0-.324-.02-.466-.04.304.992 1.236 1.66 2.31 1.681-.85.668-1.905 1.134-3.08 1.134-.203 0-.406-.02-.588-.04 1.094.709 2.412 1.093 3.81 1.093 4.58 0 7.074-3.787 7.074-7.068V3.45z"></path></svg> <div class="css-eemya1">nodejs</div></a><a rel="nofollow" href="http://nodejs.org/"><svg xmlns="http://www.w3.org/2000/svg" width="11" height="11" viewBox="0 0 11 11"><g fill="#49A8F9" fill-rule="evenodd"><path d="M10.5 0h-4a.5.5 0 0 0 0 1h2.793L4.146 6.146a.5.5 0 1 0 .708.708L10 1.707V4.5a.5.5 0 0 0 1 0v-4a.5.5 0 0 0-.5-.5"></path><path d="M8.5 5a.5.5 0 0 0-.5.5V10H1V3h4.5a.5.5 0 0 0 0-1h-5a.5.5 0 0 0-.5.5v8a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5"></path></g></svg> <div class="css-eemya1">nodejs.org</div></a><div class="css-3dgua6"></div></div><div class="css-1guve57"></div></div></div></div><div class="css-z63j1n"><div class="css-jyk0kg"><div><div class="css-4hck59"><div class="css-1drwozb"><div class="css-gbti5j"><label>Stacks</label><span>159.9K</span></div><div class="css-1ahj942"></div><div class="css-1an0suy"><label>Followers</label><span>134.1K</span><div>+ 1</div></div><div class="css-1ahj942"></div><div class="css-gbti5j"><label>Votes</label><span>8.5K</span></div></div></div><div class="css-1dgfc7p"><button data-testid="follow" class="css-14pk3xx"><svg width="11" height="11" viewBox="0 0 11 11" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="1.5"><path d="M5.5 0v11M0 5.5h11" fill="none" stroke="#fff"></path></svg> <!-- -->Follow</button><button data-testid="iUseThis" class="css-1o4togz"><svg width="11" height="11" viewBox="0 0 11 11" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="1.5"><path d="M5.5 0v11M0 5.5h11" fill="none" stroke="#fff"></path></svg> I use this</button></div></div></div></div></div></div><div class="css-19r489t"></div><main class="css-1puyxnn"><div class="css-z9c3fl"><div class="css-nil"><div class="css-nil"><h2 class="css-i52n91">What is Node.js and what are its top alternatives?</h2><div class="css-13sfqhu">Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.</div><div class="css-13sfqhu">Node.js<!-- --> is a tool in the <strong>Frameworks (Full Stack)</strong> category of a tech stack.</div><div class="css-13sfqhu">Node.js<!-- --> is an open source tool with <strong>92K</strong> <!-- -->GitHub stars and <strong>24.9K</strong> GitHub forks. Here’s a link to <!-- -->Node.js<!-- -->&#x27;s open source repository on<!-- --> <a href="https://github.com/nodejs/node" title="Node.js&#x27;s GitHub" class="css-bjhznw">GitHub</a></div><div class="css-13sfqhu"></div></div><div class="css-12257h"><h2 class="css-41bx4t">Top Alternatives to <!-- -->Node.js</h2><div class="css-83t7xw"><ul class="css-m7giud"><li class="css-1to1q1s"><a href="/angularjs"><img src="https://img.stackshare.io/service/1019/thumb_retina_square.png" alt="AngularJS" class="css-np1rfd"/></a><div class="css-zwwro1"><a href="/angularjs" class="css-1ps7r35">AngularJS</a><p class="css-1w2c3xd">AngularJS lets you write client-side web applications as if you had a smarter <span>browser. It lets you use good old HTML (or HAML, Jade and friends!) as your template language and lets you extend HTML’s syntax to express your application’s components clearly and succinctly. It automatically synchronizes data from your UI (view) with your JavaScript objects (model) through 2-way data binding. </span>...</p></div></li><li class="css-1to1q1s"><a href="/php"><img src="https://img.stackshare.io/service/991/thumb_retina_hwUcGZ41_400x400.jpg" alt="PHP" class="css-np1rfd"/></a><div class="css-zwwro1"><a href="/php" class="css-1ps7r35">PHP</a><p class="css-1w2c3xd">Fast, flexible and pragmatic, PHP powers everything from your blog to the most <span>popular websites in the world. </span>...</p></div></li><li class="css-1to1q1s"><a href="/python"><img src="https://img.stackshare.io/service/993/thumb_retina_pUBY5pVj.png" alt="Python" class="css-np1rfd"/></a><div class="css-zwwro1"><a href="/python" class="css-1ps7r35">Python</a><p class="css-1w2c3xd">Python is a general purpose programming language created by Guido Van Rossum. <span>Python is most praised for its elegant syntax and readable code, if you are just beginning your programming career python suits you best. </span>...</p></div></li><li class="css-1to1q1s"><a href="/javascript"><img src="https://img.stackshare.io/service/1209/thumb_retina_javascript.jpeg" alt="JavaScript" class="css-np1rfd"/></a><div class="css-zwwro1"><a href="/javascript" class="css-1ps7r35">JavaScript</a><p class="css-1w2c3xd">JavaScript is most known as the scripting language for Web pages, but used in <span>many non-browser environments as well such as node.js or Apache CouchDB. It is a prototype-based, multi-paradigm scripting language that is dynamic,and supports object-oriented, imperative, and functional programming styles. </span>...</p></div></li><li class="css-1to1q1s"><a href="/react"><img src="https://img.stackshare.io/service/1020/thumb_retina_OYIaJ1KK.png" alt="React" class="css-np1rfd"/></a><div class="css-zwwro1"><a href="/react" class="css-1ps7r35">React</a><p class="css-1w2c3xd">Lots of people use React as the V in MVC. Since React makes no assumptions about <span>the rest of your technology stack, it&#x27;s easy to try it out on a small feature in an existing project. </span>...</p></div></li><li class="css-1to1q1s"><a href="/django"><img src="https://img.stackshare.io/service/994/thumb_retina_4aGjtNQv.png" alt="Django" class="css-np1rfd"/></a><div class="css-zwwro1"><a href="/django" class="css-1ps7r35">Django</a><p class="css-1w2c3xd">Django is a high-level Python Web framework that encourages rapid development <span>and clean, pragmatic design. </span>...</p></div></li><li class="css-1to1q1s"><a href="/asp-net"><img src="https://img.stackshare.io/service/6755/thumb_retina_2c45151a4a11d3a3c8e71bb34dd069d6_400x400.png" alt="ASP.NET" class="css-np1rfd"/></a><div class="css-zwwro1"><a href="/asp-net" class="css-1ps7r35">ASP.NET</a><p class="css-1w2c3xd">.NET is a developer platform made up of tools, programming languages, and libraries <span>for building many different types of applications. </span>...</p></div></li><li class="css-1to1q1s"><a href="/java"><img src="https://img.stackshare.io/service/995/thumb_retina_K85ZWV2F.png" alt="Java" class="css-np1rfd"/></a><div class="css-zwwro1"><a href="/java" class="css-1ps7r35">Java</a><p class="css-1w2c3xd">Java is a programming language and computing platform first released by Sun <span>Microsystems in 1995. There are lots of applications and websites that will not work unless you have Java installed, and more are created every day. Java is fast, secure, and reliable. From laptops to datacenters, game consoles to scientific supercomputers, cell phones to the Internet, Java is everywhere! </span>...</p></div></li></ul><div class="css-n746ki"></div></div><div class="css-13u3lpy"><button class="css-1iqua1m">Sign up to see more</button></div></div></div><aside class="css-em9idi"><div class="css-12llqor"><div class="css-81jah4"></div></div></aside></div><div class="css-guqgrw"><div class="css-13hey0t"><h3 class="css-ua0sjh">Node.js alternatives &amp; related posts</h3><div class="css-8qpfeu"><div class="css-kb8or3"><div class="css-1d3wilq"><div class="css-ljm4wn"><div class="css-mwikcm"><a href="/angularjs" class="css-1jltg37"><img src="https://img.stackshare.io/service/1019/thumb_retina_square.png" alt="AngularJS logo" class="css-1489hth"/></a></div><div class="css-8wh4b7"><h2 class="css-pltn6z"><a href="/angularjs" class="css-1hhgtx3">AngularJS</a></h2><div class="css-rpzmwi"><div class="css-12alag6"><div class="css-5f7045"><div class="css-3k44bn"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><g fill="#A1A1A1" stroke="#A1A1A1" stroke-width=".2"><path fill-rule="evenodd" d="M20.467 21.867a2.415 2.415 0 0 1-2.318-1.74h-2.192l-.012.008-2.615-4.499h-1.598a2.415 2.415 0 1 1 0-1.35h1.641l-.058-.034 2.63-4.526.022.013h2.172a2.415 2.415 0 1 1 0 1.35h-1.424l-2.23 3.838-.002.003.001.004 2.234 3.843h1.431a2.415 2.415 0 1 1 2.318 3.09zm-.01-10.184a1.27 1.27 0 1 0-1.244-1.515v.492a1.27 1.27 0 0 0 1.244 1.023zm-11.043 2.01a1.268 1.268 0 1 0 0 2.537 1.268 1.268 0 0 0 0-2.537zm11.053 4.491a1.27 1.27 0 0 0-1.244 1.022v.493a1.27 1.27 0 0 0 1.244 1.022 1.27 1.27 0 0 0 0-2.537z"></path></g></svg></div><div class="css-1qckosq">56.7K</div></div><div class="css-5f7045"><div class="css-3k44bn"><svg class="css-1a4uubp" xmlns="http://www.w3.org/2000/svg" width="20" height="17" viewBox="0 0 20 17"><path fill="#A09F9F" fill-rule="evenodd" stroke="#999" stroke-width=".2" d="M14.432 12.715l2.348-2.746a.415.415 0 0 1 .607-.038.47.47 0 0 1 .028.646l-2.64 3.09a.419.419 0 0 1-.3.15h-.014a.414.414 0 0 1-.3-.127l-1.498-1.516a.466.466 0 0 1-.014-.637.413.413 0 0 1 .606-.015l1.177 1.193zm-3.165-.868a3.749 3.749 0 0 0 3.744 3.745 3.749 3.749 0 0 0 3.744-3.745 3.749 3.749 0 0 0-3.744-3.745 3.749 3.749 0 0 0-3.744 3.745zm2.001-4.195a4.523 4.523 0 0 1 1.743-.35 4.55 4.55 0 0 1 4.545 4.545 4.55 4.55 0 0 1-4.545 4.545 4.55 4.55 0 0 1-4.545-4.545 4.53 4.53 0 0 1 1.91-3.688c-.026-.013-.045-.029-.045-.054V5.837c0-.159.08-.308.207-.395a.588.588 0 0 0 .254-.487V2.6c0-.907-.721-1.64-1.602-1.64h-.494c-.886 0-1.603.738-1.603 1.64v2.355c0 .192.095.376.255.487a.47.47 0 0 1 .207.395v2.268a.588.588 0 0 1-.32.526c-.288.145-1.791.921-3.181 2.089a.66.66 0 0 0-.235.511v1.612a.456.456 0 0 1-.458.473.47.47 0 0 1-.466-.478v-1.612c0-.487.207-.94.575-1.249.153-.129.307-.253.461-.373V7.21a.5.5 0 0 1 .214-.41.352.352 0 0 0 .156-.296V4.618c0-.666-.525-1.206-1.172-1.206h-.394c-.646 0-1.166.54-1.166 1.201v1.886c0 .121.058.231.155.296.136.09.214.245.214.41v1.817c0 .225-.121.42-.316.52a13.83 13.83 0 0 0-2.513 1.662.421.421 0 0 0-.146.325v1.291a.487.487 0 0 1-.481.496A.487.487 0 0 1 0 12.82v-1.291c0-.425.18-.821.501-1.091.967-.821 2.003-1.411 2.479-1.667V7.435a1.368 1.368 0 0 1-.369-.936V4.613c0-1.211.958-2.192 2.129-2.192h.394c1.177 0 2.129.986 2.129 2.192v1.886c0 .356-.136.686-.369.936V8.91a19.344 19.344 0 0 1 1.733-1.037V6.059a1.557 1.557 0 0 1-.462-1.109V2.595C8.165 1.162 9.305 0 10.7 0h.495c1.399 0 2.535 1.167 2.535 2.595V4.95c0 .424-.17.82-.462 1.109v1.593z"></path></svg></div><div class="css-1qckosq">39.1K</div></div><div class="css-5f7045"><div class="css-3k44bn"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><path fill="#A1A1A1" stroke="#A1A1A1" stroke-width=".2" d="M23.42 15.403c.855-.864.59-2.612-.892-2.612l-3.903.002c.148-.837.363-2.226.354-2.357-.082-1.242-.863-2.754-.896-2.815-.143-.27-.862-.634-1.586-.478-.935.203-1.03.808-1.027.975 0 0 .04 1.655.044 2.097-.447.996-1.99 3.613-2.457 3.815a.706.706 0 0 0-.37-.105H7.755A.76.76 0 0 0 7 14.69v6.908a.72.72 0 0 0 .71.665h4.43a.718.718 0 0 0 .711-.722v-.23s.165-.012.24.037c.285.183.636.414 1.095.414h6.61c2.47 0 2.205-2.224 1.98-2.527.417-.46.675-1.273.323-1.915.27-.29.746-1.09.32-1.917zM11.986 21.54H7.71v-6.894h4.278v6.894zm10.28-6.196l-.041.17c1.138.329.532 1.659-.284 1.745l-.04.17c1.091.282.57 1.652-.285 1.745l-.04.17c.891.149.675 1.691-.675 1.691l-6.722.003c-.475 0-.907-.549-1.257-.549h-.304v-5.306c.38-.239.846-.549 1.106-.772.49-.424 2.497-3.71 2.497-4.122 0-.412-.045-2.191-.045-2.191s.394-.514 1.272-.14c0 0 .74 1.406.815 2.526 0 0-.333 2.307-.512 3.03h4.66c1.146.002.927 1.659-.146 1.83z"></path></svg></div><div class="css-1qckosq">5.2K</div></div></div></div><div class="css-q4ncy">Superheroic JavaScript MVW Framework</div><div class="css-1mj0hbk"><div class="css-1drwozb"><div class="css-gbti5j"><label>Stacks</label><span>56.7K</span></div><div class="css-1ahj942"></div><div class="css-1an0suy"><label>Followers</label><span>39.1K</span><div>+ 1</div></div><div class="css-1ahj942"></div><div class="css-gbti5j"><label>Votes</label><span>5.2K</span></div></div></div></div></div><div class="css-1dnnpo5"><div class="css-ubpjqb"><button data-testid="follow" class="css-14pk3xx"><svg width="11" height="11" viewBox="0 0 11 11" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="1.5"><path d="M5.5 0v11M0 5.5h11" fill="none" stroke="#fff"></path></svg> <!-- -->Follow</button><button data-testid="iUseThis" class="css-1o4togz"><svg width="11" height="11" viewBox="0 0 11 11" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="1.5"><path d="M5.5 0v11M0 5.5h11" fill="none" stroke="#fff"></path></svg> I use this</button></div><div class="css-gpa5xw"><div class="css-1ob9em9"><button class="css-1mpii3w">LogRocket integrates with AngularJS</button></div></div></div></div><div class="css-1erkkk4"><div class="css-a55l86"><div class="css-usifiy">PROS OF <!-- -->ANGULARJS</div><div class="css-6t66tf"><div class="css-nil"><div class="css-1v4wqws"><div class="css-nil"><div class="css-1x4ysa3"><h2 hidden="" class="css-nil"></h2><ul class="css-7c9av6"><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">889</span></div></div><span class="css-rsz8c">Quick to develop</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">588</span></div></div><span class="css-rsz8c">Great mvc</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">572</span></div></div><span class="css-rsz8c">Powerful</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">521</span></div></div><span class="css-rsz8c">Restful</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">503</span></div></div><span class="css-rsz8c">Backed by google</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">349</span></div></div><span class="css-rsz8c">Two-way data binding</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">343</span></div></div><span class="css-rsz8c">Javascript</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">328</span></div></div><span class="css-rsz8c">Open source</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">306</span></div></div><span class="css-rsz8c">Dependency injection</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">197</span></div></div><span class="css-rsz8c">Readable</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">75</span></div></div><span class="css-rsz8c">Fast</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">64</span></div></div><span class="css-rsz8c">Directives</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">63</span></div></div><span class="css-rsz8c">Great community </span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">56</span></div></div><span class="css-rsz8c">Free</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">38</span></div></div><span class="css-rsz8c">Extend html vocabulary</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">29</span></div></div><span class="css-rsz8c">Components</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">26</span></div></div><span class="css-rsz8c">Easy to test</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">24</span></div></div><span class="css-rsz8c">Easy to learn</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">23</span></div></div><span class="css-rsz8c">Easy to templates</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">23</span></div></div><span class="css-rsz8c">Great documentation </span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">21</span></div></div><span class="css-rsz8c">Easy to start</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">18</span></div></div><span class="css-rsz8c">Awesome</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">17</span></div></div><span class="css-rsz8c">Light weight </span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">14</span></div></div><span class="css-rsz8c">Javascript mvw framework</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">14</span></div></div><span class="css-rsz8c">Angular 2.0</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">13</span></div></div><span class="css-rsz8c">Great extensions</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">13</span></div></div><span class="css-rsz8c">Efficient</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">10</span></div></div><span class="css-rsz8c">Easy to prototype with</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">8</span></div></div><span class="css-rsz8c">Coffeescript</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">8</span></div></div><span class="css-rsz8c">High performance</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">7</span></div></div><span class="css-rsz8c">Mvc</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">7</span></div></div><span class="css-rsz8c">Two-way binding</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">7</span></div></div><span class="css-rsz8c">Lots of community modules </span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">6</span></div></div><span class="css-rsz8c">Clean and keeps code readable</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">6</span></div></div><span class="css-rsz8c">Easy to e2e</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">5</span></div></div><span class="css-rsz8c">One of the best frameworks</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">5</span></div></div><span class="css-rsz8c">Easy for small applications</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">4</span></div></div><span class="css-rsz8c">Fast development</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">4</span></div></div><span class="css-rsz8c">Works great with jquery</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">3</span></div></div><span class="css-rsz8c">I do not touch DOM</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">2</span></div></div><span class="css-rsz8c">The two-way Data Binding is awesome</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">2</span></div></div><span class="css-rsz8c">Typescript</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">2</span></div></div><span class="css-rsz8c">Dart</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">2</span></div></div><span class="css-rsz8c">Community</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">2</span></div></div><span class="css-rsz8c">Hierarchical Data Structure</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">2</span></div></div><span class="css-rsz8c">Be a developer, not a plumber. </span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">2</span></div></div><span class="css-rsz8c">Declarative programming</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">1</span></div></div><span class="css-rsz8c">Common Place</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">1</span></div></div><span class="css-rsz8c">Great </span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">1</span></div></div><span class="css-rsz8c">Very very useful and fast framework for development</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">1</span></div></div><span class="css-rsz8c">Amazing community support</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">1</span></div></div><span class="css-rsz8c">Readable code</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">1</span></div></div><span class="css-rsz8c">Linear learning curve</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">1</span></div></div><span class="css-rsz8c">Scopes</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">1</span></div></div><span class="css-rsz8c">Programming fun again</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">1</span></div></div><span class="css-rsz8c">The powerful of binding, routing and controlling routes</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">1</span></div></div><span class="css-rsz8c">Consistency with backend architecture if using Nest</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">1</span></div></div><span class="css-rsz8c">Fkin awesome</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">1</span></div></div><span class="css-rsz8c">Opinionated in the right areas</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">1</span></div></div><span class="css-rsz8c">Supports api , easy development</span></div></li></ul></div></div></div></div></div></div><div class="css-a55l86"><div class="css-usifiy">CONS OF <!-- -->ANGULARJS</div><div class="css-6t66tf"><div class="css-nil"><div class="css-1v4wqws"><div class="css-nil"><div class="css-1x4ysa3"><h2 hidden="" class="css-nil"></h2><ul class="css-7c9av6"><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">10</span></div></div><span class="css-rsz8c">Complex</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">3</span></div></div><span class="css-rsz8c">Dependency injection</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">2</span></div></div><span class="css-rsz8c">Learning Curve</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">2</span></div></div><span class="css-rsz8c">Event Listener Overload</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">1</span></div></div><span class="css-rsz8c">Hard to learn</span></div></li></ul></div></div></div></div></div></div><div class="css-a55l86"><div class="css-usifiy">COMPARE</div><div class="css-6t66tf"><div class="css-1bn5mmw"><a href="/stackups/angularjs-vs-nodejs" class="css-1dnwvu3"><div class="css-1v4bhi8"><img src="https://img.stackshare.io/service/1019/thumb_retina_square.png" alt="AngularJS logo" class="css-6wyd29"/><div class="css-19dpmz">VS</div><img src="https://img.stackshare.io/service/1011/thumb_retina_n1JRsFeB_400x400.png" alt="Node.js logo" class="css-6wyd29"/></div><div class="css-v6oua5"><div class="css-16r6zz5"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><g fill="#A1A1A1" stroke="#A1A1A1" stroke-width=".2"><path d="M13.626 18.015l.511-.81a.405.405 0 0 0-.136-.565.422.422 0 0 0-.576.133l-.51.81c-.927 1.469-2.25 2.312-3.632 2.312H7.416a.412.412 0 1 0 0 .823h1.87c1.68-.007 3.26-.99 4.34-2.703zm9.944-7.882l-2.023-1.99a.42.42 0 0 0-.59 0 .403.403 0 0 0 0 .578l1.316 1.291h-1.939c-1.676 0-3.26.984-4.34 2.697l-.314.498a.405.405 0 0 0 .137.566.42.42 0 0 0 .572-.134l.313-.499c.927-1.468 2.249-2.308 3.632-2.308h1.936l-1.315 1.291a.403.403 0 0 0 0 .579c.082.08.188.12.297.12a.42.42 0 0 0 .296-.12l2.027-1.99a.406.406 0 0 0-.003-.58zm-.862.34v-.04l.02.02-.02.02z"></path><path d="M20.954 22.581c.082.08.188.12.297.12a.42.42 0 0 0 .296-.12l2.027-1.99a.403.403 0 0 0 0-.58l-2.027-1.986a.42.42 0 0 0-.59 0 .403.403 0 0 0 0 .578l1.316 1.292h-1.877c-1.38 0-2.706-.843-3.632-2.312L13.69 12.71c-1.08-1.716-2.664-2.697-4.34-2.697H7.416a.412.412 0 1 0 0 .823h1.931c1.38 0 2.705.843 3.632 2.309l3.073 4.874c1.08 1.716 2.664 2.7 4.34 2.7h1.877l-1.315 1.291a.4.4 0 0 0 0 .572zm1.754-2.265l.02.02-.02.02v-.04z"></path></g></svg></div><div>Compare AngularJS vs Node.js</div></div></a></div></div></div></div></div><div class="css-f2odf3"><div class="css-1m02by6"><h2>related AngularJS posts</h2></div><div class="css-uw1ldh"><div class="css-4gnhqq"><div class="css-xkasvz"><div class="css-atv6j6"><div class="css-1m8tyev"><div class="lazyload-wrapper"><div class="lazyload-placeholder"></div></div></div></div><div class="css-1vf0ygt"><div class="css-utnqcw"><div>Simon Reymann</div></div><div class="css-ds0hbm">Senior Fullstack Developer<!-- --> at QUANTUSflow Software GmbH<!-- --> · <a href="/zimoony/decisions/104048439203281692" class="css-nil"><time>Apr 23, 2020</time> <!-- -->| 26 upvotes · 3.2M views</a></div></div></div></div><div class="css-nil"><div class="css-dg4ww9"><svg xmlns="http://www.w3.org/2000/svg" width="21" height="21" viewBox="0 0 21 21"><g fill="none" fill-rule="evenodd"><path fill="#068DFE" fill-rule="nonzero" d="M20.918 19.017l-1.442-4.195a10.3 10.3 0 0 0 1.062-4.537 10.208 10.208 0 0 0-2.949-7.207A10.199 10.199 0 0 0 10.436 0a10.23 10.23 0 0 0-7.428 3.006A10.228 10.228 0 0 0 0 10.437a10.199 10.199 0 0 0 3.077 7.153 10.207 10.207 0 0 0 7.191 2.95h.016a10.3 10.3 0 0 0 4.537-1.063l4.195 1.442a1.485 1.485 0 0 0 1.543-.357c.408-.408.545-.999.358-1.544z"></path><rect width="7" height="1.8" x="6" y="5" fill="#FFF" rx=".9"></rect><rect width="10" height="1.8" x="6" y="9" fill="#FFF" rx=".9"></rect><rect width="7" height="1.8" x="6" y="13" fill="#FFF" rx=".9"></rect></g></svg><div class="css-z9ms26">Shared insights</div><div class="css-6uh2e7">on</div><a href="/postman" class="css-1pwtf47"><span title="Postman" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1336/xWMRvm_5_400x400.png" alt="Postman" class="css-1rz3855"/></span><span class="css-i6njnm">Postman</span></a><a href="/vue-js" class="css-1pwtf47"><span title="Vue.js" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/3837/paeckCWC.png" alt="Vue.js" class="css-1rz3855"/></span><span class="css-i6njnm">Vue.js</span></a><a href="/angularjs" class="css-1pwtf47"><span title="AngularJS" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1019/square.png" alt="AngularJS" class="css-1rz3855"/></span><span class="css-i6njnm">AngularJS</span></a><a href="/react" class="css-1pwtf47"><span title="React" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1020/OYIaJ1KK.png" alt="React" class="css-1rz3855"/></span><span class="css-i6njnm">React</span></a><a href="/yarn" class="css-1pwtf47"><span title="Yarn" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/5848/44mC-kJ3.jpg" alt="Yarn" class="css-1rz3855"/></span><span class="css-i6njnm">Yarn</span></a><a href="/javascript" class="css-1pwtf47"><span title="JavaScript" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1209/javascript.jpeg" alt="JavaScript" class="css-1rz3855"/></span><span class="css-i6njnm">JavaScript</span></a><a href="/php" class="css-1pwtf47"><span title="PHP" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/991/hwUcGZ41_400x400.jpg" alt="PHP" class="css-1rz3855"/></span><span class="css-i6njnm">PHP</span></a><a href="/json-web-token" class="css-1pwtf47"><span title="JSON Web Token" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/6417/jwt-icon.png" alt="JSON Web Token" class="css-1rz3855"/></span><span class="css-i6njnm">JSON Web Token</span></a><a href="/typeorm" class="css-1pwtf47"><span title="TypeORM" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/7419/20165699.png" alt="TypeORM" class="css-1rz3855"/></span><span class="css-i6njnm">TypeORM</span></a><a href="/swagger-ui" class="css-1pwtf47"><span title="Swagger UI" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/3417/pIea9Ji0.png" alt="Swagger UI" class="css-1rz3855"/></span><span class="css-i6njnm">Swagger UI</span></a><a href="/expressjs" class="css-1pwtf47"><span title="ExpressJS" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1163/hashtag.png" alt="ExpressJS" class="css-1rz3855"/></span><span class="css-i6njnm">ExpressJS</span></a><a href="/typescript" class="css-1pwtf47"><span title="TypeScript" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1612/bynNY5dJ.jpg" alt="TypeScript" class="css-1rz3855"/></span><span class="css-i6njnm">TypeScript</span></a><a href="/nestjs" class="css-1pwtf47"><span title="NestJS" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/8747/4zsOyxko_400x400.jpg" alt="NestJS" class="css-1rz3855"/></span><span class="css-i6njnm">NestJS</span></a><a href="/npm" class="css-1pwtf47"><span title="npm" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1120/lejvzrnlpb308aftn31u.png" alt="npm" class="css-1rz3855"/></span><span class="css-i6njnm">npm</span></a><a href="/lerna" class="css-1pwtf47"><span title="Lerna" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/6207/OwqAUSQi_400x400.jpg" alt="Lerna" class="css-1rz3855"/></span><span class="css-i6njnm">Lerna</span></a><a href="/nodejs" class="css-1pwtf47"><span title="Node.js" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1011/n1JRsFeB_400x400.png" alt="Node.js" class="css-1rz3855"/></span><span class="css-i6njnm">Node.js</span></a><div class="css-6uh2e7">at</div><a itemscope="" itemType="http://schema.org/Organization" itemProp="url" href="/companies/quantusflow-software-gmbh" target="_blank" class="css-1j2w1cg"><div class="lazyload-wrapper"><div class="lazyload-placeholder"></div></div><div itemProp="name" class="css-1b2ktnx">QUANTUSflow Software GmbH</div></a></div><div class="css-1dp4k20"><div class="css-ztg526"><p>Our whole <span class="tool">Node.js</span> backend stack consists of the following tools:</p> <ul> <li><span class="tool">Lerna</span> as a tool for multi package and multi repository management</li> <li><span class="tool">npm</span> as package manager</li> <li><span class="tool">NestJS</span> as <span class="tool">Node.js</span> framework</li> <li><span class="tool">TypeScript</span> as programming language</li> <li><span class="tool">ExpressJS</span> as web server</li> <li><span class="tool">Swagger UI</span> for visualizing and interacting with the API’s resources</li> <li><span class="tool">Postman</span> as a tool for API development</li> <li><span class="tool">TypeORM</span> as object relational mapping layer</li> <li><span class="tool">JSON Web Token</span> for access token management</li> </ul> <p>The main reason we have chosen <span class="tool">Node.js</span> over <span class="tool">PHP</span> is related to the following artifacts:</p> <ul> <li> <strong>Made for the web and widely in use:</strong> <span class="tool">Node.js</span> is a software platform for developing server-side network services. Well-known projects that rely on <span class="tool">Node.js</span> include the blogging software Ghost, the project management tool Trello and the operating system WebOS. <span class="tool">Node.js</span> requires the <span class="tool">JavaScript</span> runtime environment V8, which was specially developed by Google for the popular Chrome browser. This guarantees a very resource-saving architecture, which qualifies <span class="tool">Node.js</span> especially for the operation of a web server. Ryan Dahl, the developer of <span class="tool">Node.js</span>, released the first stable version on May 27, 2009. He developed <span class="tool">Node.js</span> out of dissatisfaction with the possibilities that <span class="tool">JavaScript</span> offered at the time. The basic functionality of <span class="tool">Node.js</span> has been mapped with <span class="tool">JavaScript</span> since the first version, which can be expanded with a large number of different modules. The current package managers (<span class="tool">npm</span> or <span class="tool">Yarn</span>) for <span class="tool">Node.js</span> know more than 1,000,000 of these modules.</li> <li> <strong>Fast server-side solutions:</strong> <span class="tool">Node.js</span> adopts the JavaScript "event-loop" to create non-blocking I/O applications that conveniently serve simultaneous events. With the standard available asynchronous processing within <span class="tool">JavaScript</span>/<span class="tool">TypeScript</span>, highly scalable, server-side solutions can be realized. The efficient use of the CPU and the RAM is maximized and more simultaneous requests can be processed than with conventional multi-thread servers.</li> <li> <strong>A language along the entire stack:</strong> Widely used frameworks such as <span class="tool">React</span> or <span class="tool">AngularJS</span> or <span class="tool">Vue.js</span>, which we prefer, are written in <span class="tool">JavaScript</span>/<span class="tool">TypeScript</span>. If <span class="tool">Node.js</span> is now used on the server side, you can use all the advantages of a uniform script language throughout the entire application development. The same language in the back- and frontend simplifies the maintenance of the application and also the coordination within the development team.</li> <li> <strong>Flexibility:</strong> <span class="tool">Node.js</span> sets very few strict dependencies, rules and guidelines and thus grants a high degree of flexibility in application development. There are no strict conventions so that the appropriate architecture, design structures, modules and features can be freely selected for the development.</li> </ul></div></div></div><a class="css-1srb7t4">See more</a></div><div class="css-uw1ldh"><div class="css-4gnhqq"><div class="css-xkasvz"><div class="css-atv6j6"><div class="css-1m8tyev"><div class="lazyload-wrapper"><div class="lazyload-placeholder"></div></div></div></div><div class="css-1vf0ygt"><div class="css-utnqcw"><div>Simon Reymann</div></div><div class="css-ds0hbm">Senior Fullstack Developer<!-- --> at QUANTUSflow Software GmbH<!-- --> · <a href="/zimoony/decisions/104044015201141207" class="css-nil"><time>Apr 22, 2020</time> <!-- -->| 22 upvotes · 1.7M views</a></div></div></div></div><div class="css-nil"><div class="css-dg4ww9"><svg xmlns="http://www.w3.org/2000/svg" width="21" height="21" viewBox="0 0 21 21"><g fill="none" fill-rule="evenodd"><path fill="#068DFE" fill-rule="nonzero" d="M20.918 19.017l-1.442-4.195a10.3 10.3 0 0 0 1.062-4.537 10.208 10.208 0 0 0-2.949-7.207A10.199 10.199 0 0 0 10.436 0a10.23 10.23 0 0 0-7.428 3.006A10.228 10.228 0 0 0 0 10.437a10.199 10.199 0 0 0 3.077 7.153 10.207 10.207 0 0 0 7.191 2.95h.016a10.3 10.3 0 0 0 4.537-1.063l4.195 1.442a1.485 1.485 0 0 0 1.543-.357c.408-.408.545-.999.358-1.544z"></path><rect width="7" height="1.8" x="6" y="5" fill="#FFF" rx=".9"></rect><rect width="10" height="1.8" x="6" y="9" fill="#FFF" rx=".9"></rect><rect width="7" height="1.8" x="6" y="13" fill="#FFF" rx=".9"></rect></g></svg><div class="css-z9ms26">Shared insights</div><div class="css-6uh2e7">on</div><a href="/vuetify" class="css-1pwtf47"><span title="Vuetify" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/6163/PzNbCwXH.jpg" alt="Vuetify" class="css-1rz3855"/></span><span class="css-i6njnm">Vuetify</span></a><a href="/angularjs" class="css-1pwtf47"><span title="AngularJS" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1019/square.png" alt="AngularJS" class="css-1rz3855"/></span><span class="css-i6njnm">AngularJS</span></a><a href="/react" class="css-1pwtf47"><span title="React" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1020/OYIaJ1KK.png" alt="React" class="css-1rz3855"/></span><span class="css-i6njnm">React</span></a><a href="/nativescript-vue" class="css-1pwtf47"><span title="NativeScript-Vue" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/9623/ci6NdW-m_400x400.jpg" alt="NativeScript-Vue" class="css-1rz3855"/></span><span class="css-i6njnm">NativeScript-Vue</span></a><a href="/font-awesome" class="css-1pwtf47"><span title="Font Awesome" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/3244/1_Mr1Fy00XjPGNf1Kkp_hWtw_2x.png" alt="Font Awesome" class="css-1rz3855"/></span><span class="css-i6njnm">Font Awesome</span></a><a href="/google-fonts" class="css-1pwtf47"><span title="Google Fonts" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/2652/default_807a8795f01fb7baf530cbd7909552eb9d14094a.jpg" alt="Google Fonts" class="css-1rz3855"/></span><span class="css-i6njnm">Google Fonts</span></a><a href="/jest" class="css-1pwtf47"><span title="Jest" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/830/jest.png" alt="Jest" class="css-1rz3855"/></span><span class="css-i6njnm">Jest</span></a><a href="/prettier" class="css-1pwtf47"><span title="Prettier" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/7035/default_66f265943abed56bcdbfca1c866a4261b1fbb063.jpg" alt="Prettier" class="css-1rz3855"/></span><span class="css-i6njnm">Prettier</span></a><a href="/tslint" class="css-1pwtf47"><span title="TSLint" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/5561/303157.png" alt="TSLint" class="css-1rz3855"/></span><span class="css-i6njnm">TSLint</span></a><a href="/eslint" class="css-1pwtf47"><span title="ESLint" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/3337/Q4L7Jncy.jpg" alt="ESLint" class="css-1rz3855"/></span><span class="css-i6njnm">ESLint</span></a><a href="/graphiql" class="css-1pwtf47"><span title="GraphiQL" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/7879/GraphiQL.png" alt="GraphiQL" class="css-1rz3855"/></span><span class="css-i6njnm">GraphiQL</span></a><a href="/graphql" class="css-1pwtf47"><span title="GraphQL" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/3820/12972006.png" alt="GraphQL" class="css-1rz3855"/></span><span class="css-i6njnm">GraphQL</span></a><a href="/apollo" class="css-1pwtf47"><span title="Apollo" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/5508/CyUH653y.png" alt="Apollo" class="css-1rz3855"/></span><span class="css-i6njnm">Apollo</span></a><a href="/typescript" class="css-1pwtf47"><span title="TypeScript" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1612/bynNY5dJ.jpg" alt="TypeScript" class="css-1rz3855"/></span><span class="css-i6njnm">TypeScript</span></a><a href="/javascript" class="css-1pwtf47"><span title="JavaScript" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1209/javascript.jpeg" alt="JavaScript" class="css-1rz3855"/></span><span class="css-i6njnm">JavaScript</span></a><a href="/babel" class="css-1pwtf47"><span title="Babel" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/2739/-1wfGjNw.png" alt="Babel" class="css-1rz3855"/></span><span class="css-i6njnm">Babel</span></a><a href="/css-3" class="css-1pwtf47"><span title="CSS 3" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/6727/css.png" alt="CSS 3" class="css-1rz3855"/></span><span class="css-i6njnm">CSS 3</span></a><a href="/html5" class="css-1pwtf47"><span title="HTML5" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/2538/kEpgHiC9.png" alt="HTML5" class="css-1rz3855"/></span><span class="css-i6njnm">HTML5</span></a><a href="/sass" class="css-1pwtf47"><span title="Sass" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1171/jCR2zNJV.png" alt="Sass" class="css-1rz3855"/></span><span class="css-i6njnm">Sass</span></a><a href="/webpack" class="css-1pwtf47"><span title="Webpack" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1682/IMG_4636.PNG" alt="Webpack" class="css-1rz3855"/></span><span class="css-i6njnm">Webpack</span></a><a href="/vuex" class="css-1pwtf47"><span title="vuex" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/6705/6128107.png" alt="vuex" class="css-1rz3855"/></span><span class="css-i6njnm">vuex</span></a><a href="/vue-router" class="css-1pwtf47"><span title="Vue Router" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/6932/upM71pVR_400x400.jpg" alt="Vue Router" class="css-1rz3855"/></span><span class="css-i6njnm">Vue Router</span></a><a href="/vue-cli" class="css-1pwtf47"><span title="Vue CLI" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/9559/upM71pVR_400x400.jpg" alt="Vue CLI" class="css-1rz3855"/></span><span class="css-i6njnm">Vue CLI</span></a><a href="/nuxt" class="css-1pwtf47"><span title="Nuxt.js" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/7304/23360933.png" alt="Nuxt.js" class="css-1rz3855"/></span><span class="css-i6njnm">Nuxt.js</span></a><a href="/vue-js" class="css-1pwtf47"><span title="Vue.js" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/3837/paeckCWC.png" alt="Vue.js" class="css-1rz3855"/></span><span class="css-i6njnm">Vue.js</span></a><div class="css-6uh2e7">at</div><a itemscope="" itemType="http://schema.org/Organization" itemProp="url" href="/companies/quantusflow-software-gmbh" target="_blank" class="css-1j2w1cg"><div class="lazyload-wrapper"><div class="lazyload-placeholder"></div></div><div itemProp="name" class="css-1b2ktnx">QUANTUSflow Software GmbH</div></a></div><div class="css-1dp4k20"><div class="css-ztg526"><p>Our whole <span class="tool">Vue.js</span> frontend stack (incl. SSR) consists of the following tools:</p> <ul> <li><span class="tool">Nuxt.js</span> consisting of <span class="tool">Vue CLI</span>, <span class="tool">Vue Router</span>, <span class="tool">vuex</span>, <span class="tool">Webpack</span> and <span class="tool">Sass</span> (Bundler for <span class="tool">HTML5</span>, <span class="tool">CSS 3</span>), <span class="tool">Babel</span> (Transpiler for <span class="tool">JavaScript</span>), </li> <li>Vue Styleguidist as our style guide and pool of developed <span class="tool">Vue.js</span> components</li> <li><span class="tool">Vuetify</span> as Material Component Framework (for fast app development)</li> <li><span class="tool">TypeScript</span> as programming language</li> <li><span class="tool">Apollo</span> / <span class="tool">GraphQL</span> (incl. <span class="tool">GraphiQL</span>) for data access layer (<a href="https://apollo.vuejs.org/" rel="nofollow noopener" target="_blank">https://apollo.vuejs.org/</a>)</li> <li><span class="tool">ESLint</span>, <span class="tool">TSLint</span> and <span class="tool">Prettier</span> for coding style and code analyzes</li> <li><span class="tool">Jest</span> as testing framework</li> <li><span class="tool">Google Fonts</span> and <span class="tool">Font Awesome</span> for typography and icon toolkit</li> <li><span class="tool">NativeScript-Vue</span> for mobile development</li> </ul> <p>The main reason we have chosen <span class="tool">Vue.js</span> over <span class="tool">React</span> and <span class="tool">AngularJS</span> is related to the following artifacts:</p> <ul> <li>Empowered HTML. Vue.js has many similar approaches with Angular. This helps to optimize HTML blocks handling with the use of different components.</li> <li>Detailed documentation. Vue.js has very good documentation which can fasten learning curve for developers.</li> <li>Adaptability. It provides a rapid switching period from other frameworks. It has similarities with Angular and React in terms of design and architecture.</li> <li>Awesome integration. Vue.js can be used for both building single-page applications and more difficult web interfaces of apps. Smaller interactive parts can be easily integrated into the existing infrastructure with no negative effect on the entire system.</li> <li>Large scaling. Vue.js can help to develop pretty large reusable templates.</li> <li>Tiny size. Vue.js weights around 20KB keeping its speed and flexibility. It allows reaching much better performance in comparison to other frameworks.</li> </ul></div></div></div><a class="css-1srb7t4">See more</a></div></div></div><div class="css-8qpfeu"><div class="css-kb8or3"><div class="css-1d3wilq"><div class="css-ljm4wn"><div class="css-mwikcm"><a href="/php" class="css-1jltg37"><img src="https://img.stackshare.io/service/991/thumb_retina_hwUcGZ41_400x400.jpg" alt="PHP logo" class="css-1489hth"/></a></div><div class="css-8wh4b7"><h2 class="css-pltn6z"><a href="/php" class="css-1hhgtx3">PHP</a></h2><div class="css-rpzmwi"><div class="css-12alag6"><div class="css-5f7045"><div class="css-3k44bn"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><g fill="#A1A1A1" stroke="#A1A1A1" stroke-width=".2"><path fill-rule="evenodd" d="M20.467 21.867a2.415 2.415 0 0 1-2.318-1.74h-2.192l-.012.008-2.615-4.499h-1.598a2.415 2.415 0 1 1 0-1.35h1.641l-.058-.034 2.63-4.526.022.013h2.172a2.415 2.415 0 1 1 0 1.35h-1.424l-2.23 3.838-.002.003.001.004 2.234 3.843h1.431a2.415 2.415 0 1 1 2.318 3.09zm-.01-10.184a1.27 1.27 0 1 0-1.244-1.515v.492a1.27 1.27 0 0 0 1.244 1.023zm-11.043 2.01a1.268 1.268 0 1 0 0 2.537 1.268 1.268 0 0 0 0-2.537zm11.053 4.491a1.27 1.27 0 0 0-1.244 1.022v.493a1.27 1.27 0 0 0 1.244 1.022 1.27 1.27 0 0 0 0-2.537z"></path></g></svg></div><div class="css-1qckosq">127.8K</div></div><div class="css-5f7045"><div class="css-3k44bn"><svg class="css-1a4uubp" xmlns="http://www.w3.org/2000/svg" width="20" height="17" viewBox="0 0 20 17"><path fill="#A09F9F" fill-rule="evenodd" stroke="#999" stroke-width=".2" d="M14.432 12.715l2.348-2.746a.415.415 0 0 1 .607-.038.47.47 0 0 1 .028.646l-2.64 3.09a.419.419 0 0 1-.3.15h-.014a.414.414 0 0 1-.3-.127l-1.498-1.516a.466.466 0 0 1-.014-.637.413.413 0 0 1 .606-.015l1.177 1.193zm-3.165-.868a3.749 3.749 0 0 0 3.744 3.745 3.749 3.749 0 0 0 3.744-3.745 3.749 3.749 0 0 0-3.744-3.745 3.749 3.749 0 0 0-3.744 3.745zm2.001-4.195a4.523 4.523 0 0 1 1.743-.35 4.55 4.55 0 0 1 4.545 4.545 4.55 4.55 0 0 1-4.545 4.545 4.55 4.55 0 0 1-4.545-4.545 4.53 4.53 0 0 1 1.91-3.688c-.026-.013-.045-.029-.045-.054V5.837c0-.159.08-.308.207-.395a.588.588 0 0 0 .254-.487V2.6c0-.907-.721-1.64-1.602-1.64h-.494c-.886 0-1.603.738-1.603 1.64v2.355c0 .192.095.376.255.487a.47.47 0 0 1 .207.395v2.268a.588.588 0 0 1-.32.526c-.288.145-1.791.921-3.181 2.089a.66.66 0 0 0-.235.511v1.612a.456.456 0 0 1-.458.473.47.47 0 0 1-.466-.478v-1.612c0-.487.207-.94.575-1.249.153-.129.307-.253.461-.373V7.21a.5.5 0 0 1 .214-.41.352.352 0 0 0 .156-.296V4.618c0-.666-.525-1.206-1.172-1.206h-.394c-.646 0-1.166.54-1.166 1.201v1.886c0 .121.058.231.155.296.136.09.214.245.214.41v1.817c0 .225-.121.42-.316.52a13.83 13.83 0 0 0-2.513 1.662.421.421 0 0 0-.146.325v1.291a.487.487 0 0 1-.481.496A.487.487 0 0 1 0 12.82v-1.291c0-.425.18-.821.501-1.091.967-.821 2.003-1.411 2.479-1.667V7.435a1.368 1.368 0 0 1-.369-.936V4.613c0-1.211.958-2.192 2.129-2.192h.394c1.177 0 2.129.986 2.129 2.192v1.886c0 .356-.136.686-.369.936V8.91a19.344 19.344 0 0 1 1.733-1.037V6.059a1.557 1.557 0 0 1-.462-1.109V2.595C8.165 1.162 9.305 0 10.7 0h.495c1.399 0 2.535 1.167 2.535 2.595V4.95c0 .424-.17.82-.462 1.109v1.593z"></path></svg></div><div class="css-1qckosq">70K</div></div><div class="css-5f7045"><div class="css-3k44bn"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><path fill="#A1A1A1" stroke="#A1A1A1" stroke-width=".2" d="M23.42 15.403c.855-.864.59-2.612-.892-2.612l-3.903.002c.148-.837.363-2.226.354-2.357-.082-1.242-.863-2.754-.896-2.815-.143-.27-.862-.634-1.586-.478-.935.203-1.03.808-1.027.975 0 0 .04 1.655.044 2.097-.447.996-1.99 3.613-2.457 3.815a.706.706 0 0 0-.37-.105H7.755A.76.76 0 0 0 7 14.69v6.908a.72.72 0 0 0 .71.665h4.43a.718.718 0 0 0 .711-.722v-.23s.165-.012.24.037c.285.183.636.414 1.095.414h6.61c2.47 0 2.205-2.224 1.98-2.527.417-.46.675-1.273.323-1.915.27-.29.746-1.09.32-1.917zM11.986 21.54H7.71v-6.894h4.278v6.894zm10.28-6.196l-.041.17c1.138.329.532 1.659-.284 1.745l-.04.17c1.091.282.57 1.652-.285 1.745l-.04.17c.891.149.675 1.691-.675 1.691l-6.722.003c-.475 0-.907-.549-1.257-.549h-.304v-5.306c.38-.239.846-.549 1.106-.772.49-.424 2.497-3.71 2.497-4.122 0-.412-.045-2.191-.045-2.191s.394-.514 1.272-.14c0 0 .74 1.406.815 2.526 0 0-.333 2.307-.512 3.03h4.66c1.146.002.927 1.659-.146 1.83z"></path></svg></div><div class="css-1qckosq">4.6K</div></div></div></div><div class="css-q4ncy">A popular general-purpose scripting language that is especially suited to web development</div><div class="css-1mj0hbk"><div class="css-1drwozb"><div class="css-gbti5j"><label>Stacks</label><span>127.8K</span></div><div class="css-1ahj942"></div><div class="css-1an0suy"><label>Followers</label><span>70K</span><div>+ 1</div></div><div class="css-1ahj942"></div><div class="css-gbti5j"><label>Votes</label><span>4.6K</span></div></div></div></div></div><div class="css-1dnnpo5"><div class="css-ubpjqb"><button data-testid="follow" class="css-14pk3xx"><svg width="11" height="11" viewBox="0 0 11 11" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="1.5"><path d="M5.5 0v11M0 5.5h11" fill="none" stroke="#fff"></path></svg> <!-- -->Follow</button><button data-testid="iUseThis" class="css-1o4togz"><svg width="11" height="11" viewBox="0 0 11 11" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="1.5"><path d="M5.5 0v11M0 5.5h11" fill="none" stroke="#fff"></path></svg> I use this</button></div><div class="css-gpa5xw"><div class="css-1ob9em9"><button class="css-1mpii3w">Monitor PHP errors &amp; performance with Sentry</button></div></div></div></div><div class="css-1erkkk4"><div class="css-a55l86"><div class="css-usifiy">PROS OF <!-- -->PHP</div><div class="css-6t66tf"><div class="css-nil"><div class="css-1v4wqws"><div class="css-nil"><div class="css-1x4ysa3"><h2 hidden="" class="css-nil"></h2><ul class="css-7c9av6"><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">948</span></div></div><span class="css-rsz8c">Large community</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">813</span></div></div><span class="css-rsz8c">Open source</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">763</span></div></div><span class="css-rsz8c">Easy deployment</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">484</span></div></div><span class="css-rsz8c">Great frameworks</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">384</span></div></div><span class="css-rsz8c">The best glue on the web</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">234</span></div></div><span class="css-rsz8c">Continual improvements</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">183</span></div></div><span class="css-rsz8c">Good old web</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">145</span></div></div><span class="css-rsz8c">Web foundation</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">134</span></div></div><span class="css-rsz8c">Community packages</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">124</span></div></div><span class="css-rsz8c">Tool support</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">35</span></div></div><span class="css-rsz8c">Used by wordpress</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">33</span></div></div><span class="css-rsz8c">Excellent documentation</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">28</span></div></div><span class="css-rsz8c">Used by Facebook</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">23</span></div></div><span class="css-rsz8c">Because of Symfony</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">21</span></div></div><span class="css-rsz8c">Dynamic Language</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">16</span></div></div><span class="css-rsz8c">Cheap hosting</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">15</span></div></div><span class="css-rsz8c">Easy to learn</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">14</span></div></div><span class="css-rsz8c">Awesome Language and easy to implement</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">14</span></div></div><span class="css-rsz8c">Very powerful web language</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">14</span></div></div><span class="css-rsz8c">Fast development</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">12</span></div></div><span class="css-rsz8c">Composer</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">11</span></div></div><span class="css-rsz8c">Flexibility, syntax, extensibility</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">10</span></div></div><span class="css-rsz8c">Because of Laravel</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">8</span></div></div><span class="css-rsz8c">Easiest deployment</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">7</span></div></div><span class="css-rsz8c">Fast</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">7</span></div></div><span class="css-rsz8c">Readable Code</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">7</span></div></div><span class="css-rsz8c">Worst popularity quality ratio</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">7</span></div></div><span class="css-rsz8c">Short development lead times</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">7</span></div></div><span class="css-rsz8c">Fastestest Time to Version 1.0 Deployments</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">6</span></div></div><span class="css-rsz8c">Most of the web uses it</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">6</span></div></div><span class="css-rsz8c">Faster then ever</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">5</span></div></div><span class="css-rsz8c">Open source and large community</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">5</span></div></div><span class="css-rsz8c">Simple, flexible yet Scalable</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">4</span></div></div><span class="css-rsz8c">Open source and great framework</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">4</span></div></div><span class="css-rsz8c">Has the best ecommerce(Magento,Prestashop,Opencart,etc)</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">4</span></div></div><span class="css-rsz8c">Is like one zip of air</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">4</span></div></div><span class="css-rsz8c">Large community, easy setup, easy deployment, framework</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">4</span></div></div><span class="css-rsz8c">Easy to use and learn</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">4</span></div></div><span class="css-rsz8c">Cheap to own</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">4</span></div></div><span class="css-rsz8c">Easy to learn, a big community, lot of frameworks</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">4</span></div></div><span class="css-rsz8c">I have no choice :(</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">3</span></div></div><span class="css-rsz8c">Great developer experience</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">2</span></div></div><span class="css-rsz8c">Great flexibility. From fast prototyping to large apps</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">2</span></div></div><span class="css-rsz8c">Interpreted at the run time</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">2</span></div></div><span class="css-rsz8c">FFI</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">2</span></div></div><span class="css-rsz8c">Safe the planet</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">2</span></div></div><span class="css-rsz8c">Hard not to use</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">2</span></div></div><span class="css-rsz8c">Used by STOMT</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">2</span></div></div><span class="css-rsz8c">Walk away</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">2</span></div></div><span class="css-rsz8c">Fault tolerance</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">1</span></div></div><span class="css-rsz8c">Simplesaml</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">1</span></div></div><span class="css-rsz8c">Secure</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">0</span></div></div><span class="css-rsz8c">Secure</span></div></li></ul></div></div></div></div></div></div><div class="css-a55l86"><div class="css-usifiy">CONS OF <!-- -->PHP</div><div class="css-6t66tf"><div class="css-nil"><div class="css-1v4wqws"><div class="css-nil"><div class="css-1x4ysa3"><h2 hidden="" class="css-nil"></h2><ul class="css-7c9av6"><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">20</span></div></div><span class="css-rsz8c">So easy to learn, good practices are hard to find</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">16</span></div></div><span class="css-rsz8c">Inconsistent API</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">8</span></div></div><span class="css-rsz8c">Fragmented community</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">5</span></div></div><span class="css-rsz8c">Not secure</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">2</span></div></div><span class="css-rsz8c">No routing system</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">1</span></div></div><span class="css-rsz8c">Hard to debug</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">1</span></div></div><span class="css-rsz8c">Old</span></div></li></ul></div></div></div></div></div></div><div class="css-a55l86"><div class="css-usifiy">COMPARE</div><div class="css-6t66tf"><div class="css-1bn5mmw"><a href="/stackups/php-vs-nodejs" class="css-1dnwvu3"><div class="css-1v4bhi8"><img src="https://img.stackshare.io/service/991/thumb_retina_hwUcGZ41_400x400.jpg" alt="PHP logo" class="css-6wyd29"/><div class="css-19dpmz">VS</div><img src="https://img.stackshare.io/service/1011/thumb_retina_n1JRsFeB_400x400.png" alt="Node.js logo" class="css-6wyd29"/></div><div class="css-v6oua5"><div class="css-16r6zz5"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><g fill="#A1A1A1" stroke="#A1A1A1" stroke-width=".2"><path d="M13.626 18.015l.511-.81a.405.405 0 0 0-.136-.565.422.422 0 0 0-.576.133l-.51.81c-.927 1.469-2.25 2.312-3.632 2.312H7.416a.412.412 0 1 0 0 .823h1.87c1.68-.007 3.26-.99 4.34-2.703zm9.944-7.882l-2.023-1.99a.42.42 0 0 0-.59 0 .403.403 0 0 0 0 .578l1.316 1.291h-1.939c-1.676 0-3.26.984-4.34 2.697l-.314.498a.405.405 0 0 0 .137.566.42.42 0 0 0 .572-.134l.313-.499c.927-1.468 2.249-2.308 3.632-2.308h1.936l-1.315 1.291a.403.403 0 0 0 0 .579c.082.08.188.12.297.12a.42.42 0 0 0 .296-.12l2.027-1.99a.406.406 0 0 0-.003-.58zm-.862.34v-.04l.02.02-.02.02z"></path><path d="M20.954 22.581c.082.08.188.12.297.12a.42.42 0 0 0 .296-.12l2.027-1.99a.403.403 0 0 0 0-.58l-2.027-1.986a.42.42 0 0 0-.59 0 .403.403 0 0 0 0 .578l1.316 1.292h-1.877c-1.38 0-2.706-.843-3.632-2.312L13.69 12.71c-1.08-1.716-2.664-2.697-4.34-2.697H7.416a.412.412 0 1 0 0 .823h1.931c1.38 0 2.705.843 3.632 2.309l3.073 4.874c1.08 1.716 2.664 2.7 4.34 2.7h1.877l-1.315 1.291a.4.4 0 0 0 0 .572zm1.754-2.265l.02.02-.02.02v-.04z"></path></g></svg></div><div>Compare PHP vs Node.js</div></div></a></div></div></div></div></div><div class="css-f2odf3"><div class="css-1m02by6"><h2>related PHP posts</h2></div><div class="css-uw1ldh"><div class="css-4gnhqq"><div class="css-xkasvz"><div class="css-atv6j6"><div class="css-1m8tyev"><div class="lazyload-wrapper"><div class="lazyload-placeholder"></div></div></div></div><div class="css-1vf0ygt"><div class="css-utnqcw"><div>Nick Rockwell</div></div><div class="css-ds0hbm">SVP, Engineering<!-- --> at Fastly<!-- --> · <a href="/nsrockwell/decisions/101031322436242738" class="css-nil"><time>Sep 24, 2018</time> <!-- -->| 44 upvotes · 2.2M views</a></div></div></div></div><div class="css-nil"><div class="css-dg4ww9"><svg xmlns="http://www.w3.org/2000/svg" width="21" height="21" viewBox="0 0 21 21"><g fill="none" fill-rule="evenodd"><path fill="#068DFE" fill-rule="nonzero" d="M20.918 19.017l-1.442-4.195a10.3 10.3 0 0 0 1.062-4.537 10.208 10.208 0 0 0-2.949-7.207A10.199 10.199 0 0 0 10.436 0a10.23 10.23 0 0 0-7.428 3.006A10.228 10.228 0 0 0 0 10.437a10.199 10.199 0 0 0 3.077 7.153 10.207 10.207 0 0 0 7.191 2.95h.016a10.3 10.3 0 0 0 4.537-1.063l4.195 1.442a1.485 1.485 0 0 0 1.543-.357c.408-.408.545-.999.358-1.544z"></path><rect width="7" height="1.8" x="6" y="5" fill="#FFF" rx=".9"></rect><rect width="10" height="1.8" x="6" y="9" fill="#FFF" rx=".9"></rect><rect width="7" height="1.8" x="6" y="13" fill="#FFF" rx=".9"></rect></g></svg><div class="css-z9ms26">Shared insights</div><div class="css-6uh2e7">on</div><a href="/mysql" class="css-1pwtf47"><span title="MySQL" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1025/logo-mysql-170x170.png" alt="MySQL" class="css-1rz3855"/></span><span class="css-i6njnm">MySQL</span></a><a href="/php" class="css-1pwtf47"><span title="PHP" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/991/hwUcGZ41_400x400.jpg" alt="PHP" class="css-1rz3855"/></span><span class="css-i6njnm">PHP</span></a><a href="/react" class="css-1pwtf47"><span title="React" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1020/OYIaJ1KK.png" alt="React" class="css-1rz3855"/></span><span class="css-i6njnm">React</span></a><a href="/apollo" class="css-1pwtf47"><span title="Apollo" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/5508/CyUH653y.png" alt="Apollo" class="css-1rz3855"/></span><span class="css-i6njnm">Apollo</span></a><a href="/graphql" class="css-1pwtf47"><span title="GraphQL" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/3820/12972006.png" alt="GraphQL" class="css-1rz3855"/></span><span class="css-i6njnm">GraphQL</span></a><a href="/nodejs" class="css-1pwtf47"><span title="Node.js" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1011/n1JRsFeB_400x400.png" alt="Node.js" class="css-1rz3855"/></span><span class="css-i6njnm">Node.js</span></a><a href="/kafka" class="css-1pwtf47"><span title="Kafka" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1063/kazUJooF_400x400.jpg" alt="Kafka" class="css-1rz3855"/></span><span class="css-i6njnm">Kafka</span></a><a href="/apache-http-server" class="css-1pwtf47"><span title="Apache HTTP Server" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1051/default_9e444e0d6cc9f4f55f1b86979900673af4de46aa.png" alt="Apache HTTP Server" class="css-1rz3855"/></span><span class="css-i6njnm">Apache HTTP Server</span></a><div class="css-6uh2e7">at</div><a itemscope="" itemType="http://schema.org/Organization" itemProp="url" href="/companies/the-new-york-times" target="_blank" class="css-1j2w1cg"><div class="lazyload-wrapper"><div class="lazyload-placeholder"></div></div><div itemProp="name" class="css-1b2ktnx">The New York Times</div></a></div><div class="css-1dp4k20"><div class="css-ztg526"><p>When I joined NYT there was already broad dissatisfaction with the LAMP (Linux <span class="tool">Apache HTTP Server</span> <span class="tool">MySQL</span> <span class="tool">PHP</span>) Stack and the front end framework, in particular. So, I wasn't passing judgment on it. I mean, LAMP's fine, you can do good work in LAMP. It's a little dated at this point, but it's not ... I didn't want to rip it out for its own sake, but everyone else was like, "We don't like this, it's really inflexible." And I remember from being outside the company when that was called MIT FIVE when it had launched. And been observing it from the outside, and I was like, you guys took so long to do that and you did it so carefully, and yet you're not happy with your decisions. Why is that? That was more the impetus. If we're going to do this again, how are we going to do it in a way that we're gonna get a better result?</p> <p>So we're moving quickly away from LAMP, I would say. So, right now, the new front end is <span class="tool">React</span> based and using <span class="tool">Apollo</span>. And we've been in a long, protracted, gradual rollout of the core experiences.</p> <p>React is now talking to <span class="tool">GraphQL</span> as a primary API. There's a <span class="tool">Node.js</span> back end, to the front end, which is mainly for server-side rendering, as well.</p> <p>Behind there, the main repository for the GraphQL server is a big table repository, that we call Bodega because it's a convenience store. And that reads off of a <span class="tool">Kafka</span> pipeline.</p></div><div class="css-13nf4of"><svg class="css-xd3exe" xmlns="http://www.w3.org/2000/svg" width="11" height="11" viewBox="0 0 11 11"><g fill="#49A8F9" fill-rule="evenodd"><path d="M10.5 0h-4a.5.5 0 0 0 0 1h2.793L4.146 6.146a.5.5 0 1 0 .708.708L10 1.707V4.5a.5.5 0 0 0 1 0v-4a.5.5 0 0 0-.5-.5"></path><path d="M8.5 5a.5.5 0 0 0-.5.5V10H1V3h4.5a.5.5 0 0 0 0-1h-5a.5.5 0 0 0-.5.5v8a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5"></path></g></svg><a href="https://stackshare.io/posts/evolution-of-new-york-times-tech-stack" title="The Evolution of The New York Times Tech Stack | StackShare" class="css-nil">The Evolution of The New York Times Tech Stack | StackShare</a></div></div></div><a class="css-1srb7t4">See more</a></div><div class="css-uw1ldh"><div class="css-4gnhqq"><div class="css-xkasvz"><div class="css-atv6j6"><div class="css-1m8tyev"><div class="lazyload-wrapper"><div class="lazyload-placeholder"></div></div></div></div><div class="css-1vf0ygt"><div class="css-utnqcw"><div>Simon Reymann</div></div><div class="css-ds0hbm">Senior Fullstack Developer<!-- --> at QUANTUSflow Software GmbH<!-- --> · <a href="/zimoony/decisions/104048439203281692" class="css-nil"><time>Apr 23, 2020</time> <!-- -->| 26 upvotes · 3.2M views</a></div></div></div></div><div class="css-nil"><div class="css-dg4ww9"><svg xmlns="http://www.w3.org/2000/svg" width="21" height="21" viewBox="0 0 21 21"><g fill="none" fill-rule="evenodd"><path fill="#068DFE" fill-rule="nonzero" d="M20.918 19.017l-1.442-4.195a10.3 10.3 0 0 0 1.062-4.537 10.208 10.208 0 0 0-2.949-7.207A10.199 10.199 0 0 0 10.436 0a10.23 10.23 0 0 0-7.428 3.006A10.228 10.228 0 0 0 0 10.437a10.199 10.199 0 0 0 3.077 7.153 10.207 10.207 0 0 0 7.191 2.95h.016a10.3 10.3 0 0 0 4.537-1.063l4.195 1.442a1.485 1.485 0 0 0 1.543-.357c.408-.408.545-.999.358-1.544z"></path><rect width="7" height="1.8" x="6" y="5" fill="#FFF" rx=".9"></rect><rect width="10" height="1.8" x="6" y="9" fill="#FFF" rx=".9"></rect><rect width="7" height="1.8" x="6" y="13" fill="#FFF" rx=".9"></rect></g></svg><div class="css-z9ms26">Shared insights</div><div class="css-6uh2e7">on</div><a href="/postman" class="css-1pwtf47"><span title="Postman" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1336/xWMRvm_5_400x400.png" alt="Postman" class="css-1rz3855"/></span><span class="css-i6njnm">Postman</span></a><a href="/vue-js" class="css-1pwtf47"><span title="Vue.js" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/3837/paeckCWC.png" alt="Vue.js" class="css-1rz3855"/></span><span class="css-i6njnm">Vue.js</span></a><a href="/angularjs" class="css-1pwtf47"><span title="AngularJS" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1019/square.png" alt="AngularJS" class="css-1rz3855"/></span><span class="css-i6njnm">AngularJS</span></a><a href="/react" class="css-1pwtf47"><span title="React" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1020/OYIaJ1KK.png" alt="React" class="css-1rz3855"/></span><span class="css-i6njnm">React</span></a><a href="/yarn" class="css-1pwtf47"><span title="Yarn" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/5848/44mC-kJ3.jpg" alt="Yarn" class="css-1rz3855"/></span><span class="css-i6njnm">Yarn</span></a><a href="/javascript" class="css-1pwtf47"><span title="JavaScript" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1209/javascript.jpeg" alt="JavaScript" class="css-1rz3855"/></span><span class="css-i6njnm">JavaScript</span></a><a href="/php" class="css-1pwtf47"><span title="PHP" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/991/hwUcGZ41_400x400.jpg" alt="PHP" class="css-1rz3855"/></span><span class="css-i6njnm">PHP</span></a><a href="/json-web-token" class="css-1pwtf47"><span title="JSON Web Token" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/6417/jwt-icon.png" alt="JSON Web Token" class="css-1rz3855"/></span><span class="css-i6njnm">JSON Web Token</span></a><a href="/typeorm" class="css-1pwtf47"><span title="TypeORM" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/7419/20165699.png" alt="TypeORM" class="css-1rz3855"/></span><span class="css-i6njnm">TypeORM</span></a><a href="/swagger-ui" class="css-1pwtf47"><span title="Swagger UI" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/3417/pIea9Ji0.png" alt="Swagger UI" class="css-1rz3855"/></span><span class="css-i6njnm">Swagger UI</span></a><a href="/expressjs" class="css-1pwtf47"><span title="ExpressJS" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1163/hashtag.png" alt="ExpressJS" class="css-1rz3855"/></span><span class="css-i6njnm">ExpressJS</span></a><a href="/typescript" class="css-1pwtf47"><span title="TypeScript" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1612/bynNY5dJ.jpg" alt="TypeScript" class="css-1rz3855"/></span><span class="css-i6njnm">TypeScript</span></a><a href="/nestjs" class="css-1pwtf47"><span title="NestJS" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/8747/4zsOyxko_400x400.jpg" alt="NestJS" class="css-1rz3855"/></span><span class="css-i6njnm">NestJS</span></a><a href="/npm" class="css-1pwtf47"><span title="npm" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1120/lejvzrnlpb308aftn31u.png" alt="npm" class="css-1rz3855"/></span><span class="css-i6njnm">npm</span></a><a href="/lerna" class="css-1pwtf47"><span title="Lerna" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/6207/OwqAUSQi_400x400.jpg" alt="Lerna" class="css-1rz3855"/></span><span class="css-i6njnm">Lerna</span></a><a href="/nodejs" class="css-1pwtf47"><span title="Node.js" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1011/n1JRsFeB_400x400.png" alt="Node.js" class="css-1rz3855"/></span><span class="css-i6njnm">Node.js</span></a><div class="css-6uh2e7">at</div><a itemscope="" itemType="http://schema.org/Organization" itemProp="url" href="/companies/quantusflow-software-gmbh" target="_blank" class="css-1j2w1cg"><div class="lazyload-wrapper"><div class="lazyload-placeholder"></div></div><div itemProp="name" class="css-1b2ktnx">QUANTUSflow Software GmbH</div></a></div><div class="css-1dp4k20"><div class="css-ztg526"><p>Our whole <span class="tool">Node.js</span> backend stack consists of the following tools:</p> <ul> <li><span class="tool">Lerna</span> as a tool for multi package and multi repository management</li> <li><span class="tool">npm</span> as package manager</li> <li><span class="tool">NestJS</span> as <span class="tool">Node.js</span> framework</li> <li><span class="tool">TypeScript</span> as programming language</li> <li><span class="tool">ExpressJS</span> as web server</li> <li><span class="tool">Swagger UI</span> for visualizing and interacting with the API’s resources</li> <li><span class="tool">Postman</span> as a tool for API development</li> <li><span class="tool">TypeORM</span> as object relational mapping layer</li> <li><span class="tool">JSON Web Token</span> for access token management</li> </ul> <p>The main reason we have chosen <span class="tool">Node.js</span> over <span class="tool">PHP</span> is related to the following artifacts:</p> <ul> <li> <strong>Made for the web and widely in use:</strong> <span class="tool">Node.js</span> is a software platform for developing server-side network services. Well-known projects that rely on <span class="tool">Node.js</span> include the blogging software Ghost, the project management tool Trello and the operating system WebOS. <span class="tool">Node.js</span> requires the <span class="tool">JavaScript</span> runtime environment V8, which was specially developed by Google for the popular Chrome browser. This guarantees a very resource-saving architecture, which qualifies <span class="tool">Node.js</span> especially for the operation of a web server. Ryan Dahl, the developer of <span class="tool">Node.js</span>, released the first stable version on May 27, 2009. He developed <span class="tool">Node.js</span> out of dissatisfaction with the possibilities that <span class="tool">JavaScript</span> offered at the time. The basic functionality of <span class="tool">Node.js</span> has been mapped with <span class="tool">JavaScript</span> since the first version, which can be expanded with a large number of different modules. The current package managers (<span class="tool">npm</span> or <span class="tool">Yarn</span>) for <span class="tool">Node.js</span> know more than 1,000,000 of these modules.</li> <li> <strong>Fast server-side solutions:</strong> <span class="tool">Node.js</span> adopts the JavaScript "event-loop" to create non-blocking I/O applications that conveniently serve simultaneous events. With the standard available asynchronous processing within <span class="tool">JavaScript</span>/<span class="tool">TypeScript</span>, highly scalable, server-side solutions can be realized. The efficient use of the CPU and the RAM is maximized and more simultaneous requests can be processed than with conventional multi-thread servers.</li> <li> <strong>A language along the entire stack:</strong> Widely used frameworks such as <span class="tool">React</span> or <span class="tool">AngularJS</span> or <span class="tool">Vue.js</span>, which we prefer, are written in <span class="tool">JavaScript</span>/<span class="tool">TypeScript</span>. If <span class="tool">Node.js</span> is now used on the server side, you can use all the advantages of a uniform script language throughout the entire application development. The same language in the back- and frontend simplifies the maintenance of the application and also the coordination within the development team.</li> <li> <strong>Flexibility:</strong> <span class="tool">Node.js</span> sets very few strict dependencies, rules and guidelines and thus grants a high degree of flexibility in application development. There are no strict conventions so that the appropriate architecture, design structures, modules and features can be freely selected for the development.</li> </ul></div></div></div><a class="css-1srb7t4">See more</a></div></div></div><div class="css-8qpfeu"><div class="css-kb8or3"><div class="css-1d3wilq"><div class="css-ljm4wn"><div class="css-mwikcm"><a href="/python" class="css-1jltg37"><img src="https://img.stackshare.io/service/993/thumb_retina_pUBY5pVj.png" alt="Python logo" class="css-1489hth"/></a></div><div class="css-8wh4b7"><h2 class="css-pltn6z"><a href="/python" class="css-1hhgtx3">Python</a></h2><div class="css-rpzmwi"><div class="css-12alag6"><div class="css-5f7045"><div class="css-3k44bn"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><g fill="#A1A1A1" stroke="#A1A1A1" stroke-width=".2"><path fill-rule="evenodd" d="M20.467 21.867a2.415 2.415 0 0 1-2.318-1.74h-2.192l-.012.008-2.615-4.499h-1.598a2.415 2.415 0 1 1 0-1.35h1.641l-.058-.034 2.63-4.526.022.013h2.172a2.415 2.415 0 1 1 0 1.35h-1.424l-2.23 3.838-.002.003.001.004 2.234 3.843h1.431a2.415 2.415 0 1 1 2.318 3.09zm-.01-10.184a1.27 1.27 0 1 0-1.244-1.515v.492a1.27 1.27 0 0 0 1.244 1.023zm-11.043 2.01a1.268 1.268 0 1 0 0 2.537 1.268 1.268 0 0 0 0-2.537zm11.053 4.491a1.27 1.27 0 0 0-1.244 1.022v.493a1.27 1.27 0 0 0 1.244 1.022 1.27 1.27 0 0 0 0-2.537z"></path></g></svg></div><div class="css-1qckosq">195.8K</div></div><div class="css-5f7045"><div class="css-3k44bn"><svg class="css-1a4uubp" xmlns="http://www.w3.org/2000/svg" width="20" height="17" viewBox="0 0 20 17"><path fill="#A09F9F" fill-rule="evenodd" stroke="#999" stroke-width=".2" d="M14.432 12.715l2.348-2.746a.415.415 0 0 1 .607-.038.47.47 0 0 1 .028.646l-2.64 3.09a.419.419 0 0 1-.3.15h-.014a.414.414 0 0 1-.3-.127l-1.498-1.516a.466.466 0 0 1-.014-.637.413.413 0 0 1 .606-.015l1.177 1.193zm-3.165-.868a3.749 3.749 0 0 0 3.744 3.745 3.749 3.749 0 0 0 3.744-3.745 3.749 3.749 0 0 0-3.744-3.745 3.749 3.749 0 0 0-3.744 3.745zm2.001-4.195a4.523 4.523 0 0 1 1.743-.35 4.55 4.55 0 0 1 4.545 4.545 4.55 4.55 0 0 1-4.545 4.545 4.55 4.55 0 0 1-4.545-4.545 4.53 4.53 0 0 1 1.91-3.688c-.026-.013-.045-.029-.045-.054V5.837c0-.159.08-.308.207-.395a.588.588 0 0 0 .254-.487V2.6c0-.907-.721-1.64-1.602-1.64h-.494c-.886 0-1.603.738-1.603 1.64v2.355c0 .192.095.376.255.487a.47.47 0 0 1 .207.395v2.268a.588.588 0 0 1-.32.526c-.288.145-1.791.921-3.181 2.089a.66.66 0 0 0-.235.511v1.612a.456.456 0 0 1-.458.473.47.47 0 0 1-.466-.478v-1.612c0-.487.207-.94.575-1.249.153-.129.307-.253.461-.373V7.21a.5.5 0 0 1 .214-.41.352.352 0 0 0 .156-.296V4.618c0-.666-.525-1.206-1.172-1.206h-.394c-.646 0-1.166.54-1.166 1.201v1.886c0 .121.058.231.155.296.136.09.214.245.214.41v1.817c0 .225-.121.42-.316.52a13.83 13.83 0 0 0-2.513 1.662.421.421 0 0 0-.146.325v1.291a.487.487 0 0 1-.481.496A.487.487 0 0 1 0 12.82v-1.291c0-.425.18-.821.501-1.091.967-.821 2.003-1.411 2.479-1.667V7.435a1.368 1.368 0 0 1-.369-.936V4.613c0-1.211.958-2.192 2.129-2.192h.394c1.177 0 2.129.986 2.129 2.192v1.886c0 .356-.136.686-.369.936V8.91a19.344 19.344 0 0 1 1.733-1.037V6.059a1.557 1.557 0 0 1-.462-1.109V2.595C8.165 1.162 9.305 0 10.7 0h.495c1.399 0 2.535 1.167 2.535 2.595V4.95c0 .424-.17.82-.462 1.109v1.593z"></path></svg></div><div class="css-1qckosq">165K</div></div><div class="css-5f7045"><div class="css-3k44bn"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><path fill="#A1A1A1" stroke="#A1A1A1" stroke-width=".2" d="M23.42 15.403c.855-.864.59-2.612-.892-2.612l-3.903.002c.148-.837.363-2.226.354-2.357-.082-1.242-.863-2.754-.896-2.815-.143-.27-.862-.634-1.586-.478-.935.203-1.03.808-1.027.975 0 0 .04 1.655.044 2.097-.447.996-1.99 3.613-2.457 3.815a.706.706 0 0 0-.37-.105H7.755A.76.76 0 0 0 7 14.69v6.908a.72.72 0 0 0 .71.665h4.43a.718.718 0 0 0 .711-.722v-.23s.165-.012.24.037c.285.183.636.414 1.095.414h6.61c2.47 0 2.205-2.224 1.98-2.527.417-.46.675-1.273.323-1.915.27-.29.746-1.09.32-1.917zM11.986 21.54H7.71v-6.894h4.278v6.894zm10.28-6.196l-.041.17c1.138.329.532 1.659-.284 1.745l-.04.17c1.091.282.57 1.652-.285 1.745l-.04.17c.891.149.675 1.691-.675 1.691l-6.722.003c-.475 0-.907-.549-1.257-.549h-.304v-5.306c.38-.239.846-.549 1.106-.772.49-.424 2.497-3.71 2.497-4.122 0-.412-.045-2.191-.045-2.191s.394-.514 1.272-.14c0 0 .74 1.406.815 2.526 0 0-.333 2.307-.512 3.03h4.66c1.146.002.927 1.659-.146 1.83z"></path></svg></div><div class="css-1qckosq">6.7K</div></div></div></div><div class="css-q4ncy">A clear and powerful object-oriented programming language, comparable to Perl, Ruby, Scheme, or Java.</div><div class="css-1mj0hbk"><div class="css-1drwozb"><div class="css-gbti5j"><label>Stacks</label><span>195.8K</span></div><div class="css-1ahj942"></div><div class="css-1an0suy"><label>Followers</label><span>165K</span><div>+ 1</div></div><div class="css-1ahj942"></div><div class="css-gbti5j"><label>Votes</label><span>6.7K</span></div></div></div></div></div><div class="css-1dnnpo5"><div class="css-ubpjqb"><button data-testid="follow" class="css-14pk3xx"><svg width="11" height="11" viewBox="0 0 11 11" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="1.5"><path d="M5.5 0v11M0 5.5h11" fill="none" stroke="#fff"></path></svg> <!-- -->Follow</button><button data-testid="iUseThis" class="css-1o4togz"><svg width="11" height="11" viewBox="0 0 11 11" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="1.5"><path d="M5.5 0v11M0 5.5h11" fill="none" stroke="#fff"></path></svg> I use this</button></div><div class="css-gpa5xw"><div class="css-1ob9em9"><button class="css-1mpii3w">Monitor Python errors &amp; performance with Sentry</button></div></div></div></div><div class="css-1erkkk4"><div class="css-a55l86"><div class="css-usifiy">PROS OF <!-- -->PYTHON</div><div class="css-6t66tf"><div class="css-nil"><div class="css-1v4wqws"><div class="css-nil"><div class="css-1x4ysa3"><h2 hidden="" class="css-nil"></h2><ul class="css-7c9av6"><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">1.1K</span></div></div><span class="css-rsz8c">Great libraries</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">947</span></div></div><span class="css-rsz8c">Readable code</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">834</span></div></div><span class="css-rsz8c">Beautiful code</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">780</span></div></div><span class="css-rsz8c">Rapid development</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">682</span></div></div><span class="css-rsz8c">Large community</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">426</span></div></div><span class="css-rsz8c">Open source</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">385</span></div></div><span class="css-rsz8c">Elegant</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">278</span></div></div><span class="css-rsz8c">Great community</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">268</span></div></div><span class="css-rsz8c">Object oriented</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">214</span></div></div><span class="css-rsz8c">Dynamic typing</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">75</span></div></div><span class="css-rsz8c">Great standard library</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">56</span></div></div><span class="css-rsz8c">Very fast</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">51</span></div></div><span class="css-rsz8c">Functional programming</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">43</span></div></div><span class="css-rsz8c">Scientific computing</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">43</span></div></div><span class="css-rsz8c">Easy to learn</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">33</span></div></div><span class="css-rsz8c">Great documentation</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">26</span></div></div><span class="css-rsz8c">Matlab alternative</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">25</span></div></div><span class="css-rsz8c">Productivity</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">25</span></div></div><span class="css-rsz8c">Easy to read</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">21</span></div></div><span class="css-rsz8c">Simple is better than complex</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">18</span></div></div><span class="css-rsz8c">It&#x27;s the way I think</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">17</span></div></div><span class="css-rsz8c">Imperative</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">15</span></div></div><span class="css-rsz8c">Very programmer and non-programmer friendly</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">15</span></div></div><span class="css-rsz8c">Free</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">14</span></div></div><span class="css-rsz8c">Powerfull language</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">14</span></div></div><span class="css-rsz8c">Machine learning support</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">14</span></div></div><span class="css-rsz8c">Powerful</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">13</span></div></div><span class="css-rsz8c">Fast and simple</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">12</span></div></div><span class="css-rsz8c">Scripting</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">9</span></div></div><span class="css-rsz8c">Explicit is better than implicit</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">8</span></div></div><span class="css-rsz8c">Unlimited power</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">8</span></div></div><span class="css-rsz8c">Ease of development</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">8</span></div></div><span class="css-rsz8c">Clear and easy and powerfull</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">7</span></div></div><span class="css-rsz8c">Import antigravity</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">6</span></div></div><span class="css-rsz8c">It&#x27;s lean and fun to code</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">6</span></div></div><span class="css-rsz8c">Print &quot;life is short, use python&quot;</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">5</span></div></div><span class="css-rsz8c">Great for tooling</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">5</span></div></div><span class="css-rsz8c">Fast coding and good for competitions</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">5</span></div></div><span class="css-rsz8c">I love snakes</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">5</span></div></div><span class="css-rsz8c">Python has great libraries for data processing</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">5</span></div></div><span class="css-rsz8c">There should be one-- and preferably only one --obvious</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">5</span></div></div><span class="css-rsz8c">High Documented language </span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">5</span></div></div><span class="css-rsz8c">Flat is better than nested</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">5</span></div></div><span class="css-rsz8c">Although practicality beats purity</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">4</span></div></div><span class="css-rsz8c">Rapid Prototyping</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">4</span></div></div><span class="css-rsz8c">Readability counts</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">3</span></div></div><span class="css-rsz8c">Great for analytics</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">3</span></div></div><span class="css-rsz8c">Web scraping</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">3</span></div></div><span class="css-rsz8c">Now is better than never</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">3</span></div></div><span class="css-rsz8c">Plotting</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">3</span></div></div><span class="css-rsz8c">Lists, tuples, dictionaries</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">3</span></div></div><span class="css-rsz8c">Socially engaged community</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">3</span></div></div><span class="css-rsz8c">Complex is better than complicated</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">3</span></div></div><span class="css-rsz8c">Multiple Inheritence</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">3</span></div></div><span class="css-rsz8c">Beautiful is better than ugly</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">3</span></div></div><span class="css-rsz8c">CG industry needs</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">2</span></div></div><span class="css-rsz8c">No cruft</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">2</span></div></div><span class="css-rsz8c">Many types of collections</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">2</span></div></div><span class="css-rsz8c">Easy to learn and use </span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">2</span></div></div><span class="css-rsz8c">Special cases aren&#x27;t special enough to break the rules</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">2</span></div></div><span class="css-rsz8c">If the implementation is hard to explain, it&#x27;s a bad id</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">2</span></div></div><span class="css-rsz8c">If the implementation is easy to explain, it may be a g</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">2</span></div></div><span class="css-rsz8c">List comprehensions</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">2</span></div></div><span class="css-rsz8c">Generators</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">2</span></div></div><span class="css-rsz8c">Simple and easy to learn</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">2</span></div></div><span class="css-rsz8c">Easy to setup and run smooth</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">2</span></div></div><span class="css-rsz8c">Import this</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">1</span></div></div><span class="css-rsz8c">Powerful language for AI</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">1</span></div></div><span class="css-rsz8c">Because of Netflix</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">1</span></div></div><span class="css-rsz8c">A-to-Z</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">1</span></div></div><span class="css-rsz8c">Only one way to do it</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">1</span></div></div><span class="css-rsz8c">Can understand easily who are new to programming</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">1</span></div></div><span class="css-rsz8c">Flexible and easy</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">1</span></div></div><span class="css-rsz8c">Better outcome</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">1</span></div></div><span class="css-rsz8c">Batteries included</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">1</span></div></div><span class="css-rsz8c">Good for hacking</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">1</span></div></div><span class="css-rsz8c">Should START with this but not STICK with This</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">1</span></div></div><span class="css-rsz8c">Pip install everything</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">1</span></div></div><span class="css-rsz8c">It is Very easy , simple and will you be love programmi</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">0</span></div></div><span class="css-rsz8c">Powerful</span></div></li></ul></div></div></div></div></div></div><div class="css-a55l86"><div class="css-usifiy">CONS OF <!-- -->PYTHON</div><div class="css-6t66tf"><div class="css-nil"><div class="css-1v4wqws"><div class="css-nil"><div class="css-1x4ysa3"><h2 hidden="" class="css-nil"></h2><ul class="css-7c9av6"><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">51</span></div></div><span class="css-rsz8c">Still divided between python 2 and python 3</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">28</span></div></div><span class="css-rsz8c">Performance impact</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">26</span></div></div><span class="css-rsz8c">Poor syntax for anonymous functions</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">21</span></div></div><span class="css-rsz8c">GIL</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">19</span></div></div><span class="css-rsz8c">Package management is a mess</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">14</span></div></div><span class="css-rsz8c">Too imperative-oriented</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">12</span></div></div><span class="css-rsz8c">Hard to understand</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">12</span></div></div><span class="css-rsz8c">Dynamic typing </span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">10</span></div></div><span class="css-rsz8c">Very slow</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">8</span></div></div><span class="css-rsz8c">Not everything is expression</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">7</span></div></div><span class="css-rsz8c">Explicit self parameter in methods</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">7</span></div></div><span class="css-rsz8c">Indentations matter a lot</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">6</span></div></div><span class="css-rsz8c">Poor DSL capabilities</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">6</span></div></div><span class="css-rsz8c">Incredibly slow</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">6</span></div></div><span class="css-rsz8c">No anonymous functions</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">6</span></div></div><span class="css-rsz8c">Requires C functions for dynamic modules</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">5</span></div></div><span class="css-rsz8c">Hard to obfuscate</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">5</span></div></div><span class="css-rsz8c">Threading</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">5</span></div></div><span class="css-rsz8c">Fake object-oriented programming</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">5</span></div></div><span class="css-rsz8c">The &quot;lisp style&quot; whitespaces</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">4</span></div></div><span class="css-rsz8c">Official documentation is unclear. </span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">4</span></div></div><span class="css-rsz8c">Circular import</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">4</span></div></div><span class="css-rsz8c">Lack of Syntax Sugar leads to &quot;the pyramid of doom&quot;</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">4</span></div></div><span class="css-rsz8c">Not suitable for autocomplete</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">4</span></div></div><span class="css-rsz8c">The benevolent-dictator-for-life quit</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">2</span></div></div><span class="css-rsz8c">Meta classes</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">1</span></div></div><span class="css-rsz8c">Training wheels (forced indentation)</span></div></li></ul></div></div></div></div></div></div><div class="css-a55l86"><div class="css-usifiy">COMPARE</div><div class="css-6t66tf"><div class="css-1bn5mmw"><a href="/stackups/python-vs-nodejs" class="css-1dnwvu3"><div class="css-1v4bhi8"><img src="https://img.stackshare.io/service/993/thumb_retina_pUBY5pVj.png" alt="Python logo" class="css-6wyd29"/><div class="css-19dpmz">VS</div><img src="https://img.stackshare.io/service/1011/thumb_retina_n1JRsFeB_400x400.png" alt="Node.js logo" class="css-6wyd29"/></div><div class="css-v6oua5"><div class="css-16r6zz5"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><g fill="#A1A1A1" stroke="#A1A1A1" stroke-width=".2"><path d="M13.626 18.015l.511-.81a.405.405 0 0 0-.136-.565.422.422 0 0 0-.576.133l-.51.81c-.927 1.469-2.25 2.312-3.632 2.312H7.416a.412.412 0 1 0 0 .823h1.87c1.68-.007 3.26-.99 4.34-2.703zm9.944-7.882l-2.023-1.99a.42.42 0 0 0-.59 0 .403.403 0 0 0 0 .578l1.316 1.291h-1.939c-1.676 0-3.26.984-4.34 2.697l-.314.498a.405.405 0 0 0 .137.566.42.42 0 0 0 .572-.134l.313-.499c.927-1.468 2.249-2.308 3.632-2.308h1.936l-1.315 1.291a.403.403 0 0 0 0 .579c.082.08.188.12.297.12a.42.42 0 0 0 .296-.12l2.027-1.99a.406.406 0 0 0-.003-.58zm-.862.34v-.04l.02.02-.02.02z"></path><path d="M20.954 22.581c.082.08.188.12.297.12a.42.42 0 0 0 .296-.12l2.027-1.99a.403.403 0 0 0 0-.58l-2.027-1.986a.42.42 0 0 0-.59 0 .403.403 0 0 0 0 .578l1.316 1.292h-1.877c-1.38 0-2.706-.843-3.632-2.312L13.69 12.71c-1.08-1.716-2.664-2.697-4.34-2.697H7.416a.412.412 0 1 0 0 .823h1.931c1.38 0 2.705.843 3.632 2.309l3.073 4.874c1.08 1.716 2.664 2.7 4.34 2.7h1.877l-1.315 1.291a.4.4 0 0 0 0 .572zm1.754-2.265l.02.02-.02.02v-.04z"></path></g></svg></div><div>Compare Python vs Node.js</div></div></a></div></div></div></div></div><div class="css-f2odf3"><div class="css-1m02by6"><h2>related Python posts</h2></div><div class="css-uw1ldh"><div class="css-4gnhqq"><div class="css-xkasvz"><div class="css-atv6j6"><div class="css-1m8tyev"><div class="lazyload-wrapper"><div class="lazyload-placeholder"></div></div></div></div><div class="css-1vf0ygt"><div class="css-utnqcw"><div>Conor Myhrvold</div></div><div class="css-ds0hbm">Tech Brand Mgr, Office of CTO<!-- --> at Uber<!-- --> · <a href="/conor/decisions/101184587860273619" class="css-nil"><time>Dec 4, 2018</time> <!-- -->| 41 upvotes · 5.6M views</a></div></div></div></div><div class="css-nil"><div class="css-dg4ww9"><svg xmlns="http://www.w3.org/2000/svg" width="21" height="21" viewBox="0 0 21 21"><g fill="none" fill-rule="evenodd"><path fill="#068DFE" fill-rule="nonzero" d="M20.918 19.017l-1.442-4.195a10.3 10.3 0 0 0 1.062-4.537 10.208 10.208 0 0 0-2.949-7.207A10.199 10.199 0 0 0 10.436 0a10.23 10.23 0 0 0-7.428 3.006A10.228 10.228 0 0 0 0 10.437a10.199 10.199 0 0 0 3.077 7.153 10.207 10.207 0 0 0 7.191 2.95h.016a10.3 10.3 0 0 0 4.537-1.063l4.195 1.442a1.485 1.485 0 0 0 1.543-.357c.408-.408.545-.999.358-1.544z"></path><rect width="7" height="1.8" x="6" y="5" fill="#FFF" rx=".9"></rect><rect width="10" height="1.8" x="6" y="9" fill="#FFF" rx=".9"></rect><rect width="7" height="1.8" x="6" y="13" fill="#FFF" rx=".9"></rect></g></svg><div class="css-z9ms26">Shared insights</div><div class="css-6uh2e7">on</div><a href="/jaeger" class="css-1pwtf47"><span title="Jaeger" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/8123/28545596.png" alt="Jaeger" class="css-1rz3855"/></span><span class="css-i6njnm">Jaeger</span></a><a href="/python" class="css-1pwtf47"><span title="Python" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/993/pUBY5pVj.png" alt="Python" class="css-1rz3855"/></span><span class="css-i6njnm">Python</span></a><a href="/java" class="css-1pwtf47"><span title="Java" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/995/K85ZWV2F.png" alt="Java" class="css-1rz3855"/></span><span class="css-i6njnm">Java</span></a><a href="/nodejs" class="css-1pwtf47"><span title="Node.js" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1011/n1JRsFeB_400x400.png" alt="Node.js" class="css-1rz3855"/></span><span class="css-i6njnm">Node.js</span></a><a href="/golang" class="css-1pwtf47"><span title="Golang" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1005/O6AczwfV_400x400.png" alt="Golang" class="css-1rz3855"/></span><span class="css-i6njnm">Golang</span></a><a href="/cplusplus" class="css-1pwtf47"><span title="C++" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1049/cplusplus.png" alt="C++" class="css-1rz3855"/></span><span class="css-i6njnm">C++</span></a><a href="/kubernetes" class="css-1pwtf47"><span title="Kubernetes" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1885/21_d3cvM.png" alt="Kubernetes" class="css-1rz3855"/></span><span class="css-i6njnm">Kubernetes</span></a><a href="/javascript" class="css-1pwtf47"><span title="JavaScript" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1209/javascript.jpeg" alt="JavaScript" class="css-1rz3855"/></span><span class="css-i6njnm">JavaScript</span></a><a href="/red-hat-openshift" class="css-1pwtf47"><span title="Red Hat OpenShift" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/197/default_d69814fad86744595b3b0b30ef84c36c09c70902.jpg" alt="Red Hat OpenShift" class="css-1rz3855"/></span><span class="css-i6njnm">Red Hat OpenShift</span></a><a href="/c-sharp" class="css-1pwtf47"><span title="C#" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1015/1200px-C_Sharp_wordmark.svg.png" alt="C#" class="css-1rz3855"/></span><span class="css-i6njnm">C#</span></a><a href="/spark" class="css-1pwtf47"><span title="Apache Spark" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/2220/ca72c4715da998b0bf5d1c857958bed3.png" alt="Apache Spark" class="css-1rz3855"/></span><span class="css-i6njnm">Apache Spark</span></a><div class="css-6uh2e7">at</div><a itemscope="" itemType="http://schema.org/Organization" itemProp="url" href="/companies/uber-technologies" target="_blank" class="css-1j2w1cg"><div class="lazyload-wrapper"><div class="lazyload-placeholder"></div></div><div itemProp="name" class="css-1b2ktnx">Uber Technologies</div></a></div><div class="css-1dp4k20"><div class="css-ztg526"><p>How Uber developed the open source, end-to-end distributed tracing <span class="tool">Jaeger</span> , now a CNCF project:</p> <p>Distributed tracing is quickly becoming a must-have component in the tools that organizations use to monitor their complex, microservice-based architectures. At Uber, our open source distributed tracing system Jaeger saw large-scale internal adoption throughout 2016, integrated into hundreds of microservices and now recording thousands of traces every second. </p> <p>Here is the story of how we got here, from investigating off-the-shelf solutions like Zipkin, to why we switched from pull to push architecture, and how distributed tracing will continue to evolve:</p> <p><a href="https://eng.uber.com/distributed-tracing/" rel="nofollow noopener" target="_blank">https://eng.uber.com/distributed-tracing/</a></p> <p>(GitHub Pages : <a href="https://www.jaegertracing.io/" rel="nofollow noopener" target="_blank">https://www.jaegertracing.io/</a>, GitHub: <a href="https://github.com/jaegertracing/jaeger" rel="nofollow noopener" target="_blank">https://github.com/jaegertracing/jaeger</a>)</p> <p>Bindings/Operator: <span class="tool">Python</span> <span class="tool">Java</span> <span class="tool">Node.js</span> <span class="tool">Go</span> <span class="tool">C++</span> <span class="tool">Kubernetes</span> <span class="tool">JavaScript</span> <span class="tool">OpenShift</span> <span class="tool">C#</span> <span class="tool">Apache Spark</span> </p></div><div class="css-13nf4of"><svg class="css-xd3exe" xmlns="http://www.w3.org/2000/svg" width="11" height="11" viewBox="0 0 11 11"><g fill="#49A8F9" fill-rule="evenodd"><path d="M10.5 0h-4a.5.5 0 0 0 0 1h2.793L4.146 6.146a.5.5 0 1 0 .708.708L10 1.707V4.5a.5.5 0 0 0 1 0v-4a.5.5 0 0 0-.5-.5"></path><path d="M8.5 5a.5.5 0 0 0-.5.5V10H1V3h4.5a.5.5 0 0 0 0-1h-5a.5.5 0 0 0-.5.5v8a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5"></path></g></svg><a href="https://eng.uber.com/distributed-tracing/" title="Evolving Distributed Tracing at Uber Engineering | Uber Engineering Blog" class="css-nil">Evolving Distributed Tracing at Uber Engineering | Uber Engineering Blog</a></div></div></div><a class="css-1srb7t4">See more</a></div><div class="css-uw1ldh"><div class="css-4gnhqq"><div class="css-xkasvz"><div class="css-atv6j6"><div class="css-1m8tyev"><div class="lazyload-wrapper"><div class="lazyload-placeholder"></div></div></div></div><div class="css-1vf0ygt"><div class="css-utnqcw"><div>Nick Parsons</div></div><div class="css-ds0hbm">Building cool things on the internet 🛠️<!-- --> at Stream<!-- --> · <a href="/nickparsons/decisions/101031322388095263" class="css-nil"><time>Sep 13, 2018</time> <!-- -->| 35 upvotes · 1.8M views</a></div></div></div></div><div class="css-nil"><div class="css-dg4ww9"><svg xmlns="http://www.w3.org/2000/svg" width="21" height="21" viewBox="0 0 21 21"><g fill="none" fill-rule="evenodd"><path fill="#068DFE" fill-rule="nonzero" d="M20.918 19.017l-1.442-4.195a10.3 10.3 0 0 0 1.062-4.537 10.208 10.208 0 0 0-2.949-7.207A10.199 10.199 0 0 0 10.436 0a10.23 10.23 0 0 0-7.428 3.006A10.228 10.228 0 0 0 0 10.437a10.199 10.199 0 0 0 3.077 7.153 10.207 10.207 0 0 0 7.191 2.95h.016a10.3 10.3 0 0 0 4.537-1.063l4.195 1.442a1.485 1.485 0 0 0 1.543-.357c.408-.408.545-.999.358-1.544z"></path><rect width="7" height="1.8" x="6" y="5" fill="#FFF" rx=".9"></rect><rect width="10" height="1.8" x="6" y="9" fill="#FFF" rx=".9"></rect><rect width="7" height="1.8" x="6" y="13" fill="#FFF" rx=".9"></rect></g></svg><div class="css-z9ms26">Shared insights</div><div class="css-6uh2e7">on</div><a href="/stream" class="css-1pwtf47"><span title="Stream" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/2213/mBSAJI_h_400x400.jpg" alt="Stream" class="css-1rz3855"/></span><span class="css-i6njnm">Stream</span></a><a href="/golang" class="css-1pwtf47"><span title="Golang" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1005/O6AczwfV_400x400.png" alt="Golang" class="css-1rz3855"/></span><span class="css-i6njnm">Golang</span></a><a href="/javascript" class="css-1pwtf47"><span title="JavaScript" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1209/javascript.jpeg" alt="JavaScript" class="css-1rz3855"/></span><span class="css-i6njnm">JavaScript</span></a><a href="/es6" class="css-1pwtf47"><span title="ES6" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/4109/16407404782_8b9c57eab3.jpg" alt="ES6" class="css-1rz3855"/></span><span class="css-i6njnm">ES6</span></a><a href="/nodejs" class="css-1pwtf47"><span title="Node.js" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1011/n1JRsFeB_400x400.png" alt="Node.js" class="css-1rz3855"/></span><span class="css-i6njnm">Node.js</span></a><a href="/babel" class="css-1pwtf47"><span title="Babel" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/2739/-1wfGjNw.png" alt="Babel" class="css-1rz3855"/></span><span class="css-i6njnm">Babel</span></a><a href="/yarn" class="css-1pwtf47"><span title="Yarn" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/5848/44mC-kJ3.jpg" alt="Yarn" class="css-1rz3855"/></span><span class="css-i6njnm">Yarn</span></a><a href="/python" class="css-1pwtf47"><span title="Python" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/993/pUBY5pVj.png" alt="Python" class="css-1rz3855"/></span><span class="css-i6njnm">Python</span></a><div class="css-6uh2e7">at</div><a itemscope="" itemType="http://schema.org/Organization" itemProp="url" href="/companies/stream" target="_blank" class="css-1j2w1cg"><div class="lazyload-wrapper"><div class="lazyload-placeholder"></div></div><div itemProp="name" class="css-1b2ktnx">Stream</div></a></div><div class="css-1dp4k20"><div class="css-ztg526"><p>Winds 2.0 is an open source Podcast/RSS reader developed by <span class="tool">Stream</span> with a core goal to enable a wide range of developers to contribute.</p> <p>We chose <span class="tool">JavaScript</span> because nearly every developer knows or can, at the very least, read JavaScript. With <span class="tool">ES6</span> and <span class="tool">Node.js</span> v10.x.x, it’s become a very capable language. Async/Await is powerful and easy to use (Async/Await vs Promises). <span class="tool">Babel</span> allows us to experiment with next-generation JavaScript (features that are not in the official JavaScript spec yet). <span class="tool">Yarn</span> allows us to consistently install packages quickly (and is filled with tons of new tricks)</p> <p>We’re using JavaScript for everything – both front and backend. Most of our team is experienced with <span class="tool">Go</span> and <span class="tool">Python</span>, so Node was not an obvious choice for this app.</p> <p>Sure... there will be haters who refuse to acknowledge that there is anything remotely positive about JavaScript (there are even rants on Hacker News about Node.js); however, without writing completely in JavaScript, we would not have seen the results we did.</p> <p><span class="topic">#FrameworksFullStack</span> <span class="topic">#Languages</span></p></div><div class="css-13nf4of"><svg class="css-xd3exe" xmlns="http://www.w3.org/2000/svg" width="11" height="11" viewBox="0 0 11 11"><g fill="#49A8F9" fill-rule="evenodd"><path d="M10.5 0h-4a.5.5 0 0 0 0 1h2.793L4.146 6.146a.5.5 0 1 0 .708.708L10 1.707V4.5a.5.5 0 0 0 1 0v-4a.5.5 0 0 0-.5-.5"></path><path d="M8.5 5a.5.5 0 0 0-.5.5V10H1V3h4.5a.5.5 0 0 0 0-1h-5a.5.5 0 0 0-.5.5v8a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5"></path></g></svg><a href="https://stackshare.io/stream/how-stream-built-a-modern-rss-reader-with-javascript" title="How Stream Built a Modern RSS Reader With JavaScript - Stream Tech Stack | StackShare" class="css-nil">How Stream Built a Modern RSS Reader With JavaScript - Stream Tech Stack | StackShare</a></div></div></div><a class="css-1srb7t4">See more</a></div></div></div><div class="css-8qpfeu"><div class="css-kb8or3"><div class="css-1d3wilq"><div class="css-ljm4wn"><div class="css-mwikcm"><a href="/javascript" class="css-1jltg37"><img src="https://img.stackshare.io/service/1209/thumb_retina_javascript.jpeg" alt="JavaScript logo" class="css-1489hth"/></a></div><div class="css-8wh4b7"><h2 class="css-pltn6z"><a href="/javascript" class="css-1hhgtx3">JavaScript</a></h2><div class="css-rpzmwi"><div class="css-12alag6"><div class="css-5f7045"><div class="css-3k44bn"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><g fill="#A1A1A1" stroke="#A1A1A1" stroke-width=".2"><path fill-rule="evenodd" d="M20.467 21.867a2.415 2.415 0 0 1-2.318-1.74h-2.192l-.012.008-2.615-4.499h-1.598a2.415 2.415 0 1 1 0-1.35h1.641l-.058-.034 2.63-4.526.022.013h2.172a2.415 2.415 0 1 1 0 1.35h-1.424l-2.23 3.838-.002.003.001.004 2.234 3.843h1.431a2.415 2.415 0 1 1 2.318 3.09zm-.01-10.184a1.27 1.27 0 1 0-1.244-1.515v.492a1.27 1.27 0 0 0 1.244 1.023zm-11.043 2.01a1.268 1.268 0 1 0 0 2.537 1.268 1.268 0 0 0 0-2.537zm11.053 4.491a1.27 1.27 0 0 0-1.244 1.022v.493a1.27 1.27 0 0 0 1.244 1.022 1.27 1.27 0 0 0 0-2.537z"></path></g></svg></div><div class="css-1qckosq">283.4K</div></div><div class="css-5f7045"><div class="css-3k44bn"><svg class="css-1a4uubp" xmlns="http://www.w3.org/2000/svg" width="20" height="17" viewBox="0 0 20 17"><path fill="#A09F9F" fill-rule="evenodd" stroke="#999" stroke-width=".2" d="M14.432 12.715l2.348-2.746a.415.415 0 0 1 .607-.038.47.47 0 0 1 .028.646l-2.64 3.09a.419.419 0 0 1-.3.15h-.014a.414.414 0 0 1-.3-.127l-1.498-1.516a.466.466 0 0 1-.014-.637.413.413 0 0 1 .606-.015l1.177 1.193zm-3.165-.868a3.749 3.749 0 0 0 3.744 3.745 3.749 3.749 0 0 0 3.744-3.745 3.749 3.749 0 0 0-3.744-3.745 3.749 3.749 0 0 0-3.744 3.745zm2.001-4.195a4.523 4.523 0 0 1 1.743-.35 4.55 4.55 0 0 1 4.545 4.545 4.55 4.55 0 0 1-4.545 4.545 4.55 4.55 0 0 1-4.545-4.545 4.53 4.53 0 0 1 1.91-3.688c-.026-.013-.045-.029-.045-.054V5.837c0-.159.08-.308.207-.395a.588.588 0 0 0 .254-.487V2.6c0-.907-.721-1.64-1.602-1.64h-.494c-.886 0-1.603.738-1.603 1.64v2.355c0 .192.095.376.255.487a.47.47 0 0 1 .207.395v2.268a.588.588 0 0 1-.32.526c-.288.145-1.791.921-3.181 2.089a.66.66 0 0 0-.235.511v1.612a.456.456 0 0 1-.458.473.47.47 0 0 1-.466-.478v-1.612c0-.487.207-.94.575-1.249.153-.129.307-.253.461-.373V7.21a.5.5 0 0 1 .214-.41.352.352 0 0 0 .156-.296V4.618c0-.666-.525-1.206-1.172-1.206h-.394c-.646 0-1.166.54-1.166 1.201v1.886c0 .121.058.231.155.296.136.09.214.245.214.41v1.817c0 .225-.121.42-.316.52a13.83 13.83 0 0 0-2.513 1.662.421.421 0 0 0-.146.325v1.291a.487.487 0 0 1-.481.496A.487.487 0 0 1 0 12.82v-1.291c0-.425.18-.821.501-1.091.967-.821 2.003-1.411 2.479-1.667V7.435a1.368 1.368 0 0 1-.369-.936V4.613c0-1.211.958-2.192 2.129-2.192h.394c1.177 0 2.129.986 2.129 2.192v1.886c0 .356-.136.686-.369.936V8.91a19.344 19.344 0 0 1 1.733-1.037V6.059a1.557 1.557 0 0 1-.462-1.109V2.595C8.165 1.162 9.305 0 10.7 0h.495c1.399 0 2.535 1.167 2.535 2.595V4.95c0 .424-.17.82-.462 1.109v1.593z"></path></svg></div><div class="css-1qckosq">226.9K</div></div><div class="css-5f7045"><div class="css-3k44bn"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><path fill="#A1A1A1" stroke="#A1A1A1" stroke-width=".2" d="M23.42 15.403c.855-.864.59-2.612-.892-2.612l-3.903.002c.148-.837.363-2.226.354-2.357-.082-1.242-.863-2.754-.896-2.815-.143-.27-.862-.634-1.586-.478-.935.203-1.03.808-1.027.975 0 0 .04 1.655.044 2.097-.447.996-1.99 3.613-2.457 3.815a.706.706 0 0 0-.37-.105H7.755A.76.76 0 0 0 7 14.69v6.908a.72.72 0 0 0 .71.665h4.43a.718.718 0 0 0 .711-.722v-.23s.165-.012.24.037c.285.183.636.414 1.095.414h6.61c2.47 0 2.205-2.224 1.98-2.527.417-.46.675-1.273.323-1.915.27-.29.746-1.09.32-1.917zM11.986 21.54H7.71v-6.894h4.278v6.894zm10.28-6.196l-.041.17c1.138.329.532 1.659-.284 1.745l-.04.17c1.091.282.57 1.652-.285 1.745l-.04.17c.891.149.675 1.691-.675 1.691l-6.722.003c-.475 0-.907-.549-1.257-.549h-.304v-5.306c.38-.239.846-.549 1.106-.772.49-.424 2.497-3.71 2.497-4.122 0-.412-.045-2.191-.045-2.191s.394-.514 1.272-.14c0 0 .74 1.406.815 2.526 0 0-.333 2.307-.512 3.03h4.66c1.146.002.927 1.659-.146 1.83z"></path></svg></div><div class="css-1qckosq">7.9K</div></div></div></div><div class="css-q4ncy">Lightweight, interpreted, object-oriented language with first-class functions</div><div class="css-1mj0hbk"><div class="css-1drwozb"><div class="css-gbti5j"><label>Stacks</label><span>283.4K</span></div><div class="css-1ahj942"></div><div class="css-1an0suy"><label>Followers</label><span>226.9K</span><div>+ 1</div></div><div class="css-1ahj942"></div><div class="css-gbti5j"><label>Votes</label><span>7.9K</span></div></div></div></div></div><div class="css-1dnnpo5"><div class="css-ubpjqb"><button data-testid="follow" class="css-14pk3xx"><svg width="11" height="11" viewBox="0 0 11 11" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="1.5"><path d="M5.5 0v11M0 5.5h11" fill="none" stroke="#fff"></path></svg> <!-- -->Follow</button><button data-testid="iUseThis" class="css-1o4togz"><svg width="11" height="11" viewBox="0 0 11 11" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="1.5"><path d="M5.5 0v11M0 5.5h11" fill="none" stroke="#fff"></path></svg> I use this</button></div><div class="css-gpa5xw"><div class="css-1ob9em9"><button class="css-1mpii3w">Monitor JS errors &amp; performance with Sentry</button></div></div></div></div><div class="css-1erkkk4"><div class="css-a55l86"><div class="css-usifiy">PROS OF <!-- -->JAVASCRIPT</div><div class="css-6t66tf"><div class="css-nil"><div class="css-1v4wqws"><div class="css-nil"><div class="css-1x4ysa3"><h2 hidden="" class="css-nil"></h2><ul class="css-7c9av6"><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">1.6K</span></div></div><span class="css-rsz8c">Can be used on frontend/backend</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">1.5K</span></div></div><span class="css-rsz8c">It&#x27;s everywhere</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">1.2K</span></div></div><span class="css-rsz8c">Lots of great frameworks</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">893</span></div></div><span class="css-rsz8c">Fast</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">740</span></div></div><span class="css-rsz8c">Light weight</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">423</span></div></div><span class="css-rsz8c">Flexible</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">390</span></div></div><span class="css-rsz8c">You can&#x27;t get a device today that doesn&#x27;t run js</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">286</span></div></div><span class="css-rsz8c">Non-blocking i/o</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">235</span></div></div><span class="css-rsz8c">Ubiquitousness</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">189</span></div></div><span class="css-rsz8c">Expressive</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">53</span></div></div><span class="css-rsz8c">Extended functionality to web pages</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">47</span></div></div><span class="css-rsz8c">Relatively easy language</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">44</span></div></div><span class="css-rsz8c">Executed on the client side</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">28</span></div></div><span class="css-rsz8c">Relatively fast to the end user</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">23</span></div></div><span class="css-rsz8c">Pure Javascript</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">19</span></div></div><span class="css-rsz8c">Functional programming</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">13</span></div></div><span class="css-rsz8c">Async</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">10</span></div></div><span class="css-rsz8c">Full-stack</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">10</span></div></div><span class="css-rsz8c">Setup is easy</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">10</span></div></div><span class="css-rsz8c">Its everywhere</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">9</span></div></div><span class="css-rsz8c">Because I love functions</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">8</span></div></div><span class="css-rsz8c">Like it or not, JS is part of the web standard</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">8</span></div></div><span class="css-rsz8c">JavaScript is the New PHP</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">8</span></div></div><span class="css-rsz8c">Can be used in backend, frontend and DB</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">7</span></div></div><span class="css-rsz8c">Future Language of The Web</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">7</span></div></div><span class="css-rsz8c">Easy</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">7</span></div></div><span class="css-rsz8c">Expansive community</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">6</span></div></div><span class="css-rsz8c">Can be used both as frontend and backend as well</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">6</span></div></div><span class="css-rsz8c">Most Popular Language in the World</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">6</span></div></div><span class="css-rsz8c">For the good parts</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">6</span></div></div><span class="css-rsz8c">Everyone use it</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">6</span></div></div><span class="css-rsz8c">Love-hate relationship</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">6</span></div></div><span class="css-rsz8c">Easy to hire developers</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">6</span></div></div><span class="css-rsz8c">Evolution of C</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">6</span></div></div><span class="css-rsz8c">Supports lambdas and closures</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">6</span></div></div><span class="css-rsz8c">Agile, packages simple to use</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">6</span></div></div><span class="css-rsz8c">Popularized Class-Less Architecture &amp; Lambdas</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">5</span></div></div><span class="css-rsz8c">Versitile</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">5</span></div></div><span class="css-rsz8c">Photoshop has 3 JS runtimes built in</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">5</span></div></div><span class="css-rsz8c">No need to use PHP</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">5</span></div></div><span class="css-rsz8c">Its fun and fast</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">5</span></div></div><span class="css-rsz8c">Powerful</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">4</span></div></div><span class="css-rsz8c">It&#x27;s fun</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">4</span></div></div><span class="css-rsz8c">Stockholm Syndrome</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">4</span></div></div><span class="css-rsz8c">Nice</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">4</span></div></div><span class="css-rsz8c">Easy to make something</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">4</span></div></div><span class="css-rsz8c">Can be used on frontend/backend/Mobile/create PRO Ui</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">4</span></div></div><span class="css-rsz8c">It let&#x27;s me use Babel &amp; Typescript</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">4</span></div></div><span class="css-rsz8c">Client side JS uses the visitors CPU to save Server Res</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">4</span></div></div><span class="css-rsz8c">1.6K Can be used on frontend/backend</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">4</span></div></div><span class="css-rsz8c">What to add</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">4</span></div></div><span class="css-rsz8c">Clojurescript</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">4</span></div></div><span class="css-rsz8c">Function expressions are useful for callbacks</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">4</span></div></div><span class="css-rsz8c">Everywhere</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">4</span></div></div><span class="css-rsz8c">Hard not to use</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">4</span></div></div><span class="css-rsz8c">Promise relationship</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">4</span></div></div><span class="css-rsz8c">Scope manipulation</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">4</span></div></div><span class="css-rsz8c">Client processing</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">3</span></div></div><span class="css-rsz8c">Because it is so simple and lightweight</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">3</span></div></div><span class="css-rsz8c">Only Programming language on browser</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">0</span></div></div><span class="css-rsz8c">Easy to understand</span></div></li></ul></div></div></div></div></div></div><div class="css-a55l86"><div class="css-usifiy">CONS OF <!-- -->JAVASCRIPT</div><div class="css-6t66tf"><div class="css-nil"><div class="css-1v4wqws"><div class="css-nil"><div class="css-1x4ysa3"><h2 hidden="" class="css-nil"></h2><ul class="css-7c9av6"><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">21</span></div></div><span class="css-rsz8c">A constant moving target, too much churn</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">20</span></div></div><span class="css-rsz8c">Horribly inconsistent</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">14</span></div></div><span class="css-rsz8c">Javascript is the New PHP</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">8</span></div></div><span class="css-rsz8c">No ability to monitor memory utilitization</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">6</span></div></div><span class="css-rsz8c">Shows Zero output in case of ANY error</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">5</span></div></div><span class="css-rsz8c">Can be ugly</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">4</span></div></div><span class="css-rsz8c">Thinks strange results are better than errors</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">2</span></div></div><span class="css-rsz8c">No GitHub</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">1</span></div></div><span class="css-rsz8c">Slow</span></div></li></ul></div></div></div></div></div></div><div class="css-a55l86"><div class="css-usifiy">COMPARE</div><div class="css-6t66tf"><div class="css-1bn5mmw"><a href="/stackups/javascript-vs-nodejs" class="css-1dnwvu3"><div class="css-1v4bhi8"><img src="https://img.stackshare.io/service/1209/thumb_retina_javascript.jpeg" alt="JavaScript logo" class="css-6wyd29"/><div class="css-19dpmz">VS</div><img src="https://img.stackshare.io/service/1011/thumb_retina_n1JRsFeB_400x400.png" alt="Node.js logo" class="css-6wyd29"/></div><div class="css-v6oua5"><div class="css-16r6zz5"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><g fill="#A1A1A1" stroke="#A1A1A1" stroke-width=".2"><path d="M13.626 18.015l.511-.81a.405.405 0 0 0-.136-.565.422.422 0 0 0-.576.133l-.51.81c-.927 1.469-2.25 2.312-3.632 2.312H7.416a.412.412 0 1 0 0 .823h1.87c1.68-.007 3.26-.99 4.34-2.703zm9.944-7.882l-2.023-1.99a.42.42 0 0 0-.59 0 .403.403 0 0 0 0 .578l1.316 1.291h-1.939c-1.676 0-3.26.984-4.34 2.697l-.314.498a.405.405 0 0 0 .137.566.42.42 0 0 0 .572-.134l.313-.499c.927-1.468 2.249-2.308 3.632-2.308h1.936l-1.315 1.291a.403.403 0 0 0 0 .579c.082.08.188.12.297.12a.42.42 0 0 0 .296-.12l2.027-1.99a.406.406 0 0 0-.003-.58zm-.862.34v-.04l.02.02-.02.02z"></path><path d="M20.954 22.581c.082.08.188.12.297.12a.42.42 0 0 0 .296-.12l2.027-1.99a.403.403 0 0 0 0-.58l-2.027-1.986a.42.42 0 0 0-.59 0 .403.403 0 0 0 0 .578l1.316 1.292h-1.877c-1.38 0-2.706-.843-3.632-2.312L13.69 12.71c-1.08-1.716-2.664-2.697-4.34-2.697H7.416a.412.412 0 1 0 0 .823h1.931c1.38 0 2.705.843 3.632 2.309l3.073 4.874c1.08 1.716 2.664 2.7 4.34 2.7h1.877l-1.315 1.291a.4.4 0 0 0 0 .572zm1.754-2.265l.02.02-.02.02v-.04z"></path></g></svg></div><div>Compare JavaScript vs Node.js</div></div></a></div></div></div></div></div><div class="css-f2odf3"><div class="css-1m02by6"><h2>related JavaScript posts</h2></div><div class="css-uw1ldh"><div class="css-4gnhqq"><div class="css-xkasvz"><div class="css-atv6j6"><div class="css-1m8tyev"><div class="lazyload-wrapper"><div class="lazyload-placeholder"></div></div></div></div><div class="css-1vf0ygt"><div class="css-utnqcw"><div>Zach Holman</div></div><div class="css-ds0hbm">Founder<!-- --> at Signed<!-- --> · <a href="/holman/decisions/101180297585840506" class="css-nil"><time>Dec 4, 2018</time> <!-- -->| 50 upvotes · 1.1M views</a></div></div></div></div><div class="css-nil"><div class="css-dg4ww9"><svg xmlns="http://www.w3.org/2000/svg" width="21" height="21" viewBox="0 0 21 21"><g fill="none" fill-rule="evenodd"><path fill="#068DFE" fill-rule="nonzero" d="M20.918 19.017l-1.442-4.195a10.3 10.3 0 0 0 1.062-4.537 10.208 10.208 0 0 0-2.949-7.207A10.199 10.199 0 0 0 10.436 0a10.23 10.23 0 0 0-7.428 3.006A10.228 10.228 0 0 0 0 10.437a10.199 10.199 0 0 0 3.077 7.153 10.207 10.207 0 0 0 7.191 2.95h.016a10.3 10.3 0 0 0 4.537-1.063l4.195 1.442a1.485 1.485 0 0 0 1.543-.357c.408-.408.545-.999.358-1.544z"></path><rect width="7" height="1.8" x="6" y="5" fill="#FFF" rx=".9"></rect><rect width="10" height="1.8" x="6" y="9" fill="#FFF" rx=".9"></rect><rect width="7" height="1.8" x="6" y="13" fill="#FFF" rx=".9"></rect></g></svg><div class="css-z9ms26">Shared insights</div><div class="css-6uh2e7">on</div><a href="/react" class="css-1pwtf47"><span title="React" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1020/OYIaJ1KK.png" alt="React" class="css-1rz3855"/></span><span class="css-i6njnm">React</span></a><a href="/apollo" class="css-1pwtf47"><span title="Apollo" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/5508/CyUH653y.png" alt="Apollo" class="css-1rz3855"/></span><span class="css-i6njnm">Apollo</span></a><a href="/rails" class="css-1pwtf47"><span title="Rails" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/990/x57_Lorv.png" alt="Rails" class="css-1rz3855"/></span><span class="css-i6njnm">Rails</span></a><a href="/javascript" class="css-1pwtf47"><span title="JavaScript" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1209/javascript.jpeg" alt="JavaScript" class="css-1rz3855"/></span><span class="css-i6njnm">JavaScript</span></a></div><div class="css-1dp4k20"><div class="css-ztg526"><p>Oof. I have truly hated <span class="tool">JavaScript</span> for a long time. Like, for over twenty years now. Like, since the Clinton administration. It's always been a nightmare to deal with all of the aspects of that silly language. </p> <p>But wowza, things have changed. Tooling is just way, way better. I'm primarily web-oriented, and using <span class="tool">React</span> and <span class="tool">Apollo</span> together the past few years really opened my eyes to building rich apps. And I deeply apologize for using the phrase <em>rich apps</em>; I don't think I've ever said such Enterprisey words before.</p> <p>But yeah, things are different now. I still love <span class="tool">Rails</span>, and still use it for a lot of apps I build. But it's that silly <em>rich apps</em> phrase that's the problem. Users have <em>way</em> more comprehensive expectations than they did even five years ago, and the JS community does a good job at building tools and tech that tackle the problems of making heavy, complicated UI and frontend work.</p> <p>Obviously there's a lot of things happening here, so just saying "JavaScript isn't terrible" might encompass a huge amount of libraries and frameworks. But if you're like me, yeah, give things another shot- I'm somehow not hating on JavaScript anymore and... gulp... I kinda love it. </p></div><div class="css-13nf4of"><svg class="css-xd3exe" xmlns="http://www.w3.org/2000/svg" width="11" height="11" viewBox="0 0 11 11"><g fill="#49A8F9" fill-rule="evenodd"><path d="M10.5 0h-4a.5.5 0 0 0 0 1h2.793L4.146 6.146a.5.5 0 1 0 .708.708L10 1.707V4.5a.5.5 0 0 0 1 0v-4a.5.5 0 0 0-.5-.5"></path><path d="M8.5 5a.5.5 0 0 0-.5.5V10H1V3h4.5a.5.5 0 0 0 0-1h-5a.5.5 0 0 0-.5.5v8a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5"></path></g></svg><a href="https://zachholman.com/posts/javacript-haters" title="JavaScript for People Who Hate JavaScript" class="css-nil">JavaScript for People Who Hate JavaScript</a></div></div></div><a class="css-1srb7t4">See more</a></div><div class="css-uw1ldh"><div class="css-4gnhqq"><div class="css-xkasvz"><div class="css-atv6j6"><div class="css-1m8tyev"><div class="lazyload-wrapper"><div class="lazyload-placeholder"></div></div></div></div><div class="css-1vf0ygt"><div class="css-utnqcw"><div>Conor Myhrvold</div></div><div class="css-ds0hbm">Tech Brand Mgr, Office of CTO<!-- --> at Uber<!-- --> · <a href="/conor/decisions/101184587860273619" class="css-nil"><time>Dec 4, 2018</time> <!-- -->| 41 upvotes · 5.6M views</a></div></div></div></div><div class="css-nil"><div class="css-dg4ww9"><svg xmlns="http://www.w3.org/2000/svg" width="21" height="21" viewBox="0 0 21 21"><g fill="none" fill-rule="evenodd"><path fill="#068DFE" fill-rule="nonzero" d="M20.918 19.017l-1.442-4.195a10.3 10.3 0 0 0 1.062-4.537 10.208 10.208 0 0 0-2.949-7.207A10.199 10.199 0 0 0 10.436 0a10.23 10.23 0 0 0-7.428 3.006A10.228 10.228 0 0 0 0 10.437a10.199 10.199 0 0 0 3.077 7.153 10.207 10.207 0 0 0 7.191 2.95h.016a10.3 10.3 0 0 0 4.537-1.063l4.195 1.442a1.485 1.485 0 0 0 1.543-.357c.408-.408.545-.999.358-1.544z"></path><rect width="7" height="1.8" x="6" y="5" fill="#FFF" rx=".9"></rect><rect width="10" height="1.8" x="6" y="9" fill="#FFF" rx=".9"></rect><rect width="7" height="1.8" x="6" y="13" fill="#FFF" rx=".9"></rect></g></svg><div class="css-z9ms26">Shared insights</div><div class="css-6uh2e7">on</div><a href="/jaeger" class="css-1pwtf47"><span title="Jaeger" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/8123/28545596.png" alt="Jaeger" class="css-1rz3855"/></span><span class="css-i6njnm">Jaeger</span></a><a href="/python" class="css-1pwtf47"><span title="Python" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/993/pUBY5pVj.png" alt="Python" class="css-1rz3855"/></span><span class="css-i6njnm">Python</span></a><a href="/java" class="css-1pwtf47"><span title="Java" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/995/K85ZWV2F.png" alt="Java" class="css-1rz3855"/></span><span class="css-i6njnm">Java</span></a><a href="/nodejs" class="css-1pwtf47"><span title="Node.js" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1011/n1JRsFeB_400x400.png" alt="Node.js" class="css-1rz3855"/></span><span class="css-i6njnm">Node.js</span></a><a href="/golang" class="css-1pwtf47"><span title="Golang" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1005/O6AczwfV_400x400.png" alt="Golang" class="css-1rz3855"/></span><span class="css-i6njnm">Golang</span></a><a href="/cplusplus" class="css-1pwtf47"><span title="C++" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1049/cplusplus.png" alt="C++" class="css-1rz3855"/></span><span class="css-i6njnm">C++</span></a><a href="/kubernetes" class="css-1pwtf47"><span title="Kubernetes" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1885/21_d3cvM.png" alt="Kubernetes" class="css-1rz3855"/></span><span class="css-i6njnm">Kubernetes</span></a><a href="/javascript" class="css-1pwtf47"><span title="JavaScript" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1209/javascript.jpeg" alt="JavaScript" class="css-1rz3855"/></span><span class="css-i6njnm">JavaScript</span></a><a href="/red-hat-openshift" class="css-1pwtf47"><span title="Red Hat OpenShift" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/197/default_d69814fad86744595b3b0b30ef84c36c09c70902.jpg" alt="Red Hat OpenShift" class="css-1rz3855"/></span><span class="css-i6njnm">Red Hat OpenShift</span></a><a href="/c-sharp" class="css-1pwtf47"><span title="C#" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1015/1200px-C_Sharp_wordmark.svg.png" alt="C#" class="css-1rz3855"/></span><span class="css-i6njnm">C#</span></a><a href="/spark" class="css-1pwtf47"><span title="Apache Spark" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/2220/ca72c4715da998b0bf5d1c857958bed3.png" alt="Apache Spark" class="css-1rz3855"/></span><span class="css-i6njnm">Apache Spark</span></a><div class="css-6uh2e7">at</div><a itemscope="" itemType="http://schema.org/Organization" itemProp="url" href="/companies/uber-technologies" target="_blank" class="css-1j2w1cg"><div class="lazyload-wrapper"><div class="lazyload-placeholder"></div></div><div itemProp="name" class="css-1b2ktnx">Uber Technologies</div></a></div><div class="css-1dp4k20"><div class="css-ztg526"><p>How Uber developed the open source, end-to-end distributed tracing <span class="tool">Jaeger</span> , now a CNCF project:</p> <p>Distributed tracing is quickly becoming a must-have component in the tools that organizations use to monitor their complex, microservice-based architectures. At Uber, our open source distributed tracing system Jaeger saw large-scale internal adoption throughout 2016, integrated into hundreds of microservices and now recording thousands of traces every second. </p> <p>Here is the story of how we got here, from investigating off-the-shelf solutions like Zipkin, to why we switched from pull to push architecture, and how distributed tracing will continue to evolve:</p> <p><a href="https://eng.uber.com/distributed-tracing/" rel="nofollow noopener" target="_blank">https://eng.uber.com/distributed-tracing/</a></p> <p>(GitHub Pages : <a href="https://www.jaegertracing.io/" rel="nofollow noopener" target="_blank">https://www.jaegertracing.io/</a>, GitHub: <a href="https://github.com/jaegertracing/jaeger" rel="nofollow noopener" target="_blank">https://github.com/jaegertracing/jaeger</a>)</p> <p>Bindings/Operator: <span class="tool">Python</span> <span class="tool">Java</span> <span class="tool">Node.js</span> <span class="tool">Go</span> <span class="tool">C++</span> <span class="tool">Kubernetes</span> <span class="tool">JavaScript</span> <span class="tool">OpenShift</span> <span class="tool">C#</span> <span class="tool">Apache Spark</span> </p></div><div class="css-13nf4of"><svg class="css-xd3exe" xmlns="http://www.w3.org/2000/svg" width="11" height="11" viewBox="0 0 11 11"><g fill="#49A8F9" fill-rule="evenodd"><path d="M10.5 0h-4a.5.5 0 0 0 0 1h2.793L4.146 6.146a.5.5 0 1 0 .708.708L10 1.707V4.5a.5.5 0 0 0 1 0v-4a.5.5 0 0 0-.5-.5"></path><path d="M8.5 5a.5.5 0 0 0-.5.5V10H1V3h4.5a.5.5 0 0 0 0-1h-5a.5.5 0 0 0-.5.5v8a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5"></path></g></svg><a href="https://eng.uber.com/distributed-tracing/" title="Evolving Distributed Tracing at Uber Engineering | Uber Engineering Blog" class="css-nil">Evolving Distributed Tracing at Uber Engineering | Uber Engineering Blog</a></div></div></div><a class="css-1srb7t4">See more</a></div></div></div><div class="css-8qpfeu"><div class="css-kb8or3"><div class="css-1d3wilq"><div class="css-ljm4wn"><div class="css-mwikcm"><a href="/react" class="css-1jltg37"><img src="https://img.stackshare.io/service/1020/thumb_retina_OYIaJ1KK.png" alt="React logo" class="css-1489hth"/></a></div><div class="css-8wh4b7"><h2 class="css-pltn6z"><a href="/react" class="css-1hhgtx3">React</a></h2><div class="css-rpzmwi"><div class="css-12alag6"><div class="css-5f7045"><div class="css-3k44bn"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><g fill="#A1A1A1" stroke="#A1A1A1" stroke-width=".2"><path fill-rule="evenodd" d="M20.467 21.867a2.415 2.415 0 0 1-2.318-1.74h-2.192l-.012.008-2.615-4.499h-1.598a2.415 2.415 0 1 1 0-1.35h1.641l-.058-.034 2.63-4.526.022.013h2.172a2.415 2.415 0 1 1 0 1.35h-1.424l-2.23 3.838-.002.003.001.004 2.234 3.843h1.431a2.415 2.415 0 1 1 2.318 3.09zm-.01-10.184a1.27 1.27 0 1 0-1.244-1.515v.492a1.27 1.27 0 0 0 1.244 1.023zm-11.043 2.01a1.268 1.268 0 1 0 0 2.537 1.268 1.268 0 0 0 0-2.537zm11.053 4.491a1.27 1.27 0 0 0-1.244 1.022v.493a1.27 1.27 0 0 0 1.244 1.022 1.27 1.27 0 0 0 0-2.537z"></path></g></svg></div><div class="css-1qckosq">143.5K</div></div><div class="css-5f7045"><div class="css-3k44bn"><svg class="css-1a4uubp" xmlns="http://www.w3.org/2000/svg" width="20" height="17" viewBox="0 0 20 17"><path fill="#A09F9F" fill-rule="evenodd" stroke="#999" stroke-width=".2" d="M14.432 12.715l2.348-2.746a.415.415 0 0 1 .607-.038.47.47 0 0 1 .028.646l-2.64 3.09a.419.419 0 0 1-.3.15h-.014a.414.414 0 0 1-.3-.127l-1.498-1.516a.466.466 0 0 1-.014-.637.413.413 0 0 1 .606-.015l1.177 1.193zm-3.165-.868a3.749 3.749 0 0 0 3.744 3.745 3.749 3.749 0 0 0 3.744-3.745 3.749 3.749 0 0 0-3.744-3.745 3.749 3.749 0 0 0-3.744 3.745zm2.001-4.195a4.523 4.523 0 0 1 1.743-.35 4.55 4.55 0 0 1 4.545 4.545 4.55 4.55 0 0 1-4.545 4.545 4.55 4.55 0 0 1-4.545-4.545 4.53 4.53 0 0 1 1.91-3.688c-.026-.013-.045-.029-.045-.054V5.837c0-.159.08-.308.207-.395a.588.588 0 0 0 .254-.487V2.6c0-.907-.721-1.64-1.602-1.64h-.494c-.886 0-1.603.738-1.603 1.64v2.355c0 .192.095.376.255.487a.47.47 0 0 1 .207.395v2.268a.588.588 0 0 1-.32.526c-.288.145-1.791.921-3.181 2.089a.66.66 0 0 0-.235.511v1.612a.456.456 0 0 1-.458.473.47.47 0 0 1-.466-.478v-1.612c0-.487.207-.94.575-1.249.153-.129.307-.253.461-.373V7.21a.5.5 0 0 1 .214-.41.352.352 0 0 0 .156-.296V4.618c0-.666-.525-1.206-1.172-1.206h-.394c-.646 0-1.166.54-1.166 1.201v1.886c0 .121.058.231.155.296.136.09.214.245.214.41v1.817c0 .225-.121.42-.316.52a13.83 13.83 0 0 0-2.513 1.662.421.421 0 0 0-.146.325v1.291a.487.487 0 0 1-.481.496A.487.487 0 0 1 0 12.82v-1.291c0-.425.18-.821.501-1.091.967-.821 2.003-1.411 2.479-1.667V7.435a1.368 1.368 0 0 1-.369-.936V4.613c0-1.211.958-2.192 2.129-2.192h.394c1.177 0 2.129.986 2.129 2.192v1.886c0 .356-.136.686-.369.936V8.91a19.344 19.344 0 0 1 1.733-1.037V6.059a1.557 1.557 0 0 1-.462-1.109V2.595C8.165 1.162 9.305 0 10.7 0h.495c1.399 0 2.535 1.167 2.535 2.595V4.95c0 .424-.17.82-.462 1.109v1.593z"></path></svg></div><div class="css-1qckosq">118.3K</div></div><div class="css-5f7045"><div class="css-3k44bn"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><path fill="#A1A1A1" stroke="#A1A1A1" stroke-width=".2" d="M23.42 15.403c.855-.864.59-2.612-.892-2.612l-3.903.002c.148-.837.363-2.226.354-2.357-.082-1.242-.863-2.754-.896-2.815-.143-.27-.862-.634-1.586-.478-.935.203-1.03.808-1.027.975 0 0 .04 1.655.044 2.097-.447.996-1.99 3.613-2.457 3.815a.706.706 0 0 0-.37-.105H7.755A.76.76 0 0 0 7 14.69v6.908a.72.72 0 0 0 .71.665h4.43a.718.718 0 0 0 .711-.722v-.23s.165-.012.24.037c.285.183.636.414 1.095.414h6.61c2.47 0 2.205-2.224 1.98-2.527.417-.46.675-1.273.323-1.915.27-.29.746-1.09.32-1.917zM11.986 21.54H7.71v-6.894h4.278v6.894zm10.28-6.196l-.041.17c1.138.329.532 1.659-.284 1.745l-.04.17c1.091.282.57 1.652-.285 1.745l-.04.17c.891.149.675 1.691-.675 1.691l-6.722.003c-.475 0-.907-.549-1.257-.549h-.304v-5.306c.38-.239.846-.549 1.106-.772.49-.424 2.497-3.71 2.497-4.122 0-.412-.045-2.191-.045-2.191s.394-.514 1.272-.14c0 0 .74 1.406.815 2.526 0 0-.333 2.307-.512 3.03h4.66c1.146.002.927 1.659-.146 1.83z"></path></svg></div><div class="css-1qckosq">4K</div></div></div></div><div class="css-q4ncy">A JavaScript library for building user interfaces</div><div class="css-1mj0hbk"><div class="css-1drwozb"><div class="css-gbti5j"><label>Stacks</label><span>143.5K</span></div><div class="css-1ahj942"></div><div class="css-1an0suy"><label>Followers</label><span>118.3K</span><div>+ 1</div></div><div class="css-1ahj942"></div><div class="css-gbti5j"><label>Votes</label><span>4K</span></div></div></div></div></div><div class="css-1dnnpo5"><div class="css-ubpjqb"><button data-testid="follow" class="css-14pk3xx"><svg width="11" height="11" viewBox="0 0 11 11" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="1.5"><path d="M5.5 0v11M0 5.5h11" fill="none" stroke="#fff"></path></svg> <!-- -->Follow</button><button data-testid="iUseThis" class="css-1o4togz"><svg width="11" height="11" viewBox="0 0 11 11" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="1.5"><path d="M5.5 0v11M0 5.5h11" fill="none" stroke="#fff"></path></svg> I use this</button></div><div class="css-gpa5xw"><div class="css-1ob9em9"><button class="css-1mpii3w">Understand the cause of every bug with LogRocket</button></div></div></div></div><div class="css-1erkkk4"><div class="css-a55l86"><div class="css-usifiy">PROS OF <!-- -->REACT</div><div class="css-6t66tf"><div class="css-nil"><div class="css-1v4wqws"><div class="css-nil"><div class="css-1x4ysa3"><h2 hidden="" class="css-nil"></h2><ul class="css-7c9av6"><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">793</span></div></div><span class="css-rsz8c">Components</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">662</span></div></div><span class="css-rsz8c">Virtual dom</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">570</span></div></div><span class="css-rsz8c">Performance</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">499</span></div></div><span class="css-rsz8c">Simplicity</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">440</span></div></div><span class="css-rsz8c">Composable</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">180</span></div></div><span class="css-rsz8c">Data flow</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">164</span></div></div><span class="css-rsz8c">Declarative</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">126</span></div></div><span class="css-rsz8c">Isn&#x27;t an mvc framework</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">115</span></div></div><span class="css-rsz8c">Reactive updates</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">113</span></div></div><span class="css-rsz8c">Explicit app state</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">43</span></div></div><span class="css-rsz8c">JSX</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">26</span></div></div><span class="css-rsz8c">Learn once, write everywhere</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">20</span></div></div><span class="css-rsz8c">Easy to Use</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">20</span></div></div><span class="css-rsz8c">Uni-directional data flow</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">16</span></div></div><span class="css-rsz8c">Works great with Flux Architecture </span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">11</span></div></div><span class="css-rsz8c">Great perfomance</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">9</span></div></div><span class="css-rsz8c">Javascript</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">9</span></div></div><span class="css-rsz8c">Built by Facebook</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">6</span></div></div><span class="css-rsz8c">TypeScript support</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">6</span></div></div><span class="css-rsz8c">Speed</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">5</span></div></div><span class="css-rsz8c">Feels like the 90s</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">5</span></div></div><span class="css-rsz8c">Easy to start</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">5</span></div></div><span class="css-rsz8c">Hooks</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">5</span></div></div><span class="css-rsz8c">Awesome</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">5</span></div></div><span class="css-rsz8c">Scalable</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">5</span></div></div><span class="css-rsz8c">Cross-platform</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">5</span></div></div><span class="css-rsz8c">Server Side Rendering</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">4</span></div></div><span class="css-rsz8c">Closer to standard JavaScript and HTML than others</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">4</span></div></div><span class="css-rsz8c">Easy as Lego</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">4</span></div></div><span class="css-rsz8c">Functional</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">4</span></div></div><span class="css-rsz8c">Server side views</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">4</span></div></div><span class="css-rsz8c">Fancy third party tools</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">4</span></div></div><span class="css-rsz8c">Scales super well</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">4</span></div></div><span class="css-rsz8c">Excellent Documentation</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">4</span></div></div><span class="css-rsz8c">Props</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">3</span></div></div><span class="css-rsz8c">Super easy</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">3</span></div></div><span class="css-rsz8c">Strong Community</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">3</span></div></div><span class="css-rsz8c">Has arrow functions</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">3</span></div></div><span class="css-rsz8c">Start simple</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">3</span></div></div><span class="css-rsz8c">Very gentle learning curve</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">3</span></div></div><span class="css-rsz8c">Sdfsdfsdf</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">3</span></div></div><span class="css-rsz8c">Beautiful and Neat Component Management</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">3</span></div></div><span class="css-rsz8c">Just the View of MVC</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">3</span></div></div><span class="css-rsz8c">Simple, easy to reason about and makes you productive</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">3</span></div></div><span class="css-rsz8c">Fast evolving</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">3</span></div></div><span class="css-rsz8c">SSR</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">3</span></div></div><span class="css-rsz8c">Great migration pathway for older systems</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">3</span></div></div><span class="css-rsz8c">Rich ecosystem</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">3</span></div></div><span class="css-rsz8c">Simple</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">3</span></div></div><span class="css-rsz8c">Has functional components</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">3</span></div></div><span class="css-rsz8c">Allows creating single page applications</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">2</span></div></div><span class="css-rsz8c">Fragments</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">2</span></div></div><span class="css-rsz8c">Split your UI into components with one true state</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">2</span></div></div><span class="css-rsz8c">Every decision architecture wise makes sense</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">2</span></div></div><span class="css-rsz8c">Permissively-licensed</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">2</span></div></div><span class="css-rsz8c">Sharable</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">1</span></div></div><span class="css-rsz8c">Image upload</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">1</span></div></div><span class="css-rsz8c">Recharts</span></div></li></ul></div></div></div></div></div></div><div class="css-a55l86"><div class="css-usifiy">CONS OF <!-- -->REACT</div><div class="css-6t66tf"><div class="css-nil"><div class="css-1v4wqws"><div class="css-nil"><div class="css-1x4ysa3"><h2 hidden="" class="css-nil"></h2><ul class="css-7c9av6"><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">36</span></div></div><span class="css-rsz8c">Requires discipline to keep architecture organized</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">25</span></div></div><span class="css-rsz8c">No predefined way to structure your app</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">24</span></div></div><span class="css-rsz8c">Need to be familiar with lots of third party packages</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">9</span></div></div><span class="css-rsz8c">JSX</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">7</span></div></div><span class="css-rsz8c">Not enterprise friendly</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">5</span></div></div><span class="css-rsz8c">One-way binding only</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">2</span></div></div><span class="css-rsz8c">State consistency with backend neglected</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">2</span></div></div><span class="css-rsz8c">Bad Documentation</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">1</span></div></div><span class="css-rsz8c">Paradigms change too fast</span></div></li></ul></div></div></div></div></div></div><div class="css-a55l86"><div class="css-usifiy">COMPARE</div><div class="css-6t66tf"><div class="css-1bn5mmw"><a href="/stackups/react-vs-nodejs" class="css-1dnwvu3"><div class="css-1v4bhi8"><img src="https://img.stackshare.io/service/1020/thumb_retina_OYIaJ1KK.png" alt="React logo" class="css-6wyd29"/><div class="css-19dpmz">VS</div><img src="https://img.stackshare.io/service/1011/thumb_retina_n1JRsFeB_400x400.png" alt="Node.js logo" class="css-6wyd29"/></div><div class="css-v6oua5"><div class="css-16r6zz5"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><g fill="#A1A1A1" stroke="#A1A1A1" stroke-width=".2"><path d="M13.626 18.015l.511-.81a.405.405 0 0 0-.136-.565.422.422 0 0 0-.576.133l-.51.81c-.927 1.469-2.25 2.312-3.632 2.312H7.416a.412.412 0 1 0 0 .823h1.87c1.68-.007 3.26-.99 4.34-2.703zm9.944-7.882l-2.023-1.99a.42.42 0 0 0-.59 0 .403.403 0 0 0 0 .578l1.316 1.291h-1.939c-1.676 0-3.26.984-4.34 2.697l-.314.498a.405.405 0 0 0 .137.566.42.42 0 0 0 .572-.134l.313-.499c.927-1.468 2.249-2.308 3.632-2.308h1.936l-1.315 1.291a.403.403 0 0 0 0 .579c.082.08.188.12.297.12a.42.42 0 0 0 .296-.12l2.027-1.99a.406.406 0 0 0-.003-.58zm-.862.34v-.04l.02.02-.02.02z"></path><path d="M20.954 22.581c.082.08.188.12.297.12a.42.42 0 0 0 .296-.12l2.027-1.99a.403.403 0 0 0 0-.58l-2.027-1.986a.42.42 0 0 0-.59 0 .403.403 0 0 0 0 .578l1.316 1.292h-1.877c-1.38 0-2.706-.843-3.632-2.312L13.69 12.71c-1.08-1.716-2.664-2.697-4.34-2.697H7.416a.412.412 0 1 0 0 .823h1.931c1.38 0 2.705.843 3.632 2.309l3.073 4.874c1.08 1.716 2.664 2.7 4.34 2.7h1.877l-1.315 1.291a.4.4 0 0 0 0 .572zm1.754-2.265l.02.02-.02.02v-.04z"></path></g></svg></div><div>Compare React vs Node.js</div></div></a></div></div></div></div></div><div class="css-f2odf3"><div class="css-1m02by6"><h2>related React posts</h2></div><div class="css-uw1ldh"><div class="css-4gnhqq"><div class="css-xkasvz"><div class="css-atv6j6"><div class="css-1m8tyev"><div class="lazyload-wrapper"><div class="lazyload-placeholder"></div></div></div></div><div class="css-1vf0ygt"><div class="css-utnqcw"><div>Vaibhav Taunk</div></div><div class="css-ds0hbm">Team Lead<!-- --> at Technovert<!-- --> · <a href="/vaibhavtaunk/decisions/102904881764135954" class="css-nil"><time>Oct 4, 2019</time> <!-- -->| 31 upvotes · 2.2M views</a></div></div></div></div><div class="css-nil"><div class="css-dg4ww9"><svg xmlns="http://www.w3.org/2000/svg" width="21" height="21" viewBox="0 0 21 21"><g fill="none" fill-rule="evenodd"><path fill="#068DFE" fill-rule="nonzero" d="M20.918 19.017l-1.442-4.195a10.3 10.3 0 0 0 1.062-4.537 10.208 10.208 0 0 0-2.949-7.207A10.199 10.199 0 0 0 10.436 0a10.23 10.23 0 0 0-7.428 3.006A10.228 10.228 0 0 0 0 10.437a10.199 10.199 0 0 0 3.077 7.153 10.207 10.207 0 0 0 7.191 2.95h.016a10.3 10.3 0 0 0 4.537-1.063l4.195 1.442a1.485 1.485 0 0 0 1.543-.357c.408-.408.545-.999.358-1.544z"></path><rect width="7" height="1.8" x="6" y="5" fill="#FFF" rx=".9"></rect><rect width="10" height="1.8" x="6" y="9" fill="#FFF" rx=".9"></rect><rect width="7" height="1.8" x="6" y="13" fill="#FFF" rx=".9"></rect></g></svg><div class="css-z9ms26">Shared insights</div><div class="css-6uh2e7">on</div><a href="/dot-net-core" class="css-1pwtf47"><span title=".NET Core" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/6403/default_91fc1f0ee315262794273aa1387eaf8fed8436e6.png" alt=".NET Core" class="css-1rz3855"/></span><span class="css-i6njnm">.NET Core</span></a><a href="/angular-cli" class="css-1pwtf47"><span title="Angular CLI" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/5527/9kVhSQ9y_400x400.jpg" alt="Angular CLI" class="css-1rz3855"/></span><span class="css-i6njnm">Angular CLI</span></a><a href="/react" class="css-1pwtf47"><span title="React" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1020/OYIaJ1KK.png" alt="React" class="css-1rz3855"/></span><span class="css-i6njnm">React</span></a><a href="/mongodb" class="css-1pwtf47"><span title="MongoDB" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1030/leaf-360x360.png" alt="MongoDB" class="css-1rz3855"/></span><span class="css-i6njnm">MongoDB</span></a><a href="/flutter" class="css-1pwtf47"><span title="Flutter" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/7180/flutter-mark-square-100.png" alt="Flutter" class="css-1rz3855"/></span><span class="css-i6njnm">Flutter</span></a><a href="/react-native" class="css-1pwtf47"><span title="React Native" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/2699/KoK6gHzp.jpg" alt="React Native" class="css-1rz3855"/></span><span class="css-i6njnm">React Native</span></a><a href="/postman" class="css-1pwtf47"><span title="Postman" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1336/xWMRvm_5_400x400.png" alt="Postman" class="css-1rz3855"/></span><span class="css-i6njnm">Postman</span></a><a href="/markdown" class="css-1pwtf47"><span title="Markdown" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1147/markdown.png" alt="Markdown" class="css-1rz3855"/></span><span class="css-i6njnm">Markdown</span></a><a href="/visual-studio-code" class="css-1pwtf47"><span title="Visual Studio Code" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/4202/Visual_Studio_Code_logo.png" alt="Visual Studio Code" class="css-1rz3855"/></span><span class="css-i6njnm">Visual Studio Code</span></a></div><div class="css-1dp4k20"><div class="css-ztg526"><p>I am starting to become a full-stack developer, by choosing and learning <span class="tool">.NET Core</span> for API Development, <span class="tool">Angular CLI</span> / <span class="tool">React</span> for UI Development, <span class="tool">MongoDB</span> for database, as it a NoSQL DB and <span class="tool">Flutter</span> / <span class="tool">React Native</span> for Mobile App Development. Using <span class="tool">Postman</span>, <span class="tool">Markdown</span> and <span class="tool">Visual Studio Code</span> for development.</p></div></div></div><a class="css-1srb7t4">See more</a></div><div class="css-uw1ldh"><div class="css-4gnhqq"><div class="css-xkasvz"><div class="css-atv6j6"><div class="css-1m8tyev"><div class="lazyload-wrapper"><div class="lazyload-placeholder"></div></div></div></div><div class="css-1vf0ygt"><div class="css-utnqcw"><div>Adebayo Akinlaja</div></div><div class="css-ds0hbm">Engineering Manager<!-- --> at Andela<!-- --> · <a href="/sa-adebayo/decisions/102967818020186826" class="css-nil"><time>Oct 15, 2019</time> <!-- -->| 29 upvotes · 1.5M views</a></div></div></div></div><div class="css-nil"><div class="css-dg4ww9"><svg xmlns="http://www.w3.org/2000/svg" width="21" height="21" viewBox="0 0 21 21"><g fill="none" fill-rule="evenodd"><path fill="#068DFE" fill-rule="nonzero" d="M20.918 19.017l-1.442-4.195a10.3 10.3 0 0 0 1.062-4.537 10.208 10.208 0 0 0-2.949-7.207A10.199 10.199 0 0 0 10.436 0a10.23 10.23 0 0 0-7.428 3.006A10.228 10.228 0 0 0 0 10.437a10.199 10.199 0 0 0 3.077 7.153 10.207 10.207 0 0 0 7.191 2.95h.016a10.3 10.3 0 0 0 4.537-1.063l4.195 1.442a1.485 1.485 0 0 0 1.543-.357c.408-.408.545-.999.358-1.544z"></path><rect width="7" height="1.8" x="6" y="5" fill="#FFF" rx=".9"></rect><rect width="10" height="1.8" x="6" y="9" fill="#FFF" rx=".9"></rect><rect width="7" height="1.8" x="6" y="13" fill="#FFF" rx=".9"></rect></g></svg><div class="css-z9ms26">Shared insights</div><div class="css-6uh2e7">on</div><a href="/react" class="css-1pwtf47"><span title="React" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1020/OYIaJ1KK.png" alt="React" class="css-1rz3855"/></span><span class="css-i6njnm">React</span></a><a href="/material-ui" class="css-1pwtf47"><span title="Material-UI" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1904/default_44d81cb9fadbc3688b7e91a6d5217d0ea5358b57.png" alt="Material-UI" class="css-1rz3855"/></span><span class="css-i6njnm">Material-UI</span></a><a href="/evergreen" class="css-1pwtf47"><span title="Evergreen" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/9302/819518.png" alt="Evergreen" class="css-1rz3855"/></span><span class="css-i6njnm">Evergreen</span></a><a href="/typescript" class="css-1pwtf47"><span title="TypeScript" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1612/bynNY5dJ.jpg" alt="TypeScript" class="css-1rz3855"/></span><span class="css-i6njnm">TypeScript</span></a><a href="/material-kit" class="css-1pwtf47"><span title="Material Kit" class="css-t68yd0 service"><img src="https://img.stackshare.io/no-img-open-source.png" alt="Material Kit" class="css-1rz3855"/></span><span class="css-i6njnm">Material Kit</span></a><a href="/create-react-app" class="css-1pwtf47"><span title="Create React App" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/5537/oi64YzXY.jpg" alt="Create React App" class="css-1rz3855"/></span><span class="css-i6njnm">Create React App</span></a><a href="/bit" class="css-1pwtf47"><span title="Bit" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/4616/QP1hRAU5_400x400.jpg" alt="Bit" class="css-1rz3855"/></span><span class="css-i6njnm">Bit</span></a></div><div class="css-1dp4k20"><div class="css-ztg526"><p>I picked up an idea to develop and it was no brainer I had to go with <span class="tool">React</span> for the frontend. I was faced with challenges when it came to what component framework to use. I had worked extensively with <span class="tool">Material-UI</span> but I needed something different that would offer me wider range of well customized components (I became pretty slow at styling). I brought in <span class="tool">Evergreen</span> after several sampling and reads online but again, after several prototype development against <span class="tool">Evergreen</span>—since I was using <span class="tool">TypeScript</span> and I had to import custom Type, it felt exhaustive. After I validated <span class="tool">Evergreen</span> with the designs of the idea I was developing, I also noticed I might have to do a lot of styling. I later stumbled on <span class="tool">Material Kit</span>, the one specifically made for <span class="tool">React</span> . It was promising with beautifully crafted components, most of which fits into the designs pages I had on ground.</p> <p>A major problem of <span class="tool">Material Kit</span> for me is it isn't written in <span class="tool">TypeScript</span> and there isn't any plans to support its <span class="tool">TypeScript</span> version. I rolled up my sleeve and started converting their components to <span class="tool">TypeScript</span> and if you'll ask me, I am still on it.</p> <p>In summary, I used the <span class="tool">Create React App</span> with <span class="tool">TypeScript</span> support and I am spending some time converting <span class="tool">Material Kit</span> to <span class="tool">TypeScript</span> before I start developing against it. All of these components are going to be hosted on <span class="tool">Bit</span>.</p> <p>If you feel I am crazy or I have gotten something wrong, I'll be willing to listen to your opinion. Also, if you want to have a share of whatever <span class="tool">TypeScript</span> version of <span class="tool">Material Kit</span> I end up coming up with, let me know.</p></div></div></div><a class="css-1srb7t4">See more</a></div></div></div><div class="css-8qpfeu"><div class="css-kb8or3"><div class="css-1d3wilq"><div class="css-ljm4wn"><div class="css-mwikcm"><a href="/django" class="css-1jltg37"><img src="https://img.stackshare.io/service/994/thumb_retina_4aGjtNQv.png" alt="Django logo" class="css-1489hth"/></a></div><div class="css-8wh4b7"><h2 class="css-pltn6z"><a href="/django" class="css-1hhgtx3">Django</a></h2><div class="css-rpzmwi"><div class="css-12alag6"><div class="css-5f7045"><div class="css-3k44bn"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><g fill="#A1A1A1" stroke="#A1A1A1" stroke-width=".2"><path fill-rule="evenodd" d="M20.467 21.867a2.415 2.415 0 0 1-2.318-1.74h-2.192l-.012.008-2.615-4.499h-1.598a2.415 2.415 0 1 1 0-1.35h1.641l-.058-.034 2.63-4.526.022.013h2.172a2.415 2.415 0 1 1 0 1.35h-1.424l-2.23 3.838-.002.003.001.004 2.234 3.843h1.431a2.415 2.415 0 1 1 2.318 3.09zm-.01-10.184a1.27 1.27 0 1 0-1.244-1.515v.492a1.27 1.27 0 0 0 1.244 1.023zm-11.043 2.01a1.268 1.268 0 1 0 0 2.537 1.268 1.268 0 0 0 0-2.537zm11.053 4.491a1.27 1.27 0 0 0-1.244 1.022v.493a1.27 1.27 0 0 0 1.244 1.022 1.27 1.27 0 0 0 0-2.537z"></path></g></svg></div><div class="css-1qckosq">32.7K</div></div><div class="css-5f7045"><div class="css-3k44bn"><svg class="css-1a4uubp" xmlns="http://www.w3.org/2000/svg" width="20" height="17" viewBox="0 0 20 17"><path fill="#A09F9F" fill-rule="evenodd" stroke="#999" stroke-width=".2" d="M14.432 12.715l2.348-2.746a.415.415 0 0 1 .607-.038.47.47 0 0 1 .028.646l-2.64 3.09a.419.419 0 0 1-.3.15h-.014a.414.414 0 0 1-.3-.127l-1.498-1.516a.466.466 0 0 1-.014-.637.413.413 0 0 1 .606-.015l1.177 1.193zm-3.165-.868a3.749 3.749 0 0 0 3.744 3.745 3.749 3.749 0 0 0 3.744-3.745 3.749 3.749 0 0 0-3.744-3.745 3.749 3.749 0 0 0-3.744 3.745zm2.001-4.195a4.523 4.523 0 0 1 1.743-.35 4.55 4.55 0 0 1 4.545 4.545 4.55 4.55 0 0 1-4.545 4.545 4.55 4.55 0 0 1-4.545-4.545 4.53 4.53 0 0 1 1.91-3.688c-.026-.013-.045-.029-.045-.054V5.837c0-.159.08-.308.207-.395a.588.588 0 0 0 .254-.487V2.6c0-.907-.721-1.64-1.602-1.64h-.494c-.886 0-1.603.738-1.603 1.64v2.355c0 .192.095.376.255.487a.47.47 0 0 1 .207.395v2.268a.588.588 0 0 1-.32.526c-.288.145-1.791.921-3.181 2.089a.66.66 0 0 0-.235.511v1.612a.456.456 0 0 1-.458.473.47.47 0 0 1-.466-.478v-1.612c0-.487.207-.94.575-1.249.153-.129.307-.253.461-.373V7.21a.5.5 0 0 1 .214-.41.352.352 0 0 0 .156-.296V4.618c0-.666-.525-1.206-1.172-1.206h-.394c-.646 0-1.166.54-1.166 1.201v1.886c0 .121.058.231.155.296.136.09.214.245.214.41v1.817c0 .225-.121.42-.316.52a13.83 13.83 0 0 0-2.513 1.662.421.421 0 0 0-.146.325v1.291a.487.487 0 0 1-.481.496A.487.487 0 0 1 0 12.82v-1.291c0-.425.18-.821.501-1.091.967-.821 2.003-1.411 2.479-1.667V7.435a1.368 1.368 0 0 1-.369-.936V4.613c0-1.211.958-2.192 2.129-2.192h.394c1.177 0 2.129.986 2.129 2.192v1.886c0 .356-.136.686-.369.936V8.91a19.344 19.344 0 0 1 1.733-1.037V6.059a1.557 1.557 0 0 1-.462-1.109V2.595C8.165 1.162 9.305 0 10.7 0h.495c1.399 0 2.535 1.167 2.535 2.595V4.95c0 .424-.17.82-.462 1.109v1.593z"></path></svg></div><div class="css-1qckosq">29.5K</div></div><div class="css-5f7045"><div class="css-3k44bn"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><path fill="#A1A1A1" stroke="#A1A1A1" stroke-width=".2" d="M23.42 15.403c.855-.864.59-2.612-.892-2.612l-3.903.002c.148-.837.363-2.226.354-2.357-.082-1.242-.863-2.754-.896-2.815-.143-.27-.862-.634-1.586-.478-.935.203-1.03.808-1.027.975 0 0 .04 1.655.044 2.097-.447.996-1.99 3.613-2.457 3.815a.706.706 0 0 0-.37-.105H7.755A.76.76 0 0 0 7 14.69v6.908a.72.72 0 0 0 .71.665h4.43a.718.718 0 0 0 .711-.722v-.23s.165-.012.24.037c.285.183.636.414 1.095.414h6.61c2.47 0 2.205-2.224 1.98-2.527.417-.46.675-1.273.323-1.915.27-.29.746-1.09.32-1.917zM11.986 21.54H7.71v-6.894h4.278v6.894zm10.28-6.196l-.041.17c1.138.329.532 1.659-.284 1.745l-.04.17c1.091.282.57 1.652-.285 1.745l-.04.17c.891.149.675 1.691-.675 1.691l-6.722.003c-.475 0-.907-.549-1.257-.549h-.304v-5.306c.38-.239.846-.549 1.106-.772.49-.424 2.497-3.71 2.497-4.122 0-.412-.045-2.191-.045-2.191s.394-.514 1.272-.14c0 0 .74 1.406.815 2.526 0 0-.333 2.307-.512 3.03h4.66c1.146.002.927 1.659-.146 1.83z"></path></svg></div><div class="css-1qckosq">4K</div></div></div></div><div class="css-q4ncy">The Web framework for perfectionists with deadlines</div><div class="css-1mj0hbk"><div class="css-1drwozb"><div class="css-gbti5j"><label>Stacks</label><span>32.7K</span></div><div class="css-1ahj942"></div><div class="css-1an0suy"><label>Followers</label><span>29.5K</span><div>+ 1</div></div><div class="css-1ahj942"></div><div class="css-gbti5j"><label>Votes</label><span>4K</span></div></div></div></div></div><div class="css-1dnnpo5"><div class="css-ubpjqb"><button data-testid="follow" class="css-14pk3xx"><svg width="11" height="11" viewBox="0 0 11 11" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="1.5"><path d="M5.5 0v11M0 5.5h11" fill="none" stroke="#fff"></path></svg> <!-- -->Follow</button><button data-testid="iUseThis" class="css-1o4togz"><svg width="11" height="11" viewBox="0 0 11 11" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="1.5"><path d="M5.5 0v11M0 5.5h11" fill="none" stroke="#fff"></path></svg> I use this</button></div><div class="css-gpa5xw"><div class="css-1ob9em9"><button class="css-1mpii3w">Troubleshoot Django App Performance With Datadog</button></div></div></div></div><div class="css-1erkkk4"><div class="css-a55l86"><div class="css-usifiy">PROS OF <!-- -->DJANGO</div><div class="css-6t66tf"><div class="css-nil"><div class="css-1v4wqws"><div class="css-nil"><div class="css-1x4ysa3"><h2 hidden="" class="css-nil"></h2><ul class="css-7c9av6"><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">653</span></div></div><span class="css-rsz8c">Rapid development</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">479</span></div></div><span class="css-rsz8c">Open source</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">413</span></div></div><span class="css-rsz8c">Great community</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">366</span></div></div><span class="css-rsz8c">Easy to learn</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">270</span></div></div><span class="css-rsz8c">Mvc</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">223</span></div></div><span class="css-rsz8c">Beautiful code</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">215</span></div></div><span class="css-rsz8c">Elegant</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">198</span></div></div><span class="css-rsz8c">Free</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">196</span></div></div><span class="css-rsz8c">Great packages</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">184</span></div></div><span class="css-rsz8c">Great libraries</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">74</span></div></div><span class="css-rsz8c">Restful</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">72</span></div></div><span class="css-rsz8c">Comes with auth and crud admin panel</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">71</span></div></div><span class="css-rsz8c">Powerful</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">69</span></div></div><span class="css-rsz8c">Great documentation</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">64</span></div></div><span class="css-rsz8c">Great for web</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">51</span></div></div><span class="css-rsz8c">Python</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">39</span></div></div><span class="css-rsz8c">Great orm</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">37</span></div></div><span class="css-rsz8c">Great for api</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">28</span></div></div><span class="css-rsz8c">All included</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">25</span></div></div><span class="css-rsz8c">Fast</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">23</span></div></div><span class="css-rsz8c">Web Apps</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">20</span></div></div><span class="css-rsz8c">Used by top startups</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">20</span></div></div><span class="css-rsz8c">Clean</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">19</span></div></div><span class="css-rsz8c">Easy setup</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">17</span></div></div><span class="css-rsz8c">Sexy</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">14</span></div></div><span class="css-rsz8c">Convention over configuration</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">13</span></div></div><span class="css-rsz8c">Allows for very rapid development with great libraries</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">13</span></div></div><span class="css-rsz8c">ORM</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">12</span></div></div><span class="css-rsz8c">The Django community</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">10</span></div></div><span class="css-rsz8c">King of backend world</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">9</span></div></div><span class="css-rsz8c">Great MVC and templating engine</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">7</span></div></div><span class="css-rsz8c">Full stack</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">7</span></div></div><span class="css-rsz8c">Batteries included</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">7</span></div></div><span class="css-rsz8c">Its elegant and practical</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">6</span></div></div><span class="css-rsz8c">Fast prototyping</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">6</span></div></div><span class="css-rsz8c">Very quick to get something up and running</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">6</span></div></div><span class="css-rsz8c">Mvt</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">6</span></div></div><span class="css-rsz8c">Cross-Platform</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">6</span></div></div><span class="css-rsz8c">Have not found anything that it can&#x27;t do</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">5</span></div></div><span class="css-rsz8c">Easy Structure , useful inbuilt library</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">5</span></div></div><span class="css-rsz8c">Easy to develop end to end AI Models</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">5</span></div></div><span class="css-rsz8c">Zero code burden to change databases</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">4</span></div></div><span class="css-rsz8c">Map</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">4</span></div></div><span class="css-rsz8c">Easy to change database manager</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">4</span></div></div><span class="css-rsz8c">Easy</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">4</span></div></div><span class="css-rsz8c">Great peformance</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class=&qu