<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="ToolProfile-apollo-state-6b14c531-0997-4a2c-b3fe-4f8c980fb514">{"ROOT_QUERY":{"me":null,"tool({\"id\":\"grails\"})":{"type":"id","generated":false,"id":"Tool:101231773839258072","typename":"Tool"},"tool({\"id\":\"101231773839258072\"})":{"type":"id","generated":false,"id":"Tool:101231773839258072","typename":"Tool"}},"Tool:101231773839258072":{"id":"101231773839258072","private":false,"imageUrl":"https://img.stackshare.io/service/998/ZpegWh99_400x400.jpg","thumbUrl":"https://img.stackshare.io/service/998/thumb_ZpegWh99_400x400.jpg","thumbRetinaUrl":"https://img.stackshare.io/service/998/thumb_retina_ZpegWh99_400x400.jpg","name":"Grails","pressUrl":"https://github.com/grails/grails-core","contactFlow":{"type":"json","json":{}},"legacyThirdPartyId":"998","jobsCount":0,"type":"Tool","keywords":{"type":"json","json":[]},"packageUrl":null,"packageManager":null,"featuredPosts":{"type":"id","generated":true,"id":"$Tool:101231773839258072.featuredPosts","typename":"FeaturedPostConnection"},"alternativeTools({\"first\":5})":{"type":"id","generated":true,"id":"$Tool:101231773839258072.alternativeTools({\"first\":5})","typename":"ToolConnection"},"followers":{"type":"id","generated":true,"id":"$Tool:101231773839258072.followers","typename":"UserConnection"},"privateStacks":{"type":"id","generated":true,"id":"$Tool:101231773839258072.privateStacks","typename":"StackConnection"},"privateUsersUsing":{"type":"id","generated":true,"id":"$Tool:101231773839258072.privateUsersUsing","typename":"UserConnection"},"privateUsersUsingViaPersonalStacks":{"type":"id","generated":true,"id":"$Tool:101231773839258072.privateUsersUsingViaPersonalStacks","typename":"UserConnection"},"privateUsersViaContributedStacks":{"type":"id","generated":true,"id":"$Tool:101231773839258072.privateUsersViaContributedStacks","typename":"UserConnection"},"teams":{"type":"id","generated":true,"id":"$Tool:101231773839258072.teams","typename":"TeamConnection"},"privateStackDecisions":{"type":"id","generated":true,"id":"$Tool:101231773839258072.privateStackDecisions","typename":"StackDecisionConnection"},"privateFollowers":{"type":"id","generated":true,"id":"$Tool:101231773839258072.privateFollowers","typename":"UserConnection"},"company":{"type":"id","generated":true,"id":"$Tool:101231773839258072.company","typename":"Company"},"pros":{"type":"id","generated":true,"id":"$Tool:101231773839258072.pros","typename":"ReasonConnection"},"slug":"grails","path":"/grails","verified":false,"title":"An Open Source, full stack, web application framework for the JVM","twitterUsername":"grailsframework","websiteUrl":"https://grails.org/","following":false,"githubStarsCount":2703,"githubForksCount":964,"githubUpdatedAt":"2022-12-06T15:28:34Z","hackernewsOnlineMentionsCount":30,"redditOnlineMentionsCount":160,"stackOverflowOnlineMentionsCount":29837,"description":"Grails is a framework used to build web applications with the Groovy programming language. The core framework is very extensible and there are numerous plugins available that provide easy integration of add-on features.","ampStoryEnabled":true,"stacks":369,"votes":333,"jobs":35,"relatedStackups":{"type":"id","generated":true,"id":"$Tool:101231773839258072.relatedStackups","typename":"StackupConnection"},"function":{"type":"id","generated":true,"id":"$Tool:101231773839258072.function","typename":"Function"},"layer":{"type":"id","generated":true,"id":"$Tool:101231773839258072.layer","typename":"Layer"},"category":{"type":"id","generated":true,"id":"$Tool:101231773839258072.category","typename":"Category"},"allToolIntegrations":{"type":"id","generated":true,"id":"$Tool:101231773839258072.allToolIntegrations","typename":"ToolConnection"},"companyStacksUsing":{"type":"id","generated":true,"id":"$Tool:101231773839258072.companyStacksUsing","typename":"StackConnection"},"userStacksUsing":{"type":"id","generated":true,"id":"$Tool:101231773839258072.userStacksUsing","typename":"StackConnection"},"features":"FLAT LEARNING CURVE; ON TOP OF SPRING BOOT; SMOOTH JAVA INTEGRATION; REST APIS, REACT, ANGULAR","footerAlternateTools({\"first\":5})":{"type":"id","generated":true,"id":"$Tool:101231773839258072.footerAlternateTools({\"first\":5})","typename":"ToolConnection"},"footerNewTools({\"first\":5})":{"type":"id","generated":true,"id":"$Tool:101231773839258072.footerNewTools({\"first\":5})","typename":"ToolConnection"},"footerTopTools({\"first\":5})":{"type":"id","generated":true,"id":"$Tool:101231773839258072.footerTopTools({\"first\":5})","typename":"ToolConnection"},"footerRelatedStackups({\"first\":5})":{"type":"id","generated":true,"id":"$Tool:101231773839258072.footerRelatedStackups({\"first\":5})","typename":"StackupConnection"},"toolType":true,"adoptionStageContext":null,"adoptionStage":null,"versionRules":{"type":"id","generated":true,"id":"$Tool:101231773839258072.versionRules","typename":"VersionRuleConnection"},"__typename":"Tool","userStacksUsing({\"first\":9})":{"type":"id","generated":true,"id":"$Tool:101231773839258072.userStacksUsing({\"first\":9})","typename":"StackConnection"},"followers({\"first\":10})":{"type":"id","generated":true,"id":"$Tool:101231773839258072.followers({\"first\":10})","typename":"UserConnection"},"fans":448,"stackDecisions({\"first\":6})":{"type":"id","generated":true,"id":"$Tool:101231773839258072.stackDecisions({\"first\":6})","typename":"StackDecisionConnection"},"relatedStackups({\"first\":6})":{"type":"id","generated":true,"id":"$Tool:101231773839258072.relatedStackups({\"first\":6})","typename":"StackupConnection"},"companyStacksUsing({\"first\":9})":{"type":"id","generated":true,"id":"$Tool:101231773839258072.companyStacksUsing({\"first\":9})","typename":"StackConnection"},"allToolIntegrations({\"first\":9})":{"type":"id","generated":true,"id":"$Tool:101231773839258072.allToolIntegrations({\"first\":9})","typename":"ToolConnection"}},"$Tool:101231773839258072.featuredPosts":{"edges":[],"__typename":"FeaturedPostConnection"},"Tool:101231773845883307":{"id":"101231773845883307","name":"Play","description":"Play Framework makes it easy to build web applications with Java & Scala. Play is based on a lightweight, stateless, web-friendly architecture. Built on Akka, Play provides predictable and minimal resource consumption (CPU, memory, threads) for highly-scalable applications.","__typename":"Tool","imageUrl":"https://img.stackshare.io/service/1013/HqN22PuY.png","thumbUrl":"https://img.stackshare.io/service/1013/thumb_HqN22PuY.png"},"$Tool:101231773839258072.alternativeTools({\"first\":5}).edges.0":{"node":{"type":"id","generated":false,"id":"Tool:101231773845883307","typename":"Tool"},"__typename":"ToolEdge"},"Tool:101231773835996572":{"id":"101231773835996572","name":"Rails","description":"Rails is a web-application framework that includes everything needed to create database-backed web applications according to the Model-View-Controller (MVC) pattern.","__typename":"Tool","imageUrl":"https://img.stackshare.io/service/990/x57_Lorv.png","thumbUrl":"https://img.stackshare.io/service/990/thumb_x57_Lorv.png"},"$Tool:101231773839258072.alternativeTools({\"first\":5}).edges.1":{"node":{"type":"id","generated":false,"id":"Tool:101231773835996572","typename":"Tool"},"__typename":"ToolEdge"},"Tool:101231773838774921":{"id":"101231773838774921","name":"Groovy","description":"It is a powerful multi-faceted programming language for the JVM platform. It supports a spectrum of programming styles incorporating features from dynamic languages such as optional and duck typing, but also static compilation and static type checking at levels similar to or greater than Java through its extensible static type checker. It aims to greatly increase developer productivity with many powerful features but also a concise, familiar and easy to learn syntax.","__typename":"Tool","path":"/groovy","imageUrl":"https://img.stackshare.io/service/997/default_7ff5fcd857f42ad25149f659693d8930bffddf14.png","thumbUrl":"https://img.stackshare.io/service/997/thumb_7ff5fcd857f42ad25149f659693d8930bffddf14.png","stacks":1780,"fans":1001,"votes":200,"following":false,"thumbRetinaUrl":"https://img.stackshare.io/service/997/thumb_retina_7ff5fcd857f42ad25149f659693d8930bffddf14.png","slug":"groovy"},"$Tool:101231773839258072.alternativeTools({\"first\":5}).edges.2":{"node":{"type":"id","generated":false,"id":"Tool:101231773838774921","typename":"Tool"},"__typename":"ToolEdge"},"Tool:101231774666323920":{"id":"101231774666323920","name":"Spring Boot","description":"Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can \"just run\". We take an opinionated view of the Spring platform and third-party libraries so you can get started with minimum fuss. Most Spring Boot applications need very little Spring configuration.","__typename":"Tool","imageUrl":"https://img.stackshare.io/service/2927/nPzvMuo2_400x400.png","thumbUrl":"https://img.stackshare.io/service/2927/thumb_nPzvMuo2_400x400.png","thumbRetinaUrl":"https://img.stackshare.io/service/2927/thumb_retina_nPzvMuo2_400x400.png","slug":"spring-boot","path":"/spring-boot"},"$Tool:101231773839258072.alternativeTools({\"first\":5}).edges.3":{"node":{"type":"id","generated":false,"id":"Tool:101231774666323920","typename":"Tool"},"__typename":"ToolEdge"},"Tool:101231773838374890":{"id":"101231773838374890","name":"Spring","description":"A key element of Spring is infrastructural support at the application level: Spring focuses on the \"plumbing\" of enterprise applications so that teams can focus on application-level business logic, without unnecessary ties to specific deployment environments.","__typename":"Tool","imageUrl":"https://img.stackshare.io/service/996/unnamed.jpg","thumbUrl":"https://img.stackshare.io/service/996/thumb_unnamed.jpg"},"$Tool:101231773839258072.alternativeTools({\"first\":5}).edges.4":{"node":{"type":"id","generated":false,"id":"Tool:101231773838374890","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231773839258072.alternativeTools({\"first\":5})":{"edges":[{"type":"id","generated":true,"id":"$Tool:101231773839258072.alternativeTools({\"first\":5}).edges.0","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.alternativeTools({\"first\":5}).edges.1","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.alternativeTools({\"first\":5}).edges.2","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.alternativeTools({\"first\":5}).edges.3","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.alternativeTools({\"first\":5}).edges.4","typename":"ToolEdge"}],"__typename":"ToolConnection"},"$Tool:101231773839258072.followers":{"count":355,"__typename":"UserConnection"},"$Tool:101231773839258072.privateStacks":{"count":0,"__typename":"StackConnection"},"$Tool:101231773839258072.privateUsersUsing":{"count":0,"__typename":"UserConnection"},"$Tool:101231773839258072.privateUsersUsingViaPersonalStacks":{"count":0,"__typename":"UserConnection"},"$Tool:101231773839258072.privateUsersViaContributedStacks":{"count":0,"__typename":"UserConnection"},"$Tool:101231773839258072.teams":{"count":0,"__typename":"TeamConnection"},"$Tool:101231773839258072.privateStackDecisions":{"count":0,"__typename":"StackDecisionConnection"},"$Tool:101231773839258072.privateFollowers":{"count":0,"__typename":"UserConnection"},"$Tool:101231773839258072.company":{"name":"Grails","amIOwner":false,"slug":"grails","path":"/companies/grails","stacks":[],"owners":[],"__typename":"Company"},"$Tool:101231773839258072.pros.pageInfo":{"hasNextPage":false,"endCursor":"MjA","__typename":"PageInfo"},"$Tool:101231773839258072.pros":{"pageInfo":{"type":"id","generated":true,"id":"$Tool:101231773839258072.pros.pageInfo","typename":"PageInfo"},"edges":[{"type":"id","generated":true,"id":"$Tool:101231773839258072.pros.edges.0","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.pros.edges.1","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.pros.edges.2","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.pros.edges.3","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.pros.edges.4","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.pros.edges.5","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.pros.edges.6","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.pros.edges.7","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.pros.edges.8","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.pros.edges.9","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.pros.edges.10","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.pros.edges.11","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.pros.edges.12","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.pros.edges.13","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.pros.edges.14","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.pros.edges.15","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.pros.edges.16","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.pros.edges.17","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.pros.edges.18","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.pros.edges.19","typename":"ReasonEdge"}],"__typename":"ReasonConnection"},"Reason:101978468464818656":{"id":"101978468464818656","upvoted":false,"upvotesCount":56,"text":"Groovy","__typename":"Reason"},"$Tool:101231773839258072.pros.edges.0":{"node":{"type":"id","generated":false,"id":"Reason:101978468464818656","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468465177158":{"id":"101978468465177158","upvoted":false,"upvotesCount":40,"text":"Jvm","__typename":"Reason"},"$Tool:101231773839258072.pros.edges.1":{"node":{"type":"id","generated":false,"id":"Reason:101978468465177158","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468679517238":{"id":"101978468679517238","upvoted":false,"upvotesCount":38,"text":"Rapid development","__typename":"Reason"},"$Tool:101231773839258072.pros.edges.2":{"node":{"type":"id","generated":false,"id":"Reason:101978468679517238","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468264836792":{"id":"101978468264836792","upvoted":false,"upvotesCount":37,"text":"Gorm","__typename":"Reason"},"$Tool:101231773839258072.pros.edges.3":{"node":{"type":"id","generated":false,"id":"Reason:101978468264836792","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468465291125":{"id":"101978468465291125","upvoted":false,"upvotesCount":30,"text":"Web framework","__typename":"Reason"},"$Tool:101231773839258072.pros.edges.4":{"node":{"type":"id","generated":false,"id":"Reason:101978468465291125","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468473423798":{"id":"101978468473423798","upvoted":false,"upvotesCount":25,"text":"Open source","__typename":"Reason"},"$Tool:101231773839258072.pros.edges.5":{"node":{"type":"id","generated":false,"id":"Reason:101978468473423798","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468464689962":{"id":"101978468464689962","upvoted":false,"upvotesCount":21,"text":"Plugins","__typename":"Reason"},"$Tool:101231773839258072.pros.edges.6":{"node":{"type":"id","generated":false,"id":"Reason:101978468464689962","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468464557422":{"id":"101978468464557422","upvoted":false,"upvotesCount":17,"text":"Extensible","__typename":"Reason"},"$Tool:101231773839258072.pros.edges.7":{"node":{"type":"id","generated":false,"id":"Reason:101978468464557422","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468663361344":{"id":"101978468663361344","upvoted":false,"upvotesCount":17,"text":"Easy","__typename":"Reason"},"$Tool:101231773839258072.pros.edges.8":{"node":{"type":"id","generated":false,"id":"Reason:101978468663361344","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468530016088":{"id":"101978468530016088","upvoted":false,"upvotesCount":14,"text":"Dynamic","__typename":"Reason"},"$Tool:101231773839258072.pros.edges.9":{"node":{"type":"id","generated":false,"id":"Reason:101978468530016088","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469169276793":{"id":"101978469169276793","upvoted":false,"upvotesCount":6,"text":"Clean architecture (Dependency Injection)","__typename":"Reason"},"$Tool:101231773839258072.pros.edges.10":{"node":{"type":"id","generated":false,"id":"Reason:101978469169276793","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469100049500":{"id":"101978469100049500","upvoted":false,"upvotesCount":6,"text":"Gradle","__typename":"Reason"},"$Tool:101231773839258072.pros.edges.11":{"node":{"type":"id","generated":false,"id":"Reason:101978469100049500","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469072401977":{"id":"101978469072401977","upvoted":false,"upvotesCount":5,"text":"Clear what everything does, lots of options","__typename":"Reason"},"$Tool:101231773839258072.pros.edges.12":{"node":{"type":"id","generated":false,"id":"Reason:101978469072401977","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468680294998":{"id":"101978468680294998","upvoted":false,"upvotesCount":4,"text":"RAD","__typename":"Reason"},"$Tool:101231773839258072.pros.edges.13":{"node":{"type":"id","generated":false,"id":"Reason:101978468680294998","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469308399604":{"id":"101978469308399604","upvoted":false,"upvotesCount":4,"text":"Agile ","__typename":"Reason"},"$Tool:101231773839258072.pros.edges.14":{"node":{"type":"id","generated":false,"id":"Reason:101978469308399604","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469942415591":{"id":"101978469942415591","upvoted":false,"upvotesCount":4,"text":"Great documentation","__typename":"Reason"},"$Tool:101231773839258072.pros.edges.15":{"node":{"type":"id","generated":false,"id":"Reason:101978469942415591","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469105749092":{"id":"101978469105749092","upvoted":false,"upvotesCount":3,"text":"Android","__typename":"Reason"},"$Tool:101231773839258072.pros.edges.16":{"node":{"type":"id","generated":false,"id":"Reason:101978469105749092","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469105555232":{"id":"101978469105555232","upvoted":false,"upvotesCount":3,"text":"Spring","__typename":"Reason"},"$Tool:101231773839258072.pros.edges.17":{"node":{"type":"id","generated":false,"id":"Reason:101978469105555232","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:103598997710440603":{"id":"103598997710440603","upvoted":false,"upvotesCount":2,"text":"Easy setup","__typename":"Reason"},"$Tool:101231773839258072.pros.edges.18":{"node":{"type":"id","generated":false,"id":"Reason:103598997710440603","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469957800054":{"id":"101978469957800054","upvoted":false,"upvotesCount":1,"text":"Java web apps with steroid","__typename":"Reason"},"$Tool:101231773839258072.pros.edges.19":{"node":{"type":"id","generated":false,"id":"Reason:101978469957800054","typename":"Reason"},"__typename":"ReasonEdge"},"$Tool:101231773839258072.relatedStackups":{"count":169,"__typename":"StackupConnection"},"$Tool:101231773839258072.function":{"name":"Frameworks (Full Stack)","slug":"frameworks","__typename":"Function"},"$Tool:101231773839258072.layer":{"name":"Application and Data","slug":"application_and_data","__typename":"Layer"},"$Tool:101231773839258072.category":{"name":"Languages & Frameworks","slug":"languages-and-frameworks","__typename":"Category"},"$Tool:101231773839258072.allToolIntegrations":{"count":17,"__typename":"ToolConnection"},"$Tool:101231773839258072.companyStacksUsing":{"count":66,"__typename":"StackConnection"},"$Tool:101231773839258072.userStacksUsing":{"count":298,"__typename":"StackConnection"},"$Tool:101231773839258072.footerAlternateTools({\"first\":5}).edges.0.node":{"name":"Play","path":"/play","__typename":"Tool"},"$Tool:101231773839258072.footerAlternateTools({\"first\":5}).edges.0":{"node":{"type":"id","generated":true,"id":"$Tool:101231773839258072.footerAlternateTools({\"first\":5}).edges.0.node","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231773839258072.footerAlternateTools({\"first\":5}).edges.1.node":{"name":"Rails","path":"/rails","__typename":"Tool"},"$Tool:101231773839258072.footerAlternateTools({\"first\":5}).edges.1":{"node":{"type":"id","generated":true,"id":"$Tool:101231773839258072.footerAlternateTools({\"first\":5}).edges.1.node","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231773839258072.footerAlternateTools({\"first\":5}).edges.2.node":{"name":"Groovy","path":"/groovy","__typename":"Tool"},"$Tool:101231773839258072.footerAlternateTools({\"first\":5}).edges.2":{"node":{"type":"id","generated":true,"id":"$Tool:101231773839258072.footerAlternateTools({\"first\":5}).edges.2.node","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231773839258072.footerAlternateTools({\"first\":5}).edges.3.node":{"name":"Spring Boot","path":"/spring-boot","__typename":"Tool"},"$Tool:101231773839258072.footerAlternateTools({\"first\":5}).edges.3":{"node":{"type":"id","generated":true,"id":"$Tool:101231773839258072.footerAlternateTools({\"first\":5}).edges.3.node","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231773839258072.footerAlternateTools({\"first\":5}).edges.4.node":{"name":"Spring","path":"/spring","__typename":"Tool"},"$Tool:101231773839258072.footerAlternateTools({\"first\":5}).edges.4":{"node":{"type":"id","generated":true,"id":"$Tool:101231773839258072.footerAlternateTools({\"first\":5}).edges.4.node","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231773839258072.footerAlternateTools({\"first\":5})":{"edges":[{"type":"id","generated":true,"id":"$Tool:101231773839258072.footerAlternateTools({\"first\":5}).edges.0","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.footerAlternateTools({\"first\":5}).edges.1","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.footerAlternateTools({\"first\":5}).edges.2","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.footerAlternateTools({\"first\":5}).edges.3","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.footerAlternateTools({\"first\":5}).edges.4","typename":"ToolEdge"}],"__typename":"ToolConnection"},"$Tool:101231773839258072.footerNewTools({\"first\":5}).edges.0.node":{"name":"LineageOS","path":"/lineageos","__typename":"Tool"},"$Tool:101231773839258072.footerNewTools({\"first\":5}).edges.0":{"node":{"type":"id","generated":true,"id":"$Tool:101231773839258072.footerNewTools({\"first\":5}).edges.0.node","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231773839258072.footerNewTools({\"first\":5}).edges.1.node":{"name":"FortiOS","path":"/fortios","__typename":"Tool"},"$Tool:101231773839258072.footerNewTools({\"first\":5}).edges.1":{"node":{"type":"id","generated":true,"id":"$Tool:101231773839258072.footerNewTools({\"first\":5}).edges.1.node","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231773839258072.footerNewTools({\"first\":5}).edges.2.node":{"name":"EuroLinux","path":"/euro-linux","__typename":"Tool"},"$Tool:101231773839258072.footerNewTools({\"first\":5}).edges.2":{"node":{"type":"id","generated":true,"id":"$Tool:101231773839258072.footerNewTools({\"first\":5}).edges.2.node","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231773839258072.footerNewTools({\"first\":5}).edges.3.node":{"name":"antiX Linux","path":"/antix-linux","__typename":"Tool"},"$Tool:101231773839258072.footerNewTools({\"first\":5}).edges.3":{"node":{"type":"id","generated":true,"id":"$Tool:101231773839258072.footerNewTools({\"first\":5}).edges.3.node","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231773839258072.footerNewTools({\"first\":5}).edges.4.node":{"name":"AlmaLinux","path":"/almalinux","__typename":"Tool"},"$Tool:101231773839258072.footerNewTools({\"first\":5}).edges.4":{"node":{"type":"id","generated":true,"id":"$Tool:101231773839258072.footerNewTools({\"first\":5}).edges.4.node","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231773839258072.footerNewTools({\"first\":5})":{"edges":[{"type":"id","generated":true,"id":"$Tool:101231773839258072.footerNewTools({\"first\":5}).edges.0","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.footerNewTools({\"first\":5}).edges.1","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.footerNewTools({\"first\":5}).edges.2","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.footerNewTools({\"first\":5}).edges.3","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.footerNewTools({\"first\":5}).edges.4","typename":"ToolEdge"}],"__typename":"ToolConnection"},"$Tool:101231773839258072.footerTopTools({\"first\":5}).edges.0.node":{"name":"JavaScript","path":"/javascript","__typename":"Tool"},"$Tool:101231773839258072.footerTopTools({\"first\":5}).edges.0":{"node":{"type":"id","generated":true,"id":"$Tool:101231773839258072.footerTopTools({\"first\":5}).edges.0.node","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231773839258072.footerTopTools({\"first\":5}).edges.1.node":{"name":"Python","path":"/python","__typename":"Tool"},"$Tool:101231773839258072.footerTopTools({\"first\":5}).edges.1":{"node":{"type":"id","generated":true,"id":"$Tool:101231773839258072.footerTopTools({\"first\":5}).edges.1.node","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231773839258072.footerTopTools({\"first\":5}).edges.2.node":{"name":"Node.js","path":"/nodejs","__typename":"Tool"},"$Tool:101231773839258072.footerTopTools({\"first\":5}).edges.2":{"node":{"type":"id","generated":true,"id":"$Tool:101231773839258072.footerTopTools({\"first\":5}).edges.2.node","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231773839258072.footerTopTools({\"first\":5}).edges.3.node":{"name":"PHP","path":"/php","__typename":"Tool"},"$Tool:101231773839258072.footerTopTools({\"first\":5}).edges.3":{"node":{"type":"id","generated":true,"id":"$Tool:101231773839258072.footerTopTools({\"first\":5}).edges.3.node","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231773839258072.footerTopTools({\"first\":5}).edges.4.node":{"name":"HTML5","path":"/html5","__typename":"Tool"},"$Tool:101231773839258072.footerTopTools({\"first\":5}).edges.4":{"node":{"type":"id","generated":true,"id":"$Tool:101231773839258072.footerTopTools({\"first\":5}).edges.4.node","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231773839258072.footerTopTools({\"first\":5})":{"edges":[{"type":"id","generated":true,"id":"$Tool:101231773839258072.footerTopTools({\"first\":5}).edges.0","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.footerTopTools({\"first\":5}).edges.1","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.footerTopTools({\"first\":5}).edges.2","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.footerTopTools({\"first\":5}).edges.3","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.footerTopTools({\"first\":5}).edges.4","typename":"ToolEdge"}],"__typename":"ToolConnection"},"$Tool:101231773839258072.footerRelatedStackups({\"first\":5}).edges.0.node":{"path":"/stackups/grails-vs-spring-boot","title":"Grails vs Spring Boot","__typename":"Stackup"},"$Tool:101231773839258072.footerRelatedStackups({\"first\":5}).edges.0":{"node":{"type":"id","generated":true,"id":"$Tool:101231773839258072.footerRelatedStackups({\"first\":5}).edges.0.node","typename":"Stackup"},"__typename":"StackupEdge"},"$Tool:101231773839258072.footerRelatedStackups({\"first\":5}).edges.1.node":{"path":"/stackups/grails-vs-nodejs","title":"Grails vs Node.js","__typename":"Stackup"},"$Tool:101231773839258072.footerRelatedStackups({\"first\":5}).edges.1":{"node":{"type":"id","generated":true,"id":"$Tool:101231773839258072.footerRelatedStackups({\"first\":5}).edges.1.node","typename":"Stackup"},"__typename":"StackupEdge"},"$Tool:101231773839258072.footerRelatedStackups({\"first\":5}).edges.2.node":{"path":"/stackups/django-vs-grails-vs-play","title":"Django vs Grails vs Play","__typename":"Stackup"},"$Tool:101231773839258072.footerRelatedStackups({\"first\":5}).edges.2":{"node":{"type":"id","generated":true,"id":"$Tool:101231773839258072.footerRelatedStackups({\"first\":5}).edges.2.node","typename":"Stackup"},"__typename":"StackupEdge"},"$Tool:101231773839258072.footerRelatedStackups({\"first\":5}).edges.3.node":{"path":"/stackups/grails-vs-laravel","title":"Grails vs Laravel","__typename":"Stackup"},"$Tool:101231773839258072.footerRelatedStackups({\"first\":5}).edges.3":{"node":{"type":"id","generated":true,"id":"$Tool:101231773839258072.footerRelatedStackups({\"first\":5}).edges.3.node","typename":"Stackup"},"__typename":"StackupEdge"},"$Tool:101231773839258072.footerRelatedStackups({\"first\":5}).edges.4.node":{"path":"/stackups/django-vs-grails-vs-nodejs","title":"Django vs Grails vs Node.js","__typename":"Stackup"},"$Tool:101231773839258072.footerRelatedStackups({\"first\":5}).edges.4":{"node":{"type":"id","generated":true,"id":"$Tool:101231773839258072.footerRelatedStackups({\"first\":5}).edges.4.node","typename":"Stackup"},"__typename":"StackupEdge"},"$Tool:101231773839258072.footerRelatedStackups({\"first\":5})":{"edges":[{"type":"id","generated":true,"id":"$Tool:101231773839258072.footerRelatedStackups({\"first\":5}).edges.0","typename":"StackupEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.footerRelatedStackups({\"first\":5}).edges.1","typename":"StackupEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.footerRelatedStackups({\"first\":5}).edges.2","typename":"StackupEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.footerRelatedStackups({\"first\":5}).edges.3","typename":"StackupEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.footerRelatedStackups({\"first\":5}).edges.4","typename":"StackupEdge"}],"__typename":"StackupConnection"},"$Tool:101231773839258072.versionRules":{"count":0,"__typename":"VersionRuleConnection"},"$Tool:101231773839258072.userStacksUsing({\"first\":9})":{"count":298,"pageInfo":{"type":"id","generated":true,"id":"$Tool:101231773839258072.userStacksUsing({\"first\":9}).pageInfo","typename":"PageInfo"},"edges":[{"type":"id","generated":true,"id":"$Tool:101231773839258072.userStacksUsing({\"first\":9}).edges.0","typename":"StackEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.userStacksUsing({\"first\":9}).edges.1","typename":"StackEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.userStacksUsing({\"first\":9}).edges.2","typename":"StackEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.userStacksUsing({\"first\":9}).edges.3","typename":"StackEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.userStacksUsing({\"first\":9}).edges.4","typename":"StackEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.userStacksUsing({\"first\":9}).edges.5","typename":"StackEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.userStacksUsing({\"first\":9}).edges.6","typename":"StackEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.userStacksUsing({\"first\":9}).edges.7","typename":"StackEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.userStacksUsing({\"first\":9}).edges.8","typename":"StackEdge"}],"__typename":"StackConnection"},"$Tool:101231773839258072.userStacksUsing({\"first\":9}).pageInfo":{"hasNextPage":true,"endCursor":"OQ","__typename":"PageInfo"},"Stack:101231780854798467":{"name":"DFe Cloud","imageUrl":"https://img.stackshare.io/stack/5668/default_0e123b2b107384ec398a771a82e5fde5129fc654.png","thumbUrl":"https://img.stackshare.io/stack/5668/thumb_0e123b2b107384ec398a771a82e5fde5129fc654.png","thumbRetinaUrl":"https://img.stackshare.io/stack/5668/thumb_retina_0e123b2b107384ec398a771a82e5fde5129fc654.png","identifier":"diogogallo/dfe-cloud","id":"101231780854798467","__typename":"Stack"},"$Tool:101231773839258072.userStacksUsing({\"first\":9}).edges.0":{"node":{"type":"id","generated":false,"id":"Stack:101231780854798467","typename":"Stack"},"__typename":"StackEdge"},"Stack:101231788326587343":{"name":"FaciliCase","imageUrl":"https://img.stackshare.io/stack/22343/default_2c96b90dd6cc2f43e0703f66f838d41fa0af1e42.png","thumbUrl":"https://img.stackshare.io/stack/22343/thumb_2c96b90dd6cc2f43e0703f66f838d41fa0af1e42.png","thumbRetinaUrl":"https://img.stackshare.io/stack/22343/thumb_retina_2c96b90dd6cc2f43e0703f66f838d41fa0af1e42.png","identifier":"mattluttrell/facilicase","id":"101231788326587343","__typename":"Stack"},"$Tool:101231773839258072.userStacksUsing({\"first\":9}).edges.1":{"node":{"type":"id","generated":false,"id":"Stack:101231788326587343","typename":"Stack"},"__typename":"StackEdge"},"Stack:101231786146979266":{"name":"Grails","imageUrl":"https://img.stackshare.io/stack/17575/default_cbfe4c1b109814a3ad72ca6daf05156429812661.png","thumbUrl":"https://img.stackshare.io/stack/17575/thumb_cbfe4c1b109814a3ad72ca6daf05156429812661.png","thumbRetinaUrl":"https://img.stackshare.io/stack/17575/thumb_retina_cbfe4c1b109814a3ad72ca6daf05156429812661.png","identifier":"machador/grails","id":"101231786146979266","__typename":"Stack"},"$Tool:101231773839258072.userStacksUsing({\"first\":9}).edges.2":{"node":{"type":"id","generated":false,"id":"Stack:101231786146979266","typename":"Stack"},"__typename":"StackEdge"},"Stack:101231779088355393":{"name":"UPPORC","imageUrl":"https://img.stackshare.io/stack/1462/default_7dc3314c68741a3b8a181a9e68aa1dfaa86606b6.png","thumbUrl":"https://img.stackshare.io/stack/1462/thumb_7dc3314c68741a3b8a181a9e68aa1dfaa86606b6.png","thumbRetinaUrl":"https://img.stackshare.io/stack/1462/thumb_retina_7dc3314c68741a3b8a181a9e68aa1dfaa86606b6.png","identifier":"upporc/upporc","id":"101231779088355393","__typename":"Stack"},"$Tool:101231773839258072.userStacksUsing({\"first\":9}).edges.3":{"node":{"type":"id","generated":false,"id":"Stack:101231779088355393","typename":"Stack"},"__typename":"StackEdge"},"Stack:101231779269367227":{"name":"jeanjoel-allainmat","imageUrl":"https://img.stackshare.io/stack/1926/default_9b2e650cc790a04ec86e83414bc1bc8b18b0c6bf.png","thumbUrl":"https://img.stackshare.io/stack/1926/thumb_9b2e650cc790a04ec86e83414bc1bc8b18b0c6bf.png","thumbRetinaUrl":"https://img.stackshare.io/stack/1926/thumb_retina_9b2e650cc790a04ec86e83414bc1bc8b18b0c6bf.png","identifier":"allainma/jeanjoel-allainmat","id":"101231779269367227","__typename":"Stack"},"$Tool:101231773839258072.userStacksUsing({\"first\":9}).edges.4":{"node":{"type":"id","generated":false,"id":"Stack:101231779269367227","typename":"Stack"},"__typename":"StackEdge"},"Stack:101231779441702795":{"name":"Tools I Know","imageUrl":"https://img.stackshare.io/stack/2368/default_82afb45a8e4861bc488448a5bc1b2014c8986c6f.png","thumbUrl":"https://img.stackshare.io/stack/2368/thumb_82afb45a8e4861bc488448a5bc1b2014c8986c6f.png","thumbRetinaUrl":"https://img.stackshare.io/stack/2368/thumb_retina_82afb45a8e4861bc488448a5bc1b2014c8986c6f.png","identifier":"bo2star/tools-i-know","id":"101231779441702795","__typename":"Stack"},"$Tool:101231773839258072.userStacksUsing({\"first\":9}).edges.5":{"node":{"type":"id","generated":false,"id":"Stack:101231779441702795","typename":"Stack"},"__typename":"StackEdge"},"Stack:101231779795608206":{"name":"Grails Chained Select","imageUrl":"https://img.stackshare.io/stack/3253/default_c8ecd318a10e6ba3c94a26a1138165a1765b20ea.jpeg","thumbUrl":"https://img.stackshare.io/stack/3253/thumb_c8ecd318a10e6ba3c94a26a1138165a1765b20ea.jpeg","thumbRetinaUrl":"https://img.stackshare.io/stack/3253/thumb_retina_c8ecd318a10e6ba3c94a26a1138165a1765b20ea.jpeg","identifier":"cruzer45/grails-chained-select","id":"101231779795608206","__typename":"Stack"},"$Tool:101231773839258072.userStacksUsing({\"first\":9}).edges.6":{"node":{"type":"id","generated":false,"id":"Stack:101231779795608206","typename":"Stack"},"__typename":"StackEdge"},"Stack:101231780780323880":{"name":"My Stack","imageUrl":"https://img.stackshare.io/stack/5514/default_25e7020f3b63f5d99e6ce97965cda16158cb316c.jpeg","thumbUrl":"https://img.stackshare.io/stack/5514/thumb_25e7020f3b63f5d99e6ce97965cda16158cb316c.jpeg","thumbRetinaUrl":"https://img.stackshare.io/stack/5514/thumb_retina_25e7020f3b63f5d99e6ce97965cda16158cb316c.jpeg","identifier":"willis7/my-stack","id":"101231780780323880","__typename":"Stack"},"$Tool:101231773839258072.userStacksUsing({\"first\":9}).edges.7":{"node":{"type":"id","generated":false,"id":"Stack:101231780780323880","typename":"Stack"},"__typename":"StackEdge"},"Stack:101231780781545011":{"name":"My Stack","imageUrl":"https://img.stackshare.io/stack/5516/default_464c018e4077f9a387c605567203cd0e83f92630.jpeg","thumbUrl":"https://img.stackshare.io/stack/5516/thumb_464c018e4077f9a387c605567203cd0e83f92630.jpeg","thumbRetinaUrl":"https://img.stackshare.io/stack/5516/thumb_retina_464c018e4077f9a387c605567203cd0e83f92630.jpeg","identifier":"kaushikgandhi/my-stack","id":"101231780781545011","__typename":"Stack"},"$Tool:101231773839258072.userStacksUsing({\"first\":9}).edges.8":{"node":{"type":"id","generated":false,"id":"Stack:101231780781545011","typename":"Stack"},"__typename":"StackEdge"},"$Tool:101231773839258072.followers({\"first\":10})":{"count":355,"pageInfo":{"type":"id","generated":true,"id":"$Tool:101231773839258072.followers({\"first\":10}).pageInfo","typename":"PageInfo"},"edges":[{"type":"id","generated":true,"id":"$Tool:101231773839258072.followers({\"first\":10}).edges.0","typename":"UserEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.followers({\"first\":10}).edges.1","typename":"UserEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.followers({\"first\":10}).edges.2","typename":"UserEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.followers({\"first\":10}).edges.3","typename":"UserEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.followers({\"first\":10}).edges.4","typename":"UserEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.followers({\"first\":10}).edges.5","typename":"UserEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.followers({\"first\":10}).edges.6","typename":"UserEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.followers({\"first\":10}).edges.7","typename":"UserEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.followers({\"first\":10}).edges.8","typename":"UserEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.followers({\"first\":10}).edges.9","typename":"UserEdge"}],"__typename":"UserConnection"},"$Tool:101231773839258072.followers({\"first\":10}).pageInfo":{"hasNextPage":true,"endCursor":"MTA","__typename":"PageInfo"},"User:109353355969087444":{"id":"109353355969087444","displayName":"Sde mod2","username":"sdemod2","imageUrl":"https://img.stackshare.io/user/1400109/default_4b6b686512bf521aa06cbc58cfd2ccde8834de46.png","title":"","popularity":3,"path":"/sdemod2","stacksCount":1,"favoritesCount":0,"votesCount":0,"__typename":"User"},"$Tool:101231773839258072.followers({\"first\":10}).edges.0":{"node":{"type":"id","generated":false,"id":"User:109353355969087444","typename":"User"},"__typename":"UserEdge"},"User:109240853037373266":{"id":"109240853037373266","displayName":"Ward Maddux","username":"wardmaddux","imageUrl":"https://img.stackshare.io/user/1387548/default_75a3bc26daa2aea8a12f6081a20b659c407d3c95.jpg","title":"","popularity":3,"path":"/wardmaddux","stacksCount":1,"favoritesCount":0,"votesCount":0,"__typename":"User"},"$Tool:101231773839258072.followers({\"first\":10}).edges.1":{"node":{"type":"id","generated":false,"id":"User:109240853037373266","typename":"User"},"__typename":"UserEdge"},"User:109126172965630424":{"id":"109126172965630424","displayName":"Hứa Văn Dũng","username":"dunghv","imageUrl":"https://img.stackshare.io/user/1374174/default_5c5a1224be598f95054d66c667c58f27de825d62.jpg","title":"","popularity":3,"path":"/dunghv","stacksCount":1,"favoritesCount":0,"votesCount":0,"__typename":"User"},"$Tool:101231773839258072.followers({\"first\":10}).edges.2":{"node":{"type":"id","generated":false,"id":"User:109126172965630424","typename":"User"},"__typename":"UserEdge"},"User:109116753690313312":{"id":"109116753690313312","displayName":"FIDEL SANTA CRUZ","username":"fas7478","imageUrl":"https://img.stackshare.io/user/1373096/default_85fb3328cf8b95caeb3b737ca1666a039670fd5f.jpg","title":"","popularity":0,"path":"/fas7478","stacksCount":1,"favoritesCount":0,"votesCount":0,"__typename":"User"},"$Tool:101231773839258072.followers({\"first\":10}).edges.3":{"node":{"type":"id","generated":false,"id":"User:109116753690313312","typename":"User"},"__typename":"UserEdge"},"User:109069860164224701":{"id":"109069860164224701","displayName":"Nikhil Jha","username":"nikhiljha11","imageUrl":"https://img.stackshare.io/user/1367590/default_5633cf21c1c2e833d087822025e05c9e4351a283.jpg","title":"Senior Engineering Lead","popularity":3,"path":"/nikhiljha11","stacksCount":1,"favoritesCount":0,"votesCount":0,"__typename":"User"},"$Tool:101231773839258072.followers({\"first\":10}).edges.4":{"node":{"type":"id","generated":false,"id":"User:109069860164224701","typename":"User"},"__typename":"UserEdge"},"User:108997877025230736":{"id":"108997877025230736","displayName":"gausnes","username":"gausnes","imageUrl":"https://img.stackshare.io/user/1359583/default_e073b22b1ebff65be00be534f4279fa9e3652e86.png","title":"","popularity":3,"path":"/gausnes","stacksCount":1,"favoritesCount":0,"votesCount":0,"__typename":"User"},"$Tool:101231773839258072.followers({\"first\":10}).edges.5":{"node":{"type":"id","generated":false,"id":"User:108997877025230736","typename":"User"},"__typename":"UserEdge"},"User:108869750968370887":{"id":"108869750968370887","displayName":"Jhonatan M","username":"jhonatancool","imageUrl":"https://img.stackshare.io/user/1333598/default_921f555171274ba9d539c9dbb8d31962e1421479.png","title":"developer","popularity":3,"path":"/jhonatancool","stacksCount":1,"favoritesCount":0,"votesCount":0,"__typename":"User"},"$Tool:101231773839258072.followers({\"first\":10}).edges.6":{"node":{"type":"id","generated":false,"id":"User:108869750968370887","typename":"User"},"__typename":"UserEdge"},"User:108849508792905076":{"id":"108849508792905076","displayName":"Imran Mir","username":"imranm4","imageUrl":"https://img.stackshare.io/user/1331716/default_fa36902a5c672ffb6e6b580e8f373d4813685556.jpg","title":"","popularity":3,"path":"/imranm4","stacksCount":1,"favoritesCount":0,"votesCount":0,"__typename":"User"},"$Tool:101231773839258072.followers({\"first\":10}).edges.7":{"node":{"type":"id","generated":false,"id":"User:108849508792905076","typename":"User"},"__typename":"UserEdge"},"User:108795642363633963":{"id":"108795642363633963","displayName":"Fernando Chagas","username":"fernando-12","imageUrl":"https://img.stackshare.io/user/1325253/default_3245b950307ca0eded0f4aa607f925b385631207.jpg","title":"CTO","popularity":3,"path":"/fernando-12","stacksCount":1,"favoritesCount":0,"votesCount":0,"__typename":"User"},"$Tool:101231773839258072.followers({\"first\":10}).edges.8":{"node":{"type":"id","generated":false,"id":"User:108795642363633963","typename":"User"},"__typename":"UserEdge"},"User:108758051732182575":{"id":"108758051732182575","displayName":"Khoa Le","username":"bryanlekhoa","imageUrl":"https://img.stackshare.io/user/1320875/default_19b5ffd447063c419dc10a151e5687f18df7d270.png","title":"Developer","popularity":3,"path":"/bryanlekhoa","stacksCount":1,"favoritesCount":0,"votesCount":0,"__typename":"User"},"$Tool:101231773839258072.followers({\"first\":10}).edges.9":{"node":{"type":"id","generated":false,"id":"User:108758051732182575","typename":"User"},"__typename":"UserEdge"},"$Tool:101231773839258072.stackDecisions({\"first\":6})":{"count":1,"pageInfo":{"type":"id","generated":true,"id":"$Tool:101231773839258072.stackDecisions({\"first\":6}).pageInfo","typename":"PageInfo"},"edges":[{"type":"id","generated":true,"id":"$Tool:101231773839258072.stackDecisions({\"first\":6}).edges.0","typename":"StackDecisionEdge"}],"__typename":"StackDecisionConnection"},"$Tool:101231773839258072.stackDecisions({\"first\":6}).pageInfo":{"hasNextPage":false,"endCursor":"MQ","__typename":"PageInfo"},"User:107654692926011114":{"id":"107654692926011114","username":"sreenathsc1981","title":null,"companyName":null,"imageUrl":"https://img.stackshare.io/user/1114476/default_29f9da52a0243ccfb40a3d0b70f8eccff19974da.jpg","thumbUrl":"https://img.stackshare.io/user/1114476/thumb_29f9da52a0243ccfb40a3d0b70f8eccff19974da.jpg","displayName":"Sreenath SC","__typename":"User"},"StackDecision:107654714233511001":{"user":{"type":"id","generated":false,"id":"User:107654692926011114","typename":"User"},"company":null,"link":null,"publicId":"107654714233511001","id":"107654714233511001","htmlContent":"<p>Presently, a web-based ERP is developed in <span class=\"tool\">Groovy</span> on <span class=\"tool\">Grails</span>. Now the ERP is getting revamped with more functionalities. Is it advisable to continue with the same software and framework or try something new especially <span class=\"tool\">Node.js</span> over <span class=\"tool\">ExpressJS</span>?</p>","viewCount":16566,"publishedAt":"2022-01-20T12:09:36Z","upvotesCount":3,"services":[{"type":"id","generated":false,"id":"Tool:101231773920953695","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773845103618","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773839258072","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773838774921","typename":"Tool"}],"topics":[],"__typename":"StackDecision"},"Tool:101231773920953695":{"name":"ExpressJS","path":"/expressjs","id":"101231773920953695","imageUrl":"https://img.stackshare.io/service/1163/hashtag.png","thumbUrl":"https://img.stackshare.io/service/1163/thumb_hashtag.png","stacks":26508,"fans":24723,"votes":1591,"following":false,"__typename":"Tool"},"Tool:101231773845103618":{"name":"Node.js","path":"/nodejs","id":"101231773845103618","imageUrl":"https://img.stackshare.io/service/1011/n1JRsFeB_400x400.png","thumbUrl":"https://img.stackshare.io/service/1011/thumb_n1JRsFeB_400x400.png","stacks":159698,"fans":154905,"votes":8511,"following":false,"__typename":"Tool"},"$Tool:101231773839258072.stackDecisions({\"first\":6}).edges.0":{"node":{"type":"id","generated":false,"id":"StackDecision:107654714233511001","typename":"StackDecision"},"__typename":"StackDecisionEdge"},"Stackup:101231829338271076":{"id":"101231829338271076","path":"/stackups/grails-vs-play","services":[{"type":"id","generated":false,"id":"Tool:101231773845883307","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773839258072","typename":"Tool"}],"__typename":"Stackup"},"$Tool:101231773839258072.relatedStackups({\"first\":6}).edges.0":{"node":{"type":"id","generated":false,"id":"Stackup:101231829338271076","typename":"Stackup"},"__typename":"StackupEdge"},"Stackup:101231829283639369":{"id":"101231829283639369","path":"/stackups/grails-vs-rails","services":[{"type":"id","generated":false,"id":"Tool:101231773835996572","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773839258072","typename":"Tool"}],"__typename":"Stackup"},"$Tool:101231773839258072.relatedStackups({\"first\":6}).edges.1":{"node":{"type":"id","generated":false,"id":"Stackup:101231829283639369","typename":"Stackup"},"__typename":"StackupEdge"},"Stackup:102051534761894354":{"id":"102051534761894354","path":"/stackups/grails-vs-groovy","services":[{"type":"id","generated":false,"id":"Tool:101231773838774921","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773839258072","typename":"Tool"}],"__typename":"Stackup"},"$Tool:101231773839258072.relatedStackups({\"first\":6}).edges.2":{"node":{"type":"id","generated":false,"id":"Stackup:102051534761894354","typename":"Stackup"},"__typename":"StackupEdge"},"Stackup:101231856059149346":{"id":"101231856059149346","path":"/stackups/grails-vs-spring-boot","services":[{"type":"id","generated":false,"id":"Tool:101231774666323920","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773839258072","typename":"Tool"}],"__typename":"Stackup"},"$Tool:101231773839258072.relatedStackups({\"first\":6}).edges.3":{"node":{"type":"id","generated":false,"id":"Stackup:101231856059149346","typename":"Stackup"},"__typename":"StackupEdge"},"Stackup:101231829323392750":{"id":"101231829323392750","path":"/stackups/grails-vs-spring","services":[{"type":"id","generated":false,"id":"Tool:101231773838374890","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773839258072","typename":"Tool"}],"__typename":"Stackup"},"$Tool:101231773839258072.relatedStackups({\"first\":6}).edges.4":{"node":{"type":"id","generated":false,"id":"Stackup:101231829323392750","typename":"Stackup"},"__typename":"StackupEdge"},"Stackup:103999661829466199":{"id":"103999661829466199","path":"/stackups/grails-vs-java","services":[{"type":"id","generated":false,"id":"Tool:101231773838011785","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773839258072","typename":"Tool"}],"__typename":"Stackup"},"Tool:101231773838011785":{"id":"101231773838011785","name":"Java","imageUrl":"https://img.stackshare.io/service/995/K85ZWV2F.png","thumbUrl":"https://img.stackshare.io/service/995/thumb_K85ZWV2F.png","__typename":"Tool","thumbRetinaUrl":"https://img.stackshare.io/service/995/thumb_retina_K85ZWV2F.png","slug":"java","path":"/java"},"$Tool:101231773839258072.relatedStackups({\"first\":6}).edges.5":{"node":{"type":"id","generated":false,"id":"Stackup:103999661829466199","typename":"Stackup"},"__typename":"StackupEdge"},"$Tool:101231773839258072.relatedStackups({\"first\":6})":{"edges":[{"type":"id","generated":true,"id":"$Tool:101231773839258072.relatedStackups({\"first\":6}).edges.0","typename":"StackupEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.relatedStackups({\"first\":6}).edges.1","typename":"StackupEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.relatedStackups({\"first\":6}).edges.2","typename":"StackupEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.relatedStackups({\"first\":6}).edges.3","typename":"StackupEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.relatedStackups({\"first\":6}).edges.4","typename":"StackupEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.relatedStackups({\"first\":6}).edges.5","typename":"StackupEdge"}],"__typename":"StackupConnection"},"$Tool:101231773839258072.companyStacksUsing({\"first\":9})":{"count":66,"pageInfo":{"type":"id","generated":true,"id":"$Tool:101231773839258072.companyStacksUsing({\"first\":9}).pageInfo","typename":"PageInfo"},"edges":[{"type":"id","generated":true,"id":"$Tool:101231773839258072.companyStacksUsing({\"first\":9}).edges.0","typename":"StackEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.companyStacksUsing({\"first\":9}).edges.1","typename":"StackEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.companyStacksUsing({\"first\":9}).edges.2","typename":"StackEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.companyStacksUsing({\"first\":9}).edges.3","typename":"StackEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.companyStacksUsing({\"first\":9}).edges.4","typename":"StackEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.companyStacksUsing({\"first\":9}).edges.5","typename":"StackEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.companyStacksUsing({\"first\":9}).edges.6","typename":"StackEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.companyStacksUsing({\"first\":9}).edges.7","typename":"StackEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.companyStacksUsing({\"first\":9}).edges.8","typename":"StackEdge"}],"__typename":"StackConnection"},"$Tool:101231773839258072.companyStacksUsing({\"first\":9}).pageInfo":{"hasNextPage":true,"endCursor":"OQ","__typename":"PageInfo"},"Stack:101231778466731230":{"name":"LinkedIn","imageUrl":"https://img.stackshare.io/stack/20/default_0f2e330b189b8690f25d4a51e09a4027d4041f09.png","thumbUrl":"https://img.stackshare.io/stack/20/thumb_0f2e330b189b8690f25d4a51e09a4027d4041f09.png","thumbRetinaUrl":"https://img.stackshare.io/stack/20/thumb_retina_0f2e330b189b8690f25d4a51e09a4027d4041f09.png","identifier":"linkedin/linkedin","id":"101231778466731230","__typename":"Stack"},"$Tool:101231773839258072.companyStacksUsing({\"first\":9}).edges.0":{"node":{"type":"id","generated":false,"id":"Stack:101231778466731230","typename":"Stack"},"__typename":"StackEdge"},"Stack:101231823347720469":{"name":"Biting Bit","imageUrl":"https://img.stackshare.io/stack/340265/default_9efe56e6765b433c7615f5e25f34f71ec66c4c86.png","thumbUrl":"https://img.stackshare.io/stack/340265/thumb_9efe56e6765b433c7615f5e25f34f71ec66c4c86.png","thumbRetinaUrl":"https://img.stackshare.io/stack/340265/thumb_retina_9efe56e6765b433c7615f5e25f34f71ec66c4c86.png","identifier":"biting-bit-gmbh/biting-bit","id":"101231823347720469","__typename":"Stack"},"$Tool:101231773839258072.companyStacksUsing({\"first\":9}).edges.1":{"node":{"type":"id","generated":false,"id":"Stack:101231823347720469","typename":"Stack"},"__typename":"StackEdge"},"Stack:101231784559541355":{"name":"TransferWise","imageUrl":"https://img.stackshare.io/stack/13927/default_f26ca6e4e8a26fd2d32449f8435beaea986035b9.png","thumbUrl":"https://img.stackshare.io/stack/13927/thumb_f26ca6e4e8a26fd2d32449f8435beaea986035b9.png","thumbRetinaUrl":"https://img.stackshare.io/stack/13927/thumb_retina_f26ca6e4e8a26fd2d32449f8435beaea986035b9.png","identifier":"wise_transferwise/transferwise","id":"101231784559541355","__typename":"Stack"},"$Tool:101231773839258072.companyStacksUsing({\"first\":9}).edges.2":{"node":{"type":"id","generated":false,"id":"Stack:101231784559541355","typename":"Stack"},"__typename":"StackEdge"},"Stack:101231788729102490":{"name":"EasyCrédito","imageUrl":"https://img.stackshare.io/stack/23147/default_000167b73a3f083123900ab4731dc9815a766cf5.png","thumbUrl":"https://img.stackshare.io/stack/23147/thumb_000167b73a3f083123900ab4731dc9815a766cf5.png","thumbRetinaUrl":"https://img.stackshare.io/stack/23147/thumb_retina_000167b73a3f083123900ab4731dc9815a766cf5.png","identifier":"easycredito/easycredito","id":"101231788729102490","__typename":"Stack"},"$Tool:101231773839258072.companyStacksUsing({\"first\":9}).edges.3":{"node":{"type":"id","generated":false,"id":"Stack:101231788729102490","typename":"Stack"},"__typename":"StackEdge"},"Stack:101231778772762318":{"name":"PedidosYa","imageUrl":"https://img.stackshare.io/stack/767/default_6231ef4754b5c743fb84c1328f518653ff8bfd9f.png","thumbUrl":"https://img.stackshare.io/stack/767/thumb_6231ef4754b5c743fb84c1328f518653ff8bfd9f.png","thumbRetinaUrl":"https://img.stackshare.io/stack/767/thumb_retina_6231ef4754b5c743fb84c1328f518653ff8bfd9f.png","identifier":"pedidosya/pedidosya","id":"101231778772762318","__typename":"Stack"},"$Tool:101231773839258072.companyStacksUsing({\"first\":9}).edges.4":{"node":{"type":"id","generated":false,"id":"Stack:101231778772762318","typename":"Stack"},"__typename":"StackEdge"},"Stack:101231786070059483":{"name":"Secret Escapes","imageUrl":"https://img.stackshare.io/stack/17430/default_ee7e31dfbc952159cbcdb449cc52b687274aff9f.jpg","thumbUrl":"https://img.stackshare.io/stack/17430/thumb_ee7e31dfbc952159cbcdb449cc52b687274aff9f.jpg","thumbRetinaUrl":"https://img.stackshare.io/stack/17430/thumb_retina_ee7e31dfbc952159cbcdb449cc52b687274aff9f.jpg","identifier":"secret-escapes/secret-escapes","id":"101231786070059483","__typename":"Stack"},"$Tool:101231773839258072.companyStacksUsing({\"first\":9}).edges.5":{"node":{"type":"id","generated":false,"id":"Stack:101231786070059483","typename":"Stack"},"__typename":"StackEdge"},"Stack:101231788744061576":{"name":"uberall","imageUrl":"https://img.stackshare.io/stack/23181/default_71e155bdaed5067f4179e001990b6421492726c8.png","thumbUrl":"https://img.stackshare.io/stack/23181/thumb_71e155bdaed5067f4179e001990b6421492726c8.png","thumbRetinaUrl":"https://img.stackshare.io/stack/23181/thumb_retina_71e155bdaed5067f4179e001990b6421492726c8.png","identifier":"uberall/uberall","id":"101231788744061576","__typename":"Stack"},"$Tool:101231773839258072.companyStacksUsing({\"first\":9}).edges.6":{"node":{"type":"id","generated":false,"id":"Stack:101231788744061576","typename":"Stack"},"__typename":"StackEdge"},"Stack:101231791473611601":{"name":"Greencode","imageUrl":"https://img.stackshare.io/stack/28606/default_9e50b525cece20297a76d5ba9ddd5f974d92fd12.png","thumbUrl":"https://img.stackshare.io/stack/28606/thumb_9e50b525cece20297a76d5ba9ddd5f974d92fd12.png","thumbRetinaUrl":"https://img.stackshare.io/stack/28606/thumb_retina_9e50b525cece20297a76d5ba9ddd5f974d92fd12.png","identifier":"greencode/greencode","id":"101231791473611601","__typename":"Stack"},"$Tool:101231773839258072.companyStacksUsing({\"first\":9}).edges.7":{"node":{"type":"id","generated":false,"id":"Stack:101231791473611601","typename":"Stack"},"__typename":"StackEdge"},"Stack:101231783345177467":{"name":"Affectiva","imageUrl":"https://img.stackshare.io/stack/11062/default_a5d45dd76f1d3fce0b24bf1aad74ecb807e21e3d.png","thumbUrl":"https://img.stackshare.io/stack/11062/thumb_a5d45dd76f1d3fce0b24bf1aad74ecb807e21e3d.png","thumbRetinaUrl":"https://img.stackshare.io/stack/11062/thumb_retina_a5d45dd76f1d3fce0b24bf1aad74ecb807e21e3d.png","identifier":"affectiva/affectiva","id":"101231783345177467","__typename":"Stack"},"$Tool:101231773839258072.companyStacksUsing({\"first\":9}).edges.8":{"node":{"type":"id","generated":false,"id":"Stack:101231783345177467","typename":"Stack"},"__typename":"StackEdge"},"$Tool:101231773839258072.allToolIntegrations({\"first\":9})":{"count":17,"pageInfo":{"type":"id","generated":true,"id":"$Tool:101231773839258072.allToolIntegrations({\"first\":9}).pageInfo","typename":"PageInfo"},"edges":[{"type":"id","generated":true,"id":"$Tool:101231773839258072.allToolIntegrations({\"first\":9}).edges.0","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.allToolIntegrations({\"first\":9}).edges.1","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.allToolIntegrations({\"first\":9}).edges.2","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.allToolIntegrations({\"first\":9}).edges.3","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.allToolIntegrations({\"first\":9}).edges.4","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.allToolIntegrations({\"first\":9}).edges.5","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.allToolIntegrations({\"first\":9}).edges.6","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.allToolIntegrations({\"first\":9}).edges.7","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231773839258072.allToolIntegrations({\"first\":9}).edges.8","typename":"ToolEdge"}],"__typename":"ToolConnection"},"$Tool:101231773839258072.allToolIntegrations({\"first\":9}).pageInfo":{"hasNextPage":true,"endCursor":"OQ","__typename":"PageInfo"},"Tool:101231773849098825":{"imageUrl":"https://img.stackshare.io/service/1020/OYIaJ1KK.png","thumbUrl":"https://img.stackshare.io/service/1020/thumb_OYIaJ1KK.png","thumbRetinaUrl":"https://img.stackshare.io/service/1020/thumb_retina_OYIaJ1KK.png","name":"React","id":"101231773849098825","slug":"react","path":"/react","__typename":"Tool"},"$Tool:101231773839258072.allToolIntegrations({\"first\":9}).edges.0":{"node":{"type":"id","generated":false,"id":"Tool:101231773849098825","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231773839258072.allToolIntegrations({\"first\":9}).edges.1":{"node":{"type":"id","generated":false,"id":"Tool:101231773838011785","typename":"Tool"},"__typename":"ToolEdge"},"Tool:101231773848354670":{"imageUrl":"https://img.stackshare.io/service/1019/square.png","thumbUrl":"https://img.stackshare.io/service/1019/thumb_square.png","thumbRetinaUrl":"https://img.stackshare.io/service/1019/thumb_retina_square.png","name":"AngularJS","id":"101231773848354670","slug":"angularjs","path":"/angularjs","__typename":"Tool"},"$Tool:101231773839258072.allToolIntegrations({\"first\":9}).edges.2":{"node":{"type":"id","generated":false,"id":"Tool:101231773848354670","typename":"Tool"},"__typename":"ToolEdge"},"Tool:101231774035999984":{"imageUrl":"https://img.stackshare.io/service/1453/icon_IntelliJIDEA.png","thumbUrl":"https://img.stackshare.io/service/1453/thumb_icon_IntelliJIDEA.png","thumbRetinaUrl":"https://img.stackshare.io/service/1453/thumb_retina_icon_IntelliJIDEA.png","name":"IntelliJ IDEA","id":"101231774035999984","slug":"intellij-idea","path":"/intellij-idea","__typename":"Tool"},"$Tool:101231773839258072.allToolIntegrations({\"first\":9}).edges.3":{"node":{"type":"id","generated":false,"id":"Tool:101231774035999984","typename":"Tool"},"__typename":"ToolEdge"},"Tool:101231773693518078":{"imageUrl":"https://img.stackshare.io/service/642/default_e4b167a79203cda8d1d1498b9bad4d531aae0dab.jpg","thumbUrl":"https://img.stackshare.io/service/642/thumb_e4b167a79203cda8d1d1498b9bad4d531aae0dab.jpg","thumbRetinaUrl":"https://img.stackshare.io/service/642/thumb_retina_e4b167a79203cda8d1d1498b9bad4d531aae0dab.jpg","name":"Sublime Text","id":"101231773693518078","slug":"sublime-text","path":"/sublime-text","__typename":"Tool"},"$Tool:101231773839258072.allToolIntegrations({\"first\":9}).edges.4":{"node":{"type":"id","generated":false,"id":"Tool:101231773693518078","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231773839258072.allToolIntegrations({\"first\":9}).edges.5":{"node":{"type":"id","generated":false,"id":"Tool:101231774666323920","typename":"Tool"},"__typename":"ToolEdge"},"Tool:101231774032958533":{"imageUrl":"https://img.stackshare.io/service/1446/8cyY6D_m.png","thumbUrl":"https://img.stackshare.io/service/1446/thumb_8cyY6D_m.png","thumbRetinaUrl":"https://img.stackshare.io/service/1446/thumb_retina_8cyY6D_m.png","name":"Eclipse","id":"101231774032958533","slug":"eclipse","path":"/eclipse","__typename":"Tool"},"$Tool:101231773839258072.allToolIntegrations({\"first\":9}).edges.6":{"node":{"type":"id","generated":false,"id":"Tool:101231774032958533","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231773839258072.allToolIntegrations({\"first\":9}).edges.7":{"node":{"type":"id","generated":false,"id":"Tool:101231773838774921","typename":"Tool"},"__typename":"ToolEdge"},"Tool:101231773503355411":{"imageUrl":"https://img.stackshare.io/service/194/default_2e86c2914d7024c92debaced975586491c2fb0f1.jpg","thumbUrl":"https://img.stackshare.io/service/194/thumb_2e86c2914d7024c92debaced975586491c2fb0f1.jpg","thumbRetinaUrl":"https://img.stackshare.io/service/194/thumb_retina_2e86c2914d7024c92debaced975586491c2fb0f1.jpg","name":"Airbrake","id":"101231773503355411","slug":"airbrake","path":"/airbrake","__typename":"Tool"},"$Tool:101231773839258072.allToolIntegrations({\"first\":9}).edges.8":{"node":{"type":"id","generated":false,"id":"Tool:101231773503355411","typename":"Tool"},"__typename":"ToolEdge"}}</script> <!-- glamorIds: 119 --> <script type="application/json" id="ToolProfile-glamor-6b14c531-0997-4a2c-b3fe-4f8c980fb514">["1htug8r","1yodi52","iepywa","x5hg3h","u0iaox","9ilv8v","f3khu","1ag7ge9","ld8qhm","11b98zt","1cylxxa","ii8qy4","13zfms0","1rmabp8","1346slw","2blcgu","4vocyb","pdrhqn","c3yizi","f7loz8","1mjw833","a5x1lt","1m5j888","4bpmfq","1pvkxrw","1g92dqh","1cs0rzs","1j0qgmo","eemya1","3dgua6","1guve57","81jah4","mgyi0p","12i35kv","6pc9xu","ey1s1s","kxs423","11ovrkw","yawzxl","1aswmtz","qrny8b","1176rj6","emqxrc","zkwjas","z9c3fl","1gs0ko2","1t7lufe","1nbl3qb","i52n91","13sfqhu","bjhznw","1pwfust","960s6h","nuwf1p","1j3tdba","4d5oui","10pc7td","1ukyolz","1uackhz","1ofkegx","1xexurq","5vbspm","12llqor","69zjs9","8a04gk","1m38k02","162qu2y","p797gu","jyk0kg","4hck59","1drwozb","gbti5j","1ahj942","1an0suy","1dgfc7p","14pk3xx","1o4togz","dj0mxl","12257h","2fctj6","npxw5s","5f34wd","np1rfd","l6etxv","1i8b05s","1n4juvm","fisw11","1nho65o","1ugm2nv","pvufaf","ubfqf7","h9makx","1pexnsy","1etrjfj","1mlbi0l","1cda8k4","2an9kq","5x5cr6","rsz8c","4gnhqq","1pwtf47","1iqua1m","uw1ldh","xkasvz","atv6j6","1m8tyev","1vf0ygt","utnqcw","ds0hbm","dg4ww9","z9ms26","6uh2e7","t68yd0","1rz3855","i6njnm","1dp4k20","ztg526","1srb7t4","x5yd3w"]</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-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-ii8qy4,[data-css-ii8qy4]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;flex-direction:column;width:1140px;height:100%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;}.css-13zfms0,[data-css-13zfms0]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;flex-direction:column;width:100%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;}.css-1rmabp8,[data-css-1rmabp8]{display:grid;grid-template-columns:repeat(auto-fill, minmax(350px, auto));row-gap:20px;column-gap:20px;text-decoration:none;-ms-grid-template-columns:repeat(auto-fill, minmax(350px, auto));-webkit-column-gap:20px;-moz-column-gap:20px;}.css-1rmabp8 > a,[data-css-1rmabp8] > a{border:1px solid #e1e1e1;border-radius:3px;margin:0;}@media only screen and (max-width: 768px){.css-1rmabp8,[data-css-1rmabp8]{grid-template-columns:minmax(250px, auto);-ms-grid-template-columns:minmax(250px, auto);}}.css-1346slw,[data-css-1346slw]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;flex-direction:row;justify-content:space-between;align-items:center;padding:10px 20px 10px 20px;background-color:#fff;height:67px;border-radius:3px;margin-bottom:15px;margin-right:18px;flex-shrink:0;text-decoration:none;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-webkit-box-pack:justify;-webkit-justify-content:space-between;-webkit-box-align:center;-webkit-align-items:center;-webkit-flex-shrink:0;}.css-1346slw:hover,[data-css-1346slw]:hover{background-color:#fff;}@media only screen and (max-width: 480px){.css-1346slw,[data-css-1346slw]{padding:10px 5px;}}.css-2blcgu,[data-css-2blcgu]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;flex-direction:column;align-items:center;-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-2blcgu,[data-css-2blcgu]{max-width:70px;}}.css-4vocyb,[data-css-4vocyb]{height:27px;width:27px;}.css-pdrhqn,[data-css-pdrhqn]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:600;font-size:11px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;color:#4a4a4a;text-align:center;margin-top:5px;text-overflow:ellipsis;width:80px;white-space:nowrap;overflow:hidden;}@media only screen and (max-width: 768px){.css-pdrhqn,[data-css-pdrhqn]{width:60px;}}.css-c3yizi,[data-css-c3yizi]{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;border:1px solid #e1e1e1;border-radius:50%;box-sizing:content-box;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;align-items:center;justify-content:center;flex-shrink:0;margin-right:5px;margin-left:5px;-webkit-box-align:center;-webkit-align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-webkit-flex-shrink:0;}.css-f7loz8,[data-css-f7loz8]{display:grid;grid-template-columns:repeat(auto-fill, minmax(350px, auto));row-gap:20px;column-gap:20px;margin-top:20px;-ms-grid-template-columns:repeat(auto-fill, minmax(350px, auto));-webkit-column-gap:20px;-moz-column-gap:20px;}@media only screen and (max-width: 768px){.css-f7loz8,[data-css-f7loz8]{grid-template-columns:minmax(250px, auto);justify-items:center;-ms-grid-template-columns:minmax(250px, auto);}}.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-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-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-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-mgyi0p,[data-css-mgyi0p]{width:100%;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;align-items:center;flex-direction:column;margin-bottom:50px;-webkit-box-align:center;-webkit-align-items:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;}.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-6pc9xu,[data-css-6pc9xu]{margin-left:5px;width:15px;height:15px;}.css-ey1s1s,[data-css-ey1s1s]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:400;font-size:16px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;color:#707070;}.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-11ovrkw,[data-css-11ovrkw]{width:100%;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:center;border-bottom:2px solid #e1e1e1;position:-webkit-sticky; position: sticky;top:0;z-index:100;-webkit-box-pack:center;-webkit-justify-content:center;}.css-yawzxl,[data-css-yawzxl]{width:1140px;}.css-1aswmtz,[data-css-1aswmtz]{height:95px;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;position:-webkit-sticky; position: sticky;top:0;background-color:#fff;width:100%;z-index:100;}.css-qrny8b,[data-css-qrny8b]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:space-between;width:100%;margin:0 auto;-webkit-box-pack:justify;-webkit-justify-content:space-between;}.css-1176rj6,[data-css-1176rj6]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;margin:15px 0 0 0;}.css-1176rj6 > a:last-of-type,[data-css-1176rj6] > a:last-of-type{margin-right:0;}.css-emqxrc,[data-css-emqxrc]{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;text-decoration:none;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;align-items:center;flex-direction:column;margin-right:10px;margin-left:10px;margin-bottom:-2px;border-bottom:2px solid transparent;width:82px;-webkit-box-align:center;-webkit-align-items:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;}.css-emqxrc > svg,[data-css-emqxrc] > svg{height:34px;}.css-emqxrc:hover,[data-css-emqxrc]:hover{color:#068dfe;border-color:#068dfe;}.css-emqxrc:hover svg path,[data-css-emqxrc]:hover svg path{fill:#068dfe;stroke:#068dfe;}.css-emqxrc:focus,[data-css-emqxrc]:focus{color:#068dfe;border-color:#068dfe;}.css-emqxrc:focus svg path,[data-css-emqxrc]:focus svg path{fill:#068dfe;stroke:#068dfe;}.css-zkwjas,[data-css-zkwjas]{margin-top:4px;font-size:14px;}.css-zkwjas>span,[data-css-zkwjas]>span{margin-left:0;}.css-z9c3fl,[data-css-z9c3fl]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;position:relative;}.css-1gs0ko2,[data-css-1gs0ko2]{flex-grow:1;-webkit-flex-grow:1;}.css-1t7lufe,[data-css-1t7lufe]{margin:25px 0;display:block;}.css-1nbl3qb,[data-css-1nbl3qb]{margin-bottom:40px;}.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-bjhznw,[data-css-bjhznw]{color:#333;}.css-bjhznw:hover,[data-css-bjhznw]:hover{color:#068dfe;text-decoration:underline;}.css-1pwfust,[data-css-1pwfust]{margin:20px 0;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:space-between;flex-wrap:wrap;padding:0 0 0 20px;-webkit-box-pack:justify;-webkit-justify-content:space-between;-webkit-box-lines:multiple;-webkit-flex-wrap:wrap;}.css-960s6h,[data-css-960s6h]{margin:10px 0;flex-basis:48%;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-flex-basis:48%;}@media only screen and (max-width: 480px){.css-960s6h,[data-css-960s6h]{flex-basis:100%;-webkit-flex-basis:100%;}}.css-nuwf1p,[data-css-nuwf1p]{margin:30px 0;}.css-1j3tdba,[data-css-1j3tdba]{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;}.css-4d5oui,[data-css-4d5oui]{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;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;}.css-4d5oui strong,[data-css-4d5oui] strong{color:#333;}@media only screen and (max-width: 480px){.css-4d5oui,[data-css-4d5oui]{padding:10px;}}.css-10pc7td,[data-css-10pc7td]{display:grid;grid-template-columns:150px auto;grid-row-gap:20px;margin-bottom:20px;margin-top:20px;-ms-grid-template-columns:150px auto;-ms-grid-row-gap:20px;}@media only screen and (max-width: 480px){.css-10pc7td,[data-css-10pc7td]{grid-template-columns:100px auto;-ms-grid-template-columns:100px auto;}}.css-1ukyolz,[data-css-1ukyolz]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;flex-direction:row;font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:400;font-size:13px;line-height:22px;letter-spacing:normal;-webkit-font-smoothing:antialiased;color:#707070;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;}.css-1uackhz,[data-css-1uackhz]{font-weight:600;}.css-1ofkegx,[data-css-1ofkegx]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:400;font-size:13px;line-height:22px;letter-spacing:normal;-webkit-font-smoothing:antialiased;color:#707070;padding-left:10px;}.css-1xexurq,[data-css-1xexurq]{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;text-decoration:none;color:#068dfe;margin-top:10px;}.css-5vbspm,[data-css-5vbspm]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;margin-top:25px;min-width:280px;}.css-12llqor,[data-css-12llqor]{width:260px;margin-left:20px;margin-bottom:25px;}.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-dj0mxl,[data-css-dj0mxl]{color:#707070;}.css-12257h,[data-css-12257h]{margin:25px 0;}.css-2fctj6,[data-css-2fctj6]{grid-template-columns:repeat(auto-fill, 70px);padding:0;justify-content:space-between;grid-gap:20px;display:grid;text-align:center;-ms-grid-template-columns:repeat(auto-fill, 70px);-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-grid-gap:20px;}@media only screen and (max-width: 768px){.css-2fctj6,[data-css-2fctj6]{grid-template-columns:repeat(auto-fill, 60px);-ms-grid-template-columns:repeat(auto-fill, 60px);}}.css-npxw5s,[data-css-npxw5s]{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;text-decoration:none;list-style-type:none;color:#707070;}.css-npxw5s:hover,[data-css-npxw5s]:hover{color:#068dfe;}.css-5f34wd,[data-css-5f34wd]{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;max-width:70px;}.css-5f34wd:hover,[data-css-5f34wd]:hover{color:#068dfe;}@media only screen and (max-width: 480px){.css-5f34wd,[data-css-5f34wd]{max-width:60px;}}.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-l6etxv,[data-css-l6etxv]{word-break:break-word;font-size:11px;height:24px;overflow:hidden;margin:10px 0 0;}@media only screen and (max-width: 480px){.css-l6etxv,[data-css-l6etxv]{margin-top:0;height:30px;line-height:1.4;}}.css-1i8b05s,[data-css-1i8b05s]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:center;margin-top:20px;-webkit-box-pack:center;-webkit-justify-content:center;}.css-1n4juvm,[data-css-1n4juvm]{color:#707070;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;}.css-fisw11,[data-css-fisw11]{display:block;}.css-1nho65o,[data-css-1nho65o]{grid-template-columns:repeat(auto-fill, 64px);justify-content:space-between;grid-gap:20px;display:grid;text-align:center;-ms-grid-template-columns:repeat(auto-fill, 64px);-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-grid-gap:20px;}.css-1ugm2nv,[data-css-1ugm2nv]{position:relative;}.css-1ugm2nv a,[data-css-1ugm2nv] a{display:inline-block;}.css-1ugm2nv img,[data-css-1ugm2nv] img{width:64px;height:64px;border-radius:50%;}.css-1ugm2nv> svg,[data-css-1ugm2nv]> svg{width:64px;height:64px;}.css-pvufaf,[data-css-pvufaf]{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:#068dfe;text-decoration:none;cursor:pointer;}.css-ubfqf7,[data-css-ubfqf7]{margin:50px 0 0 0;}.css-h9makx,[data-css-h9makx]{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-bottom:25px;}.css-1pexnsy,[data-css-1pexnsy]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;flex-direction:column-reverse;-webkit-box-orient:vertical;-webkit-box-direction:reverse;-webkit-flex-direction:column-reverse;}.css-1etrjfj,[data-css-1etrjfj]{position:relative;overflow-y:scroll;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;flex-grow:1;height:auto;max-height:280px;flex-direction:row;flex-wrap:wrap;-webkit-flex-grow:1;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-webkit-box-lines:multiple;-webkit-flex-wrap:wrap;}.css-1etrjfj::-webkit-scrollbar,[data-css-1etrjfj]::-webkit-scrollbar{width:4px;}.css-1etrjfj::-webkit-scrollbar-thumb,[data-css-1etrjfj]::-webkit-scrollbar-thumb{background:#c2c2c2;border-radius:2.5px;}.css-1etrjfj > div,[data-css-1etrjfj] > div{flex-basis:33%;-webkit-flex-basis:33%;}@media only screen and (max-width: 480px){.css-1etrjfj > div,[data-css-1etrjfj] > div{flex-basis:50%;-webkit-flex-basis:50%;}}.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-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-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-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-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-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-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-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-x5yd3w,[data-css-x5yd3w]{margin-top:20px;}</style> <div id="ToolProfile-react-component-6b14c531-0997-4a2c-b3fe-4f8c980fb514" data-ssr="true" ><div class="css-mgyi0p"><div class="css-ii8qy4"><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="https://grails.org/" target="_blank" rel="noopener noreferrer" title="Grails website"><img src="https://img.stackshare.io/service/998/ZpegWh99_400x400.jpg" alt="Grails logo" class="css-1m5j888"/></a><div class="css-4bpmfq"><div class="css-1pvkxrw"><h1 class="css-1cylxxa">Grails</h1><div class="fork"><a href="https://github.com/grails/grails-core" target="_blank" rel="noopener noreferrer nofollow" title="Open Source Repo of Grails"><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-ey1s1s">An Open Source, full stack, web application framework for the JVM</span></div></div></div></div><div class="css-1cs0rzs"><div class="css-1j0qgmo"><div class="css-kxs423"><a rel="nofollow" href="http://twitter.com/grailsframework"><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">grailsframework</div></a><a rel="nofollow" href="https://grails.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">grails.org</div></a><div class="css-3dgua6"></div></div><div class="css-1guve57"></div></div></div></div></div><div class="css-11ovrkw"><div class="css-yawzxl"><div data-testid="navigationBar" class="css-1aswmtz"><div class="css-qrny8b"><nav class="css-1176rj6"><a href="#description" class="css-emqxrc"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><g fill="#A1A1A1"><path stroke="#A1A1A1" stroke-width=".2" d="M20.35 23H8.95a.933.933 0 0 1-.95-.95V6.95c0-.538.412-.95.95-.95h8.677L21.3 9.673V22.05c0 .538-.412.95-.95.95zm.317-13.073l-2.85-2.85v2.09c0 .19.126.316.316.316h2.534v.634h-2.534a.933.933 0 0 1-.95-.95V6.633H8.95c-.19 0-.317.127-.317.317v15.1c0 .19.127.317.317.317h11.4c.19 0 .317-.127.317-.317V9.927z"></path><path d="M11.87 18.45h5.23a.5.5 0 1 1 0 1h-5.23a.5.5 0 1 1 0-1zm0-5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1zm0 2.55h3a.5.5 0 1 1 0 1h-3a.5.5 0 1 1 0-1zm0-5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1 0-1z"></path></g></svg><div class="css-zkwjas">Description<!-- --> </div></a><a href="#stacks" class="css-emqxrc"><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 class="css-zkwjas">Stacks<!-- --> </div></a><a href="#integrations" class="css-emqxrc"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><g fill="#A1A1A1" stroke="#A1A1A1"><path stroke-width=".4" d="M19.474 8.03a6.42 6.42 0 0 0-4.478 1.827 6.42 6.42 0 0 0-4.478-1.827C6.924 8.03 4 11.018 4 14.691c0 3.673 2.924 6.661 6.518 6.661a6.42 6.42 0 0 0 4.478-1.827 6.419 6.419 0 0 0 4.477 1.827c3.594 0 6.518-2.988 6.518-6.66 0-3.674-2.924-6.662-6.517-6.662zm-8.956 12.724c-3.272 0-5.933-2.72-5.933-6.063 0-3.343 2.662-6.063 5.933-6.063 1.575 0 3.005.635 4.068 1.663a6.717 6.717 0 0 0-1.63 4.4c0 1.686.616 3.227 1.63 4.401a5.84 5.84 0 0 1-4.068 1.662zm3.023-6.063a6.11 6.11 0 0 1 1.455-3.965 6.11 6.11 0 0 1 1.454 3.965 6.11 6.11 0 0 1-1.454 3.965 6.108 6.108 0 0 1-1.455-3.965zm5.933 6.063a5.838 5.838 0 0 1-4.07-1.662 6.718 6.718 0 0 0 1.632-4.401 6.717 6.717 0 0 0-1.631-4.4 5.838 5.838 0 0 1 4.069-1.663c3.27 0 5.932 2.72 5.932 6.063 0 3.342-2.661 6.063-5.932 6.063z"></path><path stroke-width=".2" d="M15.384 11.887h-.866v-.299h.866zm-.786 5.608h.865v.299h-.865zm1.384-4.548h-1.903v-.3h1.903zm.183.959h-2.421v-.299h2.421zm.085.685v.299h-2.509v-.299zm-2.384.978h2.258v.299h-2.258zm.213.954h1.72v.299h-1.72v-.299z"></path></g></svg><div class="css-zkwjas">Integrations<!-- --> </div></a><a href="#pros" class="css-emqxrc"><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 class="css-zkwjas">Pros<!-- --> </div></a><a href="#features" class="css-emqxrc"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><g fill="#A1A1A1" stroke="#A1A1A1" stroke-width=".2"><path d="M20.35 23H8.95a.933.933 0 0 1-.95-.95V6.95c0-.538.412-.95.95-.95h8.677L21.3 9.673V22.05c0 .538-.412.95-.95.95zm.317-13.073l-2.85-2.85v2.09c0 .19.126.316.316.316h2.534v.634h-2.534a.933.933 0 0 1-.95-.95V6.633H8.95c-.19 0-.317.127-.317.317v15.1c0 .19.127.317.317.317h11.4c.19 0 .317-.127.317-.317V9.927z"></path><path d="M11.87 18.45h5.23a.5.5 0 1 1 0 1h-5.23a.5.5 0 1 1 0-1zm5.43-2.305v-3.66l-2.7-1.35-2.7 1.35v3.66l2.7 1.35 2.7-1.35zm-2.7-2.34l-.75-.45 1.8-1.02.75.36-1.8 1.11zm.39-1.8l-1.71.99-.48-.3 1.8-.9.39.21zm-2.49 1.2l1.8 1.11v1.74h.6v-1.74l1.8-1.11v2.58l-2.1 1.05-2.1-1.05v-2.58z"></path></g></svg><div class="css-zkwjas">Features<!-- --> </div></a><a href="#alternatives" class="css-emqxrc"><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 class="css-zkwjas">Alternatives<!-- --> </div></a><a href="#followers" class="css-emqxrc"><svg 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 class="css-zkwjas">Followers<!-- --> </div></a></nav><div class="css-nil"><div class="css-jyk0kg"><div><div class="css-4hck59"><div class="css-1drwozb"><div class="css-gbti5j"><label>Stacks</label><span>369</span></div><div class="css-1ahj942"></div><div class="css-1an0suy"><label>Followers</label><span>355</span><div>+ 1</div></div><div class="css-1ahj942"></div><div class="css-gbti5j"><label>Votes</label><span>333</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></div><main class="css-ii8qy4"><div class="css-z9c3fl"><div class="css-1gs0ko2"><div class="css-1t7lufe"><div id="description" style="pointer-events:none;grid-column:span undefined;display:block;height:110px;margin-top:-110px"></div><div class="css-1nbl3qb"><div class="css-nil"><h2 class="css-i52n91">What is Grails?</h2><div class="css-13sfqhu">Grails is a framework used to build web applications with the Groovy programming language. The core framework is very extensible and there are numerous plugins available that provide easy integration of add-on features.</div><div class="css-13sfqhu">Grails<!-- --> is a tool in the <strong>Frameworks (Full Stack)</strong> category of a tech stack.</div><div class="css-13sfqhu">Grails<!-- --> is an open source tool with <strong>2.7K</strong> <!-- -->GitHub stars and <strong>964</strong> GitHub forks. Here’s a link to <!-- -->Grails<!-- -->&#x27;s open source repository on<!-- --> <a href="https://github.com/grails/grails-core" title="Grails&#x27;s GitHub" class="css-bjhznw">GitHub</a></div><div class="css-13sfqhu"><a href="/ampstories/grails" class="css-1xexurq">Explore <!-- -->Grails&#x27;s<!-- --> Story</a></div></div></div></div><div class="css-nil"><h2 class="css-i52n91">Who uses Grails?</h2><div class="css-13sfqhu"></div></div><div class="css-1t7lufe"><div id="stacks" style="pointer-events:none;grid-column:span undefined;display:block;height:110px;margin-top:-110px"></div><div class="css-nil"><h2 class="css-i52n91"></h2><div class="css-13sfqhu"></div><div class="css-13sfqhu"><div class="css-1j3tdba">Companies</div></div><div class="css-13sfqhu"><div class="css-dj0mxl"><strong>66</strong> companies reportedly use<!-- --> <strong>Grails</strong> in their tech stacks, including<!-- --> <strong>LinkedIn<!-- -->, </strong><strong>Biting Bit<!-- -->, </strong>and <strong>TransferWise</strong>.</div></div></div><div class="css-12257h"><ul class="css-2fctj6"><a href="linkedin/linkedin" title="LinkedIn" class="css-npxw5s"><li class="css-5f34wd"><img src="https://img.stackshare.io/stack/20/thumb_retina_0f2e330b189b8690f25d4a51e09a4027d4041f09.png" alt="LinkedIn" class="css-np1rfd"/><h3 class="css-l6etxv">LinkedIn</h3></li></a><a href="biting-bit-gmbh/biting-bit" title="Biting Bit" class="css-npxw5s"><li class="css-5f34wd"><img src="https://img.stackshare.io/stack/340265/thumb_retina_9efe56e6765b433c7615f5e25f34f71ec66c4c86.png" alt="Biting Bit" class="css-np1rfd"/><h3 class="css-l6etxv">Biting Bit</h3></li></a><a href="wise_transferwise/transferwise" title="TransferWise" class="css-npxw5s"><li class="css-5f34wd"><img src="https://img.stackshare.io/stack/13927/thumb_retina_f26ca6e4e8a26fd2d32449f8435beaea986035b9.png" alt="TransferWise" class="css-np1rfd"/><h3 class="css-l6etxv">TransferWise</h3></li></a><a href="easycredito/easycredito" title="EasyCrédito" class="css-npxw5s"><li class="css-5f34wd"><img src="https://img.stackshare.io/stack/23147/thumb_retina_000167b73a3f083123900ab4731dc9815a766cf5.png" alt="EasyCrédito" class="css-np1rfd"/><h3 class="css-l6etxv">EasyCrédito</h3></li></a><a href="pedidosya/pedidosya" title="PedidosYa" class="css-npxw5s"><li class="css-5f34wd"><img src="https://img.stackshare.io/stack/767/thumb_retina_6231ef4754b5c743fb84c1328f518653ff8bfd9f.png" alt="PedidosYa" class="css-np1rfd"/><h3 class="css-l6etxv">PedidosYa</h3></li></a><a href="secret-escapes/secret-escapes" title="Secret Escapes" class="css-npxw5s"><li class="css-5f34wd"><img src="https://img.stackshare.io/stack/17430/thumb_retina_ee7e31dfbc952159cbcdb449cc52b687274aff9f.jpg" alt="Secret Escapes" class="css-np1rfd"/><h3 class="css-l6etxv">Secret Escapes</h3></li></a><a href="uberall/uberall" title="uberall" class="css-npxw5s"><li class="css-5f34wd"><img src="https://img.stackshare.io/stack/23181/thumb_retina_71e155bdaed5067f4179e001990b6421492726c8.png" alt="uberall" class="css-np1rfd"/><h3 class="css-l6etxv">uberall</h3></li></a><a href="greencode/greencode" title="Greencode" class="css-npxw5s"><li class="css-5f34wd"><img src="https://img.stackshare.io/stack/28606/thumb_retina_9e50b525cece20297a76d5ba9ddd5f974d92fd12.png" alt="Greencode" class="css-np1rfd"/><h3 class="css-l6etxv">Greencode</h3></li></a><a href="affectiva/affectiva" title="Affectiva" class="css-npxw5s"><li class="css-5f34wd"><img src="https://img.stackshare.io/stack/11062/thumb_retina_a5d45dd76f1d3fce0b24bf1aad74ecb807e21e3d.png" alt="Affectiva" class="css-np1rfd"/><h3 class="css-l6etxv">Affectiva</h3></li></a></ul><div class="css-1i8b05s"><button class="css-1iqua1m">Sign up to see more</button></div></div><div class="css-nil"><h2 class="css-i52n91"></h2><div class="css-13sfqhu"></div><div class="css-13sfqhu"><div class="css-1j3tdba">Developers</div></div><div class="css-13sfqhu"><strong>298</strong> developers on StackShare have stated that they use <strong>Grails</strong>.</div></div><div class="css-12257h"><ul class="css-2fctj6"><a href="diogogallo/dfe-cloud" title="DFe Cloud" class="css-npxw5s"><li class="css-5f34wd"><img src="https://img.stackshare.io/stack/5668/thumb_retina_0e123b2b107384ec398a771a82e5fde5129fc654.png" alt="DFe Cloud" class="css-np1rfd"/><h3 class="css-l6etxv">DFe Cloud</h3></li></a><a href="mattluttrell/facilicase" title="FaciliCase" class="css-npxw5s"><li class="css-5f34wd"><img src="https://img.stackshare.io/stack/22343/thumb_retina_2c96b90dd6cc2f43e0703f66f838d41fa0af1e42.png" alt="FaciliCase" class="css-np1rfd"/><h3 class="css-l6etxv">FaciliCase</h3></li></a><a href="machador/grails" title="Grails" class="css-npxw5s"><li class="css-5f34wd"><img src="https://img.stackshare.io/stack/17575/thumb_retina_cbfe4c1b109814a3ad72ca6daf05156429812661.png" alt="Grails" class="css-np1rfd"/><h3 class="css-l6etxv">Grails</h3></li></a><a href="upporc/upporc" title="UPPORC" class="css-npxw5s"><li class="css-5f34wd"><img src="https://img.stackshare.io/stack/1462/thumb_retina_7dc3314c68741a3b8a181a9e68aa1dfaa86606b6.png" alt="UPPORC" class="css-np1rfd"/><h3 class="css-l6etxv">UPPORC</h3></li></a><a href="allainma/jeanjoel-allainmat" title="jeanjoel-allainmat" class="css-npxw5s"><li class="css-5f34wd"><img src="https://img.stackshare.io/stack/1926/thumb_retina_9b2e650cc790a04ec86e83414bc1bc8b18b0c6bf.png" alt="jeanjoel-allainmat" class="css-np1rfd"/><h3 class="css-l6etxv">jeanjoel-allainmat</h3></li></a><a href="bo2star/tools-i-know" title="Tools I Know" class="css-npxw5s"><li class="css-5f34wd"><img src="https://img.stackshare.io/stack/2368/thumb_retina_82afb45a8e4861bc488448a5bc1b2014c8986c6f.png" alt="Tools I Know" class="css-np1rfd"/><h3 class="css-l6etxv">Tools I Know</h3></li></a><a href="cruzer45/grails-chained-select" title="Grails Chained Select" class="css-npxw5s"><li class="css-5f34wd"><img src="https://img.stackshare.io/stack/3253/thumb_retina_c8ecd318a10e6ba3c94a26a1138165a1765b20ea.jpeg" alt="Grails Chained Select" class="css-np1rfd"/><h3 class="css-l6etxv">Grails Chained Select</h3></li></a><a href="willis7/my-stack" title="My Stack" class="css-npxw5s"><li class="css-5f34wd"><img src="https://img.stackshare.io/stack/5514/thumb_retina_25e7020f3b63f5d99e6ce97965cda16158cb316c.jpeg" alt="My Stack" class="css-np1rfd"/><h3 class="css-l6etxv">My Stack</h3></li></a><a href="kaushikgandhi/my-stack" title="My Stack" class="css-npxw5s"><li class="css-5f34wd"><img src="https://img.stackshare.io/stack/5516/thumb_retina_464c018e4077f9a387c605567203cd0e83f92630.jpeg" alt="My Stack" class="css-np1rfd"/><h3 class="css-l6etxv">My Stack</h3></li></a></ul><div class="css-1i8b05s"><button class="css-1iqua1m">Sign up to see more</button></div></div></div><div class="css-1t7lufe"><div id="integrations" style="pointer-events:none;grid-column:span undefined;display:block;height:110px;margin-top:-110px"></div><div class="css-nil"><h2 class="css-i52n91">Grails Integrations</h2><div class="css-13sfqhu"></div></div><div class="css-1n4juvm"><strong>React<!-- -->, </strong><strong>Java<!-- -->, </strong><strong>AngularJS<!-- -->, </strong><strong>IntelliJ IDEA<!-- -->, </strong>and <strong>Sublime Text</strong> are some of the popular tools that integrate with<!-- --> <!-- -->Grails<!-- -->. Here&#x27;s a list of all <strong>17</strong> tools that integrate with <!-- -->Grails<!-- -->.</div><div class="css-12257h"><ul class="css-2fctj6"><a href="react" title="React" class="css-npxw5s"><li class="css-5f34wd"><img src="https://img.stackshare.io/service/1020/thumb_retina_OYIaJ1KK.png" alt="React" class="css-np1rfd"/><h3 class="css-l6etxv">React</h3></li></a><a href="java" title="Java" class="css-npxw5s"><li class="css-5f34wd"><img src="https://img.stackshare.io/service/995/thumb_retina_K85ZWV2F.png" alt="Java" class="css-np1rfd"/><h3 class="css-l6etxv">Java</h3></li></a><a href="angularjs" title="AngularJS" class="css-npxw5s"><li class="css-5f34wd"><img src="https://img.stackshare.io/service/1019/thumb_retina_square.png" alt="AngularJS" class="css-np1rfd"/><h3 class="css-l6etxv">AngularJS</h3></li></a><a href="intellij-idea" title="IntelliJ IDEA" class="css-npxw5s"><li class="css-5f34wd"><img src="https://img.stackshare.io/service/1453/thumb_retina_icon_IntelliJIDEA.png" alt="IntelliJ IDEA" class="css-np1rfd"/><h3 class="css-l6etxv">IntelliJ IDEA</h3></li></a><a href="sublime-text" title="Sublime Text" class="css-npxw5s"><li class="css-5f34wd"><img src="https://img.stackshare.io/service/642/thumb_retina_e4b167a79203cda8d1d1498b9bad4d531aae0dab.jpg" alt="Sublime Text" class="css-np1rfd"/><h3 class="css-l6etxv">Sublime Text</h3></li></a><a href="spring-boot" title="Spring Boot" class="css-npxw5s"><li class="css-5f34wd"><img src="https://img.stackshare.io/service/2927/thumb_retina_nPzvMuo2_400x400.png" alt="Spring Boot" class="css-np1rfd"/><h3 class="css-l6etxv">Spring Boot</h3></li></a><a href="eclipse" title="Eclipse" class="css-npxw5s"><li class="css-5f34wd"><img src="https://img.stackshare.io/service/1446/thumb_retina_8cyY6D_m.png" alt="Eclipse" class="css-np1rfd"/><h3 class="css-l6etxv">Eclipse</h3></li></a><a href="groovy" title="Groovy" class="css-npxw5s"><li class="css-5f34wd"><img src="https://img.stackshare.io/service/997/thumb_retina_7ff5fcd857f42ad25149f659693d8930bffddf14.png" alt="Groovy" class="css-np1rfd"/><h3 class="css-l6etxv">Groovy</h3></li></a><a href="airbrake" title="Airbrake" class="css-npxw5s"><li class="css-5f34wd"><img src="https://img.stackshare.io/service/194/thumb_retina_2e86c2914d7024c92debaced975586491c2fb0f1.jpg" alt="Airbrake" class="css-np1rfd"/><h3 class="css-l6etxv">Airbrake</h3></li></a></ul><div class="css-1i8b05s"><button class="css-1iqua1m">Sign up to see more</button></div></div></div><div class="css-1t7lufe"><div id="pros" style="pointer-events:none;grid-column:span undefined;display:block;height:110px;margin-top:-110px"></div><div class="css-ubfqf7"><div class="css-h9makx">Pros of <!-- -->Grails</div><div class="css-nil"><div class="css-1pexnsy"><div class="css-nil"><div class="css-1etrjfj"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="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">Groovy</span></div><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">40</span></div></div><span class="css-rsz8c">Jvm</span></div><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="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">Rapid development</span></div><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="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">Gorm</span></div><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">30</span></div></div><span class="css-rsz8c">Web framework</span></div><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="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">Open source</span></div><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="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">Plugins</span></div><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="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">Extensible</span></div><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="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">Easy</span></div><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="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">Dynamic</span></div><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="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 architecture (Dependency Injection)</span></div><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="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">Gradle</span></div><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="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">Clear what everything does, lots of options</span></div><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="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">RAD</span></div><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="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">Agile </span></div><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="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 documentation</span></div><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="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">Android</span></div><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="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">Spring</span></div><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="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 setup</span></div><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="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">Java web apps with steroid</span></div></div></div></div></div></div><div class="css-ubfqf7"><div class="css-1j3tdba">Decisions about Grails</div><p class="css-1n4juvm">Here are some stack decisions, common use cases and reviews by companies and developers who chose <!-- -->Grails<!-- --> in their tech stack.</p><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>Sreenath SC</div></div><div class="css-ds0hbm"><a href="/sreenathsc1981/decisions/107654714233511001" class="css-nil"><time>Jan 20, 2022</time> <!-- -->| 3 upvotes · 16.6K 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 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 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 class="css-1pwtf47"><span title="Grails" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/998/ZpegWh99_400x400.jpg" alt="Grails" class="css-1rz3855"/></span><span class="css-i6njnm">Grails</span></a><a class="css-1pwtf47"><span title="Groovy" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/997/default_7ff5fcd857f42ad25149f659693d8930bffddf14.png" alt="Groovy" class="css-1rz3855"/></span><span class="css-i6njnm">Groovy</span></a></div><div class="css-1dp4k20"><div class="css-ztg526"><p>Presently, a web-based ERP is developed in <span class="tool">Groovy</span> on <span class="tool">Grails</span>. Now the ERP is getting revamped with more functionalities. Is it advisable to continue with the same software and framework or try something new especially <span class="tool">Node.js</span> over <span class="tool">ExpressJS</span>?</p></div></div></div><a class="css-1srb7t4">See more</a></div><div class="css-x5yd3w"><a href="/tool/grails/decisions" class="css-1xexurq">See all decisions</a></div></div></div><div class="css-1t7lufe"><div id="features" style="pointer-events:none;grid-column:span undefined;display:block;height:110px;margin-top:-110px"></div><h2 class="css-i52n91">Grails<!-- -->&#x27;s Features</h2><ul class="css-1pwfust"><li class="css-960s6h">FLAT LEARNING CURVE</li><li class="css-960s6h"> ON TOP OF SPRING BOOT</li><li class="css-960s6h"> SMOOTH JAVA INTEGRATION</li><li class="css-960s6h"> REST APIS, REACT, ANGULAR</li></ul></div><div class="css-1t7lufe"><div id="alternatives" style="pointer-events:none;grid-column:span undefined;display:block;height:110px;margin-top:-110px"></div><h2 class="css-i52n91">Grails<!-- --> Alternatives &amp; Comparisons</h2><div class="css-nuwf1p"><div class="css-1j3tdba">What are some alternatives to <!-- -->Grails<!-- -->?</div><div class="css-4d5oui"><div class="css-10pc7td"><div class="css-1ukyolz"><div class="css-1uackhz">Play</div></div><div class="css-1ofkegx">Play Framework makes it easy to build web applications with Java &amp; Scala. Play is based on a lightweight, stateless, web-friendly architecture. Built on Akka, Play provides predictable and minimal resource consumption (CPU, memory, threads) for highly-scalable applications.</div><div class="css-1ukyolz"><div class="css-1uackhz">Rails</div></div><div class="css-1ofkegx">Rails is a web-application framework that includes everything needed to create database-backed web applications according to the Model-View-Controller (MVC) pattern.</div><div class="css-1ukyolz"><div class="css-1uackhz">Groovy</div></div><div class="css-1ofkegx">It is a powerful multi-faceted programming language for the JVM platform. It supports a spectrum of programming styles incorporating features from dynamic languages such as optional and duck typing, but also static compilation and static type checking at levels similar to or greater than Java through its extensible static type checker. It aims to greatly increase developer productivity with many powerful features but also a concise, familiar and easy to learn syntax.</div><div class="css-1ukyolz"><div class="css-1uackhz">Spring Boot</div></div><div class="css-1ofkegx">Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can &quot;just run&quot;. We take an opinionated view of the Spring platform and third-party libraries so you can get started with minimum fuss. Most Spring Boot applications need very little Spring configuration.</div><div class="css-1ukyolz"><div class="css-1uackhz">Spring</div></div><div class="css-1ofkegx">A key element of Spring is infrastructural support at the application level: Spring focuses on the &quot;plumbing&quot; of enterprise applications so that teams can focus on application-level business logic, without unnecessary ties to specific deployment environments.</div></div><a data-testid="seeAllAlternativesLink" href="/grails/alternatives" class="css-1xexurq">See all alternatives</a></div></div><div class="css-nuwf1p"><div class="css-nuwf1p"><div class="css-1j3tdba">Related Comparisons</div><div class="css-nuwf1p"><div class="css-13zfms0"><div class="css-1rmabp8"><a href="/stackups/grails-vs-play" class="css-1346slw"><div class="css-2blcgu"><img src="https://img.stackshare.io/service/1013/thumb_HqN22PuY.png" alt="Play" class="css-4vocyb"/><div title="Play" class="css-pdrhqn">Play</div></div><div class="css-c3yizi">VS</div><div class="css-2blcgu"><img src="https://img.stackshare.io/service/998/thumb_ZpegWh99_400x400.jpg" alt="Grails" class="css-4vocyb"/><div title="Grails" class="css-pdrhqn">Grails</div></div></a><a href="/stackups/grails-vs-rails" class="css-1346slw"><div class="css-2blcgu"><img src="https://img.stackshare.io/service/990/thumb_x57_Lorv.png" alt="Rails" class="css-4vocyb"/><div title="Rails" class="css-pdrhqn">Rails</div></div><div class="css-c3yizi">VS</div><div class="css-2blcgu"><img src="https://img.stackshare.io/service/998/thumb_ZpegWh99_400x400.jpg" alt="Grails" class="css-4vocyb"/><div title="Grails" class="css-pdrhqn">Grails</div></div></a><a href="/stackups/grails-vs-groovy" class="css-1346slw"><div class="css-2blcgu"><img src="https://img.stackshare.io/service/997/thumb_7ff5fcd857f42ad25149f659693d8930bffddf14.png" alt="Groovy" class="css-4vocyb"/><div title="Groovy" class="css-pdrhqn">Groovy</div></div><div class="css-c3yizi">VS</div><div class="css-2blcgu"><img src="https://img.stackshare.io/service/998/thumb_ZpegWh99_400x400.jpg" alt="Grails" class="css-4vocyb"/><div title="Grails" class="css-pdrhqn">Grails</div></div></a><a href="/stackups/grails-vs-spring-boot" class="css-1346slw"><div class="css-2blcgu"><img src="https://img.stackshare.io/service/2927/thumb_nPzvMuo2_400x400.png" alt="Spring Boot" class="css-4vocyb"/><div title="Spring Boot" class="css-pdrhqn">Spring Boot</div></div><div class="css-c3yizi">VS</div><div class="css-2blcgu"><img src="https://img.stackshare.io/service/998/thumb_ZpegWh99_400x400.jpg" alt="Grails" class="css-4vocyb"/><div title="Grails" class="css-pdrhqn">Grails</div></div></a><a href="/stackups/grails-vs-spring" class="css-1346slw"><div class="css-2blcgu"><img src="https://img.stackshare.io/service/996/thumb_unnamed.jpg" alt="Spring" class="css-4vocyb"/><div title="Spring" class="css-pdrhqn">Spring</div></div><div class="css-c3yizi">VS</div><div class="css-2blcgu"><img src="https://img.stackshare.io/service/998/thumb_ZpegWh99_400x400.jpg" alt="Grails" class="css-4vocyb"/><div title="Grails" class="css-pdrhqn">Grails</div></div></a><a href="/stackups/grails-vs-java" class="css-1346slw"><div class="css-2blcgu"><img src="https://img.stackshare.io/service/995/thumb_K85ZWV2F.png" alt="Java" class="css-4vocyb"/><div title="Java" class="css-pdrhqn">Java</div></div><div class="css-c3yizi">VS</div><div class="css-2blcgu"><img src="https://img.stackshare.io/service/998/thumb_ZpegWh99_400x400.jpg" alt="Grails" class="css-4vocyb"/><div title="Grails" class="css-pdrhqn">Grails</div></div></a></div><div class="css-f7loz8"><a data-testid="popularToolComparisonLink" href="/grails/stackups" class="css-1xexurq">See all comparisons</a></div></div></div></div></div></div><div class="css-1t7lufe"><div id="followers" style="pointer-events:none;grid-column:span undefined;display:block;height:110px;margin-top:-110px"></div><div class="css-nil"><h2 class="css-i52n91"></h2><div class="css-13sfqhu"></div><div class="css-13sfqhu"><div class="css-1j3tdba">Grails<!-- -->&#x27;s Followers</div></div><div class="css-13sfqhu"><strong>355</strong> developers follow <strong>Grails</strong> <!-- -->to keep up with related blogs and decisions.</div></div><div class="css-12257h"><div class="css-fisw11"><div class="css-1nho65o"><div class="css-1ugm2nv"><a href="/sdemod2" title="Visit Profile" class="css-pvufaf"><div class="lazyload-wrapper"><div class="lazyload-placeholder"></div></div></a></div><div class="css-1ugm2nv"><a href="/wardmaddux" title="Visit Profile" class="css-pvufaf"><div class="lazyload-wrapper"><div class="lazyload-placeholder"></div></div></a></div><div class="css-1ugm2nv"><a href="/dunghv" title="Visit Profile" class="css-pvufaf"><div class="lazyload-wrapper"><div class="lazyload-placeholder"></div></div></a></div><div class="css-1ugm2nv"><a href="/fas7478" title="Visit Profile" class="css-pvufaf"><div class="lazyload-wrapper"><div class="lazyload-placeholder"></div></div></a></div><div class="css-1ugm2nv"><a href="/nikhiljha11" title="Visit Profile" class="css-pvufaf"><div class="lazyload-wrapper"><div class="lazyload-placeholder"></div></div></a></div><div class="css-1ugm2nv"><a href="/gausnes" title="Visit Profile" class="css-pvufaf"><div class="lazyload-wrapper"><div class="lazyload-placeholder"></div></div></a></div><div class="css-1ugm2nv"><a href="/jhonatancool" title="Visit Profile" class="css-pvufaf"><div class="lazyload-wrapper"><div class="lazyload-placeholder"></div></div></a></div><div class="css-1ugm2nv"><a href="/imranm4" title="Visit Profile" class="css-pvufaf"><div class="lazyload-wrapper"><div class="lazyload-placeholder"></div></div></a></div><div class="css-1ugm2nv"><a href="/fernando-12" title="Visit Profile" class="css-pvufaf"><div class="lazyload-wrapper"><div class="lazyload-placeholder"></div></div></a></div><div class="css-1ugm2nv"><a href="/bryanlekhoa" title="Visit Profile" class="css-pvufaf"><div class="lazyload-wrapper"><div class="lazyload-placeholder"></div></div></a></div></div></div></div><div class="css-1i8b05s"><button class="css-1iqua1m">Sign up to see more</button></div></div></div><aside class="css-5vbspm"><div class="css-12llqor"><div style="position:sticky;top:110px"><div class="css-81jah4"></div></div></div></aside></div></main></div><div class="css-69zjs9"><div class="css-8a04gk"><div class="css-1m38k02"><h2 class="css-162qu2y">Similar Tools</h2><a href="/play" title="Play" class="css-p797gu">Play</a><a href="/rails" title="Rails" class="css-p797gu">Rails</a><a href="/groovy" title="Groovy" class="css-p797gu">Groovy</a><a href="/spring-boot" title="Spring Boot" class="css-p797gu">Spring Boot</a><a href="/spring" title="Spring" class="css-p797gu">Spring</a></div><div class="css-1m38k02"><h2 class="css-162qu2y">New Tools</h2><a href="/lineageos" title="LineageOS" class="css-p797gu">LineageOS</a><a href="/fortios" title="FortiOS" class="css-p797gu">FortiOS</a><a href="/euro-linux" title="EuroLinux" class="css-p797gu">EuroLinux</a><a href="/antix-linux" title="antiX Linux" class="css-p797gu">antiX Linux</a><a href="/almalinux" title="AlmaLinux" class="css-p797gu">AlmaLinux</a></div><div class="css-1m38k02"><h2 class="css-162qu2y">Trending Comparisons</h2><a href="/stackups/grails-vs-spring-boot" title="Grails vs Spring Boot" class="css-p797gu">Grails vs Spring Boot</a><a href="/stackups/grails-vs-nodejs" title="Grails vs Node.js" class="css-p797gu">Grails vs Node.js</a><a href="/stackups/django-vs-grails-vs-play" title="Django vs Grails vs Play" class="css-p797gu">Django vs Grails vs Play</a><a href="/stackups/grails-vs-laravel" title="Grails vs Laravel" class="css-p797gu">Grails vs Laravel</a><a href="/stackups/django-vs-grails-vs-nodejs" title="Django vs Grails vs Node.js" class="css-p797gu">Django vs Grails vs Node.js</a></div><div class="css-1m38k02"><h2 class="css-162qu2y">Related Jobs</h2><a href="/jobs/play" title="Play Jobs" class="css-p797gu">Play Jobs</a><a href="/jobs/rails" title="Rails Jobs" class="css-p797gu">Rails Jobs</a><a href="/jobs/groovy" title="Groovy Jobs" class="css-p797gu">Groovy Jobs</a><a href="/jobs/spring-boot" title="Spring Boot Jobs" class="css-p797gu">Spring Boot Jobs</a><a href="/jobs/spring" title="Spring Jobs" class="css-p797gu">Spring Jobs</a></div></div></div></div> <script> renderComponent('ToolProfile','ToolProfile-react-component-6b14c531-0997-4a2c-b3fe-4f8c980fb514','ToolProfile-apollo-state-6b14c531-0997-4a2c-b3fe-4f8c980fb514','ToolProfile-glamor-6b14c531-0997-4a2c-b3fe-4f8c980fb514', 'apollo','{"route":"/grails","userId":null,"featureFlags":{}}'); </script>
<script type="application/json" id="Footer-apollo-state-b887cc69-1029-4251-be72-f428c4a31686">{}</script> <!-- glamorIds: 21 --> <script type="application/json" id="Footer-glamor-b887cc69-1029-4251-be72-f428c4a31686">["1htug8r","1yodi52","iepywa","x5hg3h","u0iaox","9ilv8v","ts0y2j","cs546h","1fco1ts","11a2nsi","1npm75a","1gn11bn","1y302zr","11gxadc","1iqd2ec","lneilx","de1dx1","1h53588","12k57td","j1o656","zr18wh"]</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-ts0y2j,[data-css-ts0y2j]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:400;font-size:13px;line-height:1.4;letter-spacing:normal;-webkit-font-smoothing:antialiased;background:#333;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:center;align-items:center;padding:50px 0 80px;-webkit-box-pack:center;-webkit-justify-content:center;-webkit-box-align:center;-webkit-align-items:center;}@media only screen and (max-width: 768px){.css-ts0y2j,[data-css-ts0y2j]{padding:0 0 40px;}}.css-cs546h,[data-css-cs546h]{max-width:1220px;}@media only screen and (max-width: 992px){.css-cs546h,[data-css-cs546h]{width:700px;}}@media only screen and (min-width: 993px){.css-cs546h,[data-css-cs546h]{width:955px;}}@media only screen and (min-width: 1200px){.css-cs546h,[data-css-cs546h]{width:1220px;}}.css-1fco1ts,[data-css-1fco1ts]{display:grid;grid-template-columns:repeat(4, 1fr);justify-items:center;column-gap:3%;-ms-grid-template-columns:repeat(4, 1fr);-webkit-column-gap:3%;-moz-column-gap:3%;}@media only screen and (max-width: 768px){.css-1fco1ts,[data-css-1fco1ts]{grid-template-columns:1fr;text-align:center;-ms-grid-template-columns:1fr;}}.css-11a2nsi,[data-css-11a2nsi]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;flex-direction:column;align-items:center;text-align:left;width:100%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-webkit-box-align:center;-webkit-align-items:center;}.css-1npm75a,[data-css-1npm75a]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;flex-direction:column;color:#fff;font-size:14px;line-height:1.7;letter-spacing:0.3px;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;}.css-1npm75a a,[data-css-1npm75a] a{color:#fff;text-decoration:none;}.css-1npm75a a:visited,[data-css-1npm75a] a:visited{color:#fff;}.css-1npm75a a:hover,[data-css-1npm75a] a:hover{color:#068dfe;}.css-1npm75a a:hover span,[data-css-1npm75a] a:hover span{color:#fff;}.css-1npm75a a:active span,[data-css-1npm75a] a:active span{color:#fff;}@media only screen and (max-width: 768px){.css-1npm75a,[data-css-1npm75a]{align-items:center;width:95%;font-size:16px;line-height:2;-webkit-box-align:center;-webkit-align-items:center;}}.css-1gn11bn,[data-css-1gn11bn]{color:#fff;font-weight:600;font-size:20px;letter-spacing:0.38px;}@media only screen and (max-width: 768px){.css-1gn11bn,[data-css-1gn11bn]{margin-top:36px;margin-bottom:24px;}}.css-1y302zr,[data-css-1y302zr]{position:relative;}@media only screen and (min-width: 769px){.css-1y302zr,[data-css-1y302zr]{margin-right:auto;}}.css-11gxadc,[data-css-11gxadc]{padding:0;margin:8px 0;}.css-11gxadc li,[data-css-11gxadc] li{display:inline-block;margin:0 5px;}@media only screen and (min-width: 769px){.css-11gxadc li:first-child,[data-css-11gxadc] li:first-child{margin-left:0;}}@media only screen and (max-width: 768px){.css-11gxadc,[data-css-11gxadc]{margin:0 0 80px;}}.css-1iqd2ec svg:hover path,[data-css-1iqd2ec] svg:hover path{fill:#939393;}.css-lneilx,[data-css-lneilx]{margin-top:15px;line-height:100%;}.css-lneilx svg,[data-css-lneilx] svg{max-width:135px;}.css-lneilx svg g,[data-css-lneilx] svg g{fill:#fff;}@media only screen and (max-width: 768px){.css-lneilx,[data-css-lneilx]{margin-top:0;}}@media only screen and (max-width: 480px){.css-lneilx,[data-css-lneilx]{margin-top:0;}}.css-de1dx1,[data-css-de1dx1]{color:#fff;}.css-de1dx1 a,[data-css-de1dx1] a, .css-de1dx1 span, [data-css-de1dx1] span{display:inline-block;margin-right:8px;font-size:13px;letter-spacing:0.24px;}.css-de1dx1 a:last-child,[data-css-de1dx1] a:last-child{margin-right:0;}@media only screen and (max-width: 768px){.css-de1dx1,[data-css-de1dx1]{line-height:1.5;margin-top:14px;margin-bottom:11px;}}.css-1h53588,[data-css-1h53588]{margin:18px 0;}@media only screen and (max-width: 992px){.css-1h53588,[data-css-1h53588]{text-align:center;}}@media only screen and (max-width: 480px){.css-1h53588,[data-css-1h53588]{text-align:center;}}.css-12k57td,[data-css-12k57td]{font-family:Cerebri Sans Pro;margin-top:0;font-style:normal;font-weight:400;font-size:14px;line-height:25px;letter-spacing:0.375px;color:#fff;}.css-j1o656,[data-css-j1o656]{width:53px;height:53px;}.css-zr18wh,[data-css-zr18wh]{color:#c2c2c2;font-size:10px;margin-top:5px;}.css-zr18wh div,[data-css-zr18wh] div{white-space:nowrap;}@media only screen and (max-width: 768px){.css-zr18wh,[data-css-zr18wh]{font-size:13px;line-height:1.5;text-align:center;}}</style> <div id="Footer-react-component-b887cc69-1029-4251-be72-f428c4a31686" data-ssr="true" ><footer class="css-ts0y2j"><div class="css-cs546h"><div class="css-1fco1ts"><div class="css-11a2nsi"><div class="css-1npm75a"><h3 class="css-1gn11bn">Tools &amp; Services</h3><a href="/stackups/trending" title="Compare Tools">Compare Tools</a><a href="/search" title="Search Tools &amp; Services">Search</a><a href="/alternatives" title="Browse Tools &amp; Services">Browse Tool Alternatives</a><a href="/categories" title="Technology Tools &amp; Services">Browse Tool Categories</a><a href="/submit" title="Submit a Tool">Submit A Tool</a><a href="/admin/approval-tool" title="Approve Tools">Approve Tools</a></div></div><div class="css-11a2nsi"><div class="css-1npm75a"><h3 class="css-1gn11bn">Company</h3><a href="/featured-posts" title="Featured Posts">Blog</a><a href="/api" title="API">API</a><a href="/jobs" title="Jobs">Job Search</a><a href="/careers" title="Careers at StackShare" class="css-1y302zr">Careers</a><a href="/stackshare" title="Our Stack">Our Stack</a><a href="/vendors" title="Advertise With Us">Advertise With Us</a><a href="mailto:team@stackshare.io" title="Contact Us">Contact Us</a></div></div><div class="css-11a2nsi"><div class="css-1npm75a"><h3 class="css-1gn11bn">Follow Us</h3><ul class="css-11gxadc"><li><a href="https://twitter.com/stackshareio" target="_blank" rel="noreferrer noopener nofollow" class="css-1iqd2ec"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="#FFF" fill-rule="evenodd" d="M3.6 0h16.8A3.6 3.6 0 0 1 24 3.6v16.8a3.6 3.6 0 0 1-3.6 3.6H3.6A3.6 3.6 0 0 1 0 20.4V3.6A3.6 3.6 0 0 1 3.6 0zm14.29 9.964c.548-.389 1.005-.891 1.393-1.44a6.285 6.285 0 0 1-1.621.435c.594-.343 1.005-.891 1.21-1.553a5.867 5.867 0 0 1-1.758.685A2.759 2.759 0 0 0 15.08 7.2a2.788 2.788 0 0 0-2.787 2.81c0 .205.023.433.069.639A7.976 7.976 0 0 1 6.56 7.702a3.037 3.037 0 0 0-.365 1.417c0 .982.48 1.827 1.233 2.33-.456 0-.89-.138-1.256-.343v.022c0 1.37.96 2.49 2.238 2.764-.228.069-.48.092-.73.092-.183 0-.366-.023-.526-.046.343 1.119 1.394 1.873 2.604 1.896-.96.753-2.147 1.279-3.472 1.279a6 6 0 0 1-.662-.046c1.233.8 2.718 1.233 4.294 1.233 5.162 0 7.971-4.27 7.971-7.97v-.366z"></path></svg></a></li><li><a href="https://facebook.com/stackshareio" target="_blank" rel="noreferrer noopener nofollow" class="css-1iqd2ec"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="#FFF" fill-rule="evenodd" d="M16.478 24v-8h2.896l.201-3.069h-3.097v-2.237c0-.86.172-1.405 1.262-1.405h1.692l.143-2.925s-.86-.172-2.351-.172c-3.04 0-4.36 1.835-4.36 3.9v2.81H10.8V16h2.065v8H3.6A3.6 3.6 0 0 1 0 20.4V3.6A3.6 3.6 0 0 1 3.6 0h16.8A3.6 3.6 0 0 1 24 3.6v16.8a3.6 3.6 0 0 1-3.6 3.6h-3.922z"></path></svg></a></li><li><a href="https://www.linkedin.com/company/stackshare" target="_blank" rel="noreferrer noopener nofollow" class="css-1iqd2ec"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="#FFF" fill-rule="evenodd" d="M3.6 0h16.8A3.6 3.6 0 0 1 24 3.6v16.8a3.6 3.6 0 0 1-3.6 3.6H3.6A3.6 3.6 0 0 1 0 20.4V3.6A3.6 3.6 0 0 1 3.6 0zm5.521 17.16V9.378H6.374v7.782h2.747zM7.748 8.43c1.119 0 1.83-.807 1.83-1.815C9.554 5.578 8.868 4.8 7.749 4.8c-1.094 0-1.831.778-1.831 1.815 0 1.008.712 1.815 1.805 1.815h.026zm11.444 8.73v-4.12c0-2.518-1.246-4.12-3.205-4.12-1.119 0-1.932.661-2.288 1.653l-.102-1.195h-2.721c.025.305.076 1.83.076 1.83v5.952h2.747v-4.12c0-1.12.508-1.831 1.347-1.831.84 0 1.4.432 1.4 1.83v4.12h2.746z"></path></svg></a></li><li><a href="https://angel.co/stackshare" target="_blank" rel="noreferrer noopener nofollow" class="css-1iqd2ec"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="#FFF" fill-rule="evenodd" d="M3.6 0h16.8A3.6 3.6 0 0 1 24 3.6v16.8a3.6 3.6 0 0 1-3.6 3.6H3.6A3.6 3.6 0 0 1 0 20.4V3.6A3.6 3.6 0 0 1 3.6 0zm4.684 14.42c.365.493.708.877 1.029 1.153.322.276.579.413.769.413.14 0 .268-.064.385-.194a.624.624 0 0 0 .173-.42c0-.16-.114-.528-.341-1.11-.227-.58-.512-1.15-.849-1.71-.249-.418-.492-.733-.732-.947-.24-.214-.466-.319-.68-.319-.174 0-.366.111-.577.33-.212.223-.317.43-.317.622 0 .2.102.501.309.903.207.4.484.827.83 1.28zm6.062-4.06a89.757 89.757 0 0 0 1.296-3.767c.31-.99.465-1.598.465-1.824 0-.242-.053-.43-.155-.563h-.001a.51.51 0 0 0-.429-.2c-.23 0-.468.194-.707.582-.24.389-.505 1.014-.793 1.875l-1.238 3.622 1.562.275zm-4.45-.445a.982.982 0 0 1 .371-.058c.05 0 .149.005.298.013.147.01.392.03.73.063L9.958 6.022c-.347-.993-.615-1.644-.806-1.949-.19-.303-.397-.456-.619-.456a.513.513 0 0 0-.422.2c-.107.133-.16.313-.16.54 0 .384.144 1.052.433 2.004.29.953.724 2.202 1.303 3.749a.41.41 0 0 1 .21-.195zm6.22 2.129a1.006 1.006 0 0 0-.245-.293c-.338-.285-.998-.54-1.979-.765a13.608 13.608 0 0 0-3.068-.338c-.296 0-.508.05-.632.15-.124.1-.186.272-.186.516 0 .567.314.98.943 1.233.627.255 1.643.382 3.049.382h.508c.116 0 .21.044.279.133.07.088.118.219.142.394-.14.134-.43.287-.866.456-.438.172-.774.341-1.005.508a4.53 4.53 0 0 0-1.196 1.31 3.99 3.99 0 0 0-.198.374c-.04.09-.07.176-.102.263-.012.034-.029.067-.04.1-.018.063-.03.125-.044.188-.013.056-.032.11-.04.166-.006.039-.006.076-.01.114-.008.076-.019.154-.019.228v.001c0 .277.063.609.192.997.128.388.192.629.192.72v.086l-.025.112c-.364-.023-.65-.239-.863-.644-.21-.406-.315-.947-.315-1.622v-.112a.719.719 0 0 1-.192.125.553.553 0 0 1-.205.037c-.074 0-.144-.006-.212-.019a2.132 2.132 0 0 1-.222-.058v.001c.024.094.043.182.056.27a1.05 1.05 0 0 1-.34 1.003 1.22 1.22 0 0 1-.856.331c-.52 0-1.05-.256-1.587-.77-.537-.515-.806-1.017-.806-1.51 0-.091.01-.172.032-.243a.406.406 0 0 1 .104-.182c.115.142.278.35.483.627.545.76 1.05 1.14 1.512 1.14.157 0 .297-.05.422-.149.123-.1.185-.206.185-.313v-.001c0-.127-.083-.334-.248-.629a8.366 8.366 0 0 0-.681-.99c-.33-.425-.606-.736-.826-.933-.217-.196-.394-.295-.525-.295-.29 0-.557.157-.8.47a1.756 1.756 0 0 0-.366 1.11c0 .344.086.725.254 1.147.168.422.416.846.738 1.271a4.937 4.937 0 0 0 1.816 1.524c.723.355 1.522.532 2.4.532 1.611 0 2.96-.607 4.046-1.823 1.088-1.216 1.632-2.739 1.632-4.568 0-.56-.04-1.005-.124-1.337a1.67 1.67 0 0 0-.162-.425zm-4.733 2.915a6.14 6.14 0 0 1 .626-.682c.218-.206.449-.386.689-.545a8.167 8.167 0 0 1-1.01-.113 5.067 5.067 0 0 1-.912-.252c.133.268.25.535.354.802.103.268.188.532.253.79z"></path></svg></a></li></ul></div></div><div class="css-11a2nsi"><div class="css-1npm75a"><a href="/" class="css-lneilx"><svg width="203" height="31" viewBox="0 0 812 124" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><g id="Layer1" fill-rule="nonzero"><path d="M221.086 85.794c0 7.342-2.55 12.933-7.651 16.775-5.101 3.842-12.731 5.762-22.889 5.762-5.208 0-9.647-.352-13.318-1.056-3.671-.704-7.107-1.739-10.308-3.105V88.035c3.628 1.707 7.715 3.137 12.261 4.29 4.546 1.152 8.547 1.728 12.005 1.728 7.085 0 10.628-2.048 10.628-6.146 0-1.537-.469-2.785-1.408-3.746-.939-.96-2.561-2.048-4.866-3.265-2.305-1.216-5.379-2.636-9.22-4.258-5.506-2.305-9.551-4.439-12.133-6.402-2.583-1.964-4.461-4.215-5.635-6.755-1.173-2.54-1.76-5.666-1.76-9.38 0-6.36 2.465-11.279 7.395-14.758 4.93-3.479 11.919-5.218 20.968-5.218 8.623 0 17.01 1.878 25.163 5.634l-5.891 14.086c-3.585-1.537-6.936-2.796-10.052-3.778a31.589 31.589 0 0 0-9.54-1.472c-5.762 0-8.643 1.558-8.643 4.674 0 1.75.928 3.265 2.785 4.546 1.857 1.28 5.922 3.18 12.197 5.698 5.591 2.262 9.689 4.375 12.293 6.339 2.604 1.963 4.524 4.225 5.762 6.786 1.238 2.561 1.857 5.613 1.857 9.156zM259.924 92.773c3.415 0 7.513-.747 12.293-2.241v14.534c-4.866 2.177-10.841 3.265-17.927 3.265-7.811 0-13.499-1.974-17.063-5.922-3.564-3.948-5.346-9.871-5.346-17.767V50.131h-9.348v-8.259l10.756-6.531 5.635-15.11h12.485v15.238h20.04v14.662h-20.04v34.511c0 2.774.779 4.823 2.337 6.146 1.558 1.323 3.617 1.985 6.178 1.985zM325.59 107.051l-3.778-9.732h-.512c-3.287 4.14-6.669 7.011-10.148 8.611-3.479 1.601-8.014 2.401-13.606 2.401-6.872 0-12.282-1.963-16.23-5.89-3.949-3.927-5.923-9.519-5.923-16.775 0-7.598 2.657-13.2 7.971-16.807 5.315-3.607 13.329-5.602 24.042-5.986l12.421-.384v-3.138c0-7.256-3.713-10.884-11.14-10.884-5.72 0-12.443 1.728-20.168 5.186l-6.467-13.19c8.238-4.311 17.372-6.466 27.403-6.466 9.604 0 16.967 2.091 22.089 6.274s7.683 10.543 7.683 19.08v47.7H325.59zm-5.763-33.166l-7.555.256c-5.677.171-9.902 1.195-12.677 3.074-2.774 1.878-4.162 4.738-4.162 8.579 0 5.506 3.159 8.259 9.476 8.259 4.525 0 8.142-1.301 10.853-3.905 2.71-2.604 4.065-6.061 4.065-10.372v-5.891zM381.843 108.331c-22.281 0-33.421-12.229-33.421-36.687 0-12.165 3.03-21.459 9.091-27.883 6.061-6.424 14.748-9.636 26.059-9.636 8.281 0 15.708 1.622 22.281 4.866l-5.762 15.11c-3.074-1.238-5.933-2.251-8.58-3.041-2.646-.79-5.293-1.185-7.939-1.185-10.159 0-15.238 7.214-15.238 21.641 0 14.001 5.079 21.001 15.238 21.001 3.756 0 7.235-.502 10.436-1.505 3.202-1.003 6.403-2.571 9.604-4.706v16.711c-3.158 2.006-6.349 3.394-9.572 4.162-3.222.768-7.288 1.152-12.197 1.152zM432.398 68.123l8.516-10.885 20.04-21.769h22.025l-28.428 31.053 30.157 40.529h-22.537l-20.617-29.004-8.387 6.723v22.281h-19.528V7.426h19.528V51.86l-1.025 16.263h.256z"></path><path d="M538.336 85.794c0 7.342-2.55 12.933-7.651 16.775-5.101 3.842-12.73 5.762-22.889 5.762-5.208 0-9.647-.352-13.318-1.056-3.671-.704-7.107-1.739-10.308-3.105V88.035c3.628 1.707 7.715 3.137 12.261 4.29 4.546 1.152 8.548 1.728 12.005 1.728 7.086 0 10.628-2.048 10.628-6.146 0-1.537-.469-2.785-1.408-3.746-.939-.96-2.561-2.048-4.866-3.265-2.305-1.216-5.378-2.636-9.22-4.258-5.506-2.305-9.551-4.439-12.133-6.402-2.582-1.964-4.46-4.215-5.634-6.755-1.174-2.54-1.761-5.666-1.761-9.38 0-6.36 2.465-11.279 7.395-14.758 4.93-3.479 11.92-5.218 20.969-5.218 8.622 0 17.009 1.878 25.162 5.634l-5.89 14.086c-3.586-1.537-6.937-2.796-10.053-3.778a31.589 31.589 0 0 0-9.54-1.472c-5.762 0-8.643 1.558-8.643 4.674 0 1.75.928 3.265 2.785 4.546 1.857 1.28 5.923 3.18 12.197 5.698 5.592 2.262 9.689 4.375 12.293 6.339 2.604 1.963 4.525 4.225 5.763 6.786 1.237 2.561 1.856 5.613 1.856 9.156zM613.093 107.051h-19.528V65.242c0-10.33-3.841-15.495-11.524-15.495-5.464 0-9.412 1.857-11.845 5.571-2.433 3.713-3.65 9.732-3.65 18.055v33.678h-19.528V7.426h19.528v20.296c0 1.58-.149 5.293-.448 11.141l-.448 5.762h1.024c4.354-7 11.269-10.5 20.745-10.5 8.409 0 14.79 2.262 19.144 6.787 4.353 4.524 6.53 11.012 6.53 19.464v46.675zM672.1 107.051l-3.778-9.732h-.512c-3.286 4.14-6.669 7.011-10.148 8.611-3.479 1.601-8.014 2.401-13.606 2.401-6.872 0-12.282-1.963-16.23-5.89-3.948-3.927-5.923-9.519-5.923-16.775 0-7.598 2.657-13.2 7.972-16.807 5.314-3.607 13.328-5.602 24.042-5.986l12.421-.384v-3.138c0-7.256-3.714-10.884-11.141-10.884-5.72 0-12.442 1.728-20.168 5.186l-6.467-13.19c8.238-4.311 17.373-6.466 27.403-6.466 9.604 0 16.967 2.091 22.089 6.274 5.123 4.183 7.684 10.543 7.684 19.08v47.7H672.1zm-5.762-33.166l-7.555.256c-5.677.171-9.903 1.195-12.678 3.074-2.774 1.878-4.161 4.738-4.161 8.579 0 5.506 3.158 8.259 9.475 8.259 4.525 0 8.142-1.301 10.853-3.905 2.71-2.604 4.066-6.061 4.066-10.372v-5.891zM739.238 34.125c2.646 0 4.845.192 6.595.576l-1.473 18.312c-1.579-.427-3.5-.641-5.762-.641-6.232 0-11.088 1.601-14.566 4.802-3.479 3.202-5.218 7.684-5.218 13.446v36.431h-19.528V35.469h14.79l2.881 12.037h.96c2.22-4.012 5.218-7.245 8.996-9.7 3.777-2.454 7.886-3.681 12.325-3.681zM779.293 48.019c-4.141 0-7.385 1.312-9.732 3.937-2.348 2.625-3.692 6.349-4.034 11.173h27.403c-.085-4.824-1.344-8.548-3.777-11.173s-5.72-3.937-9.86-3.937zm2.753 60.312c-11.525 0-20.531-3.18-27.019-9.54-6.488-6.36-9.732-15.366-9.732-27.019 0-11.994 2.998-21.267 8.996-27.819 5.997-6.552 14.288-9.828 24.874-9.828 10.116 0 17.991 2.881 23.625 8.643 5.635 5.763 8.452 13.723 8.452 23.882v9.476h-46.163c.213 5.549 1.857 9.882 4.93 12.997 3.073 3.116 7.384 4.674 12.933 4.674 4.311 0 8.388-.448 12.229-1.344 3.842-.897 7.854-2.326 12.037-4.29v15.11c-3.414 1.708-7.064 2.978-10.948 3.81-3.885.832-8.622 1.248-14.214 1.248z"></path></g><g fill="#008ff9"><path d="M101.98 83c-3.9 0-7.157 2.792-7.886 6.482-.212 1.564 0 3.123 0 3.123.73 3.687 3.986 6.477 7.885 6.477 4.434 0 8.042-3.605 8.042-8.04 0-4.434-3.608-8.042-8.042-8.042M32.041 54C27.607 54 24 57.606 24 62.041c0 4.433 3.607 8.041 8.041 8.041 4.435 0 8.042-3.608 8.042-8.041 0-4.435-3.607-8.041-8.042-8.041m69.924-12.918c4.435 0 8.042-3.608 8.042-8.041 0-4.435-3.607-8.041-8.042-8.041-3.898 0-7.155 2.791-7.885 6.48v.049s-.18 1.654 0 3.073c.73 3.689 3.987 6.48 7.885 6.48"></path><path d="M101.965 105.961c-6.965 0-12.841-4.655-14.692-11.022H73.376l-.076.043-16.575-28.517H46.592c-1.852 6.367-7.727 11.023-14.694 11.023-8.451 0-15.303-6.852-15.303-15.303 0-8.452 6.852-15.305 15.303-15.305 6.967 0 12.842 4.656 14.694 11.025h9.905l.128-.217L73.3 28.999l.141.083h13.768c1.852-6.369 7.727-11.025 14.692-11.025 8.453 0 15.305 6.853 15.305 15.305 0 8.451-6.852 15.304-15.305 15.304-6.965 0-12.84-4.656-14.692-11.025h-9.03l-14.14 24.326-.006.023.005.022L78.2 86.378h9.073c1.851-6.369 7.727-11.026 14.692-11.026 8.453 0 15.305 6.853 15.305 15.305s-6.852 15.304-15.305 15.304zM124.996 0H8.004C3.584 0 0 3.561 0 7.953v108.094C0 120.44 3.584 124 8.004 124h116.992c4.421 0 8.004-3.56 8.004-7.953V7.953C133 3.561 129.417 0 124.996 0z"></path></g></svg></a><div class="css-de1dx1"><a href="/terms">Terms</a><span>·</span><a href="/privacy">Privacy</a></div><div class="css-1h53588"><h3 class="css-12k57td">SOC 2 Type 2 Certified</h3><a href="http://www.aicpa.org/soc4so" rel="nofollow noreferrer noopener" target="_blank" title="SOC2 badge"><img src="https://img.stackshare.io/fe/SOC2.png" class="css-j1o656"/></a></div><div class="css-zr18wh"><div>Copyright © <!-- -->2022<!-- --> StackShare, Inc. </div><div>All rights reserved.</div></div><div class="css-de1dx1"><a href="/html-sitemaps/stackups/main.html">Sitemap</a></div></div></div></div></div></footer></div> <script> renderComponent('Footer','Footer-react-component-b887cc69-1029-4251-be72-f428c4a31686','Footer-apollo-state-b887cc69-1029-4251-be72-f428c4a31686','Footer-glamor-b887cc69-1029-4251-be72-f428c4a31686', 'apollo','{"isAdmin":null}'); </script>