[{"data":1,"prerenderedAt":320},["ShallowReactive",2],{"project-31639879":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":9,"maker":10,"posted_at":11,"year":12,"points":13,"comments":14,"rank_in_year":15,"shown_in_year":16,"top":17,"tier":18,"category":19,"subcategory":20,"format":21,"keywords":22,"reception":28,"sentiment":29,"stance_mix":30,"scored_comments":34,"aspects":35,"strip":43,"post_text":45,"what":46,"said":93,"maker_in_thread":165,"shape":174,"grid":179,"attempts":281,"same_week":282,"maker_shows":200,"maker_hidden":311,"reader_version":312,"card":313},"31639879","WunderGraph","open-source API Developer Toolkit","title","Show HN: WunderGraph – open-source API Developer Toolkit",null,"jensneuse",1654520341,2022,63,35,840,2570,33,"notable","dev_tools","api development toolkit","library",[23,24,25,26,27],"graphql","api gateway","typescript sdk","openapi","api dependencies","loved",0.828,{"positive":31,"neutral":32,"mixed":32,"critical":33},24,1,0,26,{"design":36,"idea":38,"execution":40,"performance":42},{"positive":37,"critical":33},6,{"positive":39,"critical":33},5,{"positive":41,"critical":33},2,{"positive":32,"critical":33},[39,33,39,33,39,39,39,39,39,39,39,39,44,33,33,33,33,33,39,39,39,39,39,39,39,33,44,39,33,39,39,39,39,39,39],3,"Dear HN Community. We're Bjorn, Dustin, Stefan & Jens, the founders of WunderGraph.\n\nMore than two years ago, Jens started WunderGraph as a Side Project.\nThe initial idea was to solve the problem of integrating multiple disparate DataSources into a single, unified API Layer.\nWhile solving this problem, Jens realized that his mental model of APIs was wrong.\nMost API tools treat APIs as abstract things or just endpoints, in a very imperative way.\nAt some point, he realized that there's a better model to think about APIs:\nAPIs are dependencies and we should treat them in a declarative way!\n\nAnd t",{"problem":47,"audience":53,"pricing":9,"motivation":62,"time_to_build":9,"stack":66,"openness":90,"stage":91,"team_size":92},{"value":48,"source":49,"evidence":50},"Integrating multiple disparate data sources into a single unified API layer takes too long","maker",[51],{"id":52},"post",{"value":54,"source":55,"evidence":56},"Developers building API layers and frontends over multiple data sources","inferred",[57,58],{"id":52},{"id":59,"by":60,"text":61},"31640788","r-moore","As an agency we've built several projects with GraphQL, with either Hasura or GraphQL Nexus powered APIs. We love the declarative syntax of GraphQL, and Hasura is very…",{"value":63,"source":49,"evidence":64},"Jens's mental model of APIs was wrong; treating APIs as declarative dependencies",[65],{"id":52},[67,74,78,82,86],{"value":68,"source":69,"evidence":70},"Go","commenter",[71],{"id":72,"by":10,"text":73},"31690543","It depends on the workload and you should definitely always benchmark yourself. That said, WunderGraph is written in Go and quite fast I'd say:…",{"value":75,"source":49,"evidence":76},"TypeScript",[77],{"id":52},{"value":79,"source":49,"evidence":80},"GraphQL",[81],{"id":52},{"value":83,"source":49,"evidence":84},"PostgreSQL",[85],{"id":52},{"value":87,"source":49,"evidence":88},"MySQL",[89],{"id":52},"open_source","launched","team",{"praise":94,"objections":137,"requests":149,"questions":150,"alternatives":155},[95,114,122],{"value":96,"source":69,"evidence":97},"Generated type-safe client and good developer experience",[98,102,106,110],{"id":99,"by":100,"text":101},"31641033","mwarger","Excited to see this and congrats to the team! I've been huge fan of GraphQL for a while and have checked out all of the major players. A big one I've used in the past is Hasura.…",{"id":103,"by":104,"text":105},"31640146","free_man","Congratulations Wundergraph team. I've been exploring Wundergraph as an alternative to another service I'm using and I have to say that it looks quite promising. Coming from a…",{"id":107,"by":108,"text":109},"31649991","chakrihacker","Wundergraph is a awesome tool for both backend and frontend engineers. You can connect third party APIs easily on backend and the best part is it generates a type safe client…",{"id":111,"by":112,"text":113},"31643844","jainpawna21","I had great developer experience with wundergraph. Best part of using wundergraph is it can take multiple data sources, generates graphql operations and Rest API endpoints. We…",{"value":115,"source":69,"evidence":116},"Better security and production-readiness than Hasura-style GraphQL tools",[117,118],{"id":59,"by":60,"text":61},{"id":119,"by":120,"text":121},"31642725","clayne","Congrats on getting this open sourced! Wundergraph takes a really interesting approach to solving stitching APIs together, taking care of a lot of production concerns around…",{"value":123,"source":69,"evidence":124},"Team is responsive and helpful",[125,129,133],{"id":126,"by":127,"text":128},"31647307","rwesty","I started using Wundergraph as a backend service for our recently launched platform in February of this year. I found the usage to be simple and easy to understand, but…",{"id":130,"by":131,"text":132},"31650813","cellograph","Congratulations, Team Wundergraph. I've been using wundergraph for last couple of months in some hobby projects and also using it on my startup. It boost my team's productivity…",{"id":134,"by":135,"text":136},"31649065","abdoalsayed","Congrats for WG team, I have been testing some features in Wundergraph, and Jense was more than supportive in that regard, I see a brilliant future for WG, no doubts it promotes…",[138,142],{"value":139,"source":69,"evidence":140},"Early-stage with bugs and rough deployment at times",[141],{"id":126,"by":127,"text":128},{"value":143,"source":69,"evidence":144},"Performance of the server is unclear",[145],{"id":146,"by":147,"text":148},"31687274","griffonrl","I absolutely love some of the ideas. In particular leveraging browser capabilities for caching, security benefits of the approach with REST over GraphQL. I do wonder about the…",[],[151],{"value":152,"source":69,"evidence":153},"How does server performance compare to Apollo",[154],{"id":146,"by":147,"text":148},[156,161],{"value":157,"source":69,"evidence":158},"Hasura",[159,160],{"id":99,"by":100,"text":101},{"id":59,"by":60,"text":61},{"value":162,"source":69,"evidence":163},"Apollo Federation",[164],{"id":146,"by":147,"text":148},{"comments":37,"answered":33,"key":166},[167,170,173],{"id":168,"text":169},"31641117","Thanks for your support!",{"id":171,"text":172},"31640820","Thank you for the kind words, appreciate your support!",{"id":72,"text":73},{"commenters":175,"max_depth":176,"maker_replies":37,"first_comment_mins":177,"lifespan_hours":178},29,4,21,113,[180,182,184,185,186,187,191,193,196,197,199,202,206,209,210,215,217,220,223,227,231,233,238,240,244,248,250,255,259,261,264,268,272,275,279],[99,33,39,181,100,33],"project\u002Fpositive\u002Fdesign",[168,33,33,183,10,32],"maker\u002Fpositive\u002Fnone",[59,32,39,181,60,33],[171,32,33,183,10,32],[103,41,39,181,104,33],[188,44,39,189,190,33],"31641116","project\u002Fpositive\u002Fidea","theosap",[126,176,39,192,127,33],"project\u002Fpositive\u002Fexecution",[194,39,39,189,195,33],"31649531","koleok",[111,37,39,181,112,33],[130,198,39,192,131,33],7,[119,200,39,201,120,33],8,"project\u002Fpositive\u002Fperformance",[203,204,39,181,205,33],"31662749",9,"YourTechBud",[146,207,44,208,147,33],10,"project\u002Fmixed\u002Fperformance",[72,207,33,201,10,32],[211,212,33,213,214,33],"31641147",11,"commenter\u002Fneutral\u002Fnone","realityking",[216,212,33,213,10,32],"31641282",[218,212,33,213,219,33],"31641701","dang",[221,212,33,213,222,33],"31643102","SlickStef11",[224,225,39,189,226,33],"31641061",12,"bonas",[228,229,39,189,230,33],"31640342",13,"AccountAccount1",[107,232,39,181,108,33],14,[234,235,39,236,237,33],"31702267",15,"project\u002Fpositive\u002Fnone","avaessen8",[134,239,39,236,135,33],16,[241,242,39,189,243,33],"31641488",17,"wunderlichrd",[245,246,39,236,247,33],"31640561",18,"fiamaxxine",[249,246,33,213,10,32],"31640747",[251,252,44,253,254,33],"31640353",19,"maker\u002Fneutral\u002Fnone","starptech",[256,257,39,236,258,33],"31640522",20,"spell-slinger",[260,257,33,189,10,32],"31640755",[262,177,39,236,263,33],"31640446","FIFA-LEGEND",[265,266,39,236,267,33],"31640087",22,"DJC15",[269,270,39,236,271,33],"31642837",23,"mikaelmorvan",[273,31,39,236,274,33],"31641078","EladGalili",[276,277,39,236,278,33],"31641572",25,"luisw19",[280,34,39,236,222,33],"31640169",[],[283,288,292,297,302,307],{"id":284,"name":285,"points":286,"category":287},"31607318","webOS Archive",439,"infrastructure",{"id":289,"name":290,"points":291,"category":19},"31595822","Svelvet",354,{"id":293,"name":294,"points":295,"category":296},"31653726","The Bitcoin Note",344,"finance_crypto",{"id":298,"name":299,"points":300,"category":301},"31668814","Spiral Wiki",331,"security_privacy",{"id":303,"name":304,"points":305,"category":306},"31593726","quaxio.com",281,"games",{"id":308,"name":309,"points":310,"category":287},"31657527","Umbrel",225,false,"v2",{"id":314,"name":5,"line":6,"ai":311,"cat":19,"year":12,"points":13,"comments":14,"rec":28,"s":315,"top":17,"kw":316,"maker":10,"domain":317,"tier":18,"attempts":33,"strip":318,"url":-1,"mix":319,"praise":96,"objection":139,"sub":20},31639879,0.83,[23,24,25,26,27],"","50505555555530000055555550350555555",[31,32,32,33],1793991046786]