[{"data":1,"prerenderedAt":289},["ShallowReactive",2],{"project-7966700":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":28,"sentiment":29,"stance_mix":30,"scored_comments":35,"aspects":36,"strip":44,"post_text":46,"what":47,"said":73,"maker_in_thread":159,"shape":169,"grid":173,"attempts":251,"same_week":252,"maker_shows":31,"maker_hidden":281,"reader_version":282,"card":283},"7966700","Gin","Golang Martini-like web framework","title","Show HN: Gin – Golang Martini-like web framework","http:\u002F\u002Fgin-gonic.github.io\u002Fgin\u002F","gin-gonic.github.io","manucorporat",1404153110,2014,75,29,405,2272,18,"notable","languages","web framework","library",[24,25,26,27],"golang web framework","go http router","martini alternative","httprouter middleware","debated",-0.026,{"positive":31,"neutral":32,"mixed":33,"critical":34},4,3,1,6,14,{"idea":37,"design":38,"performance":40,"docs":42,"execution":43},{"positive":33,"critical":32},{"positive":39,"critical":33},2,{"positive":33,"critical":41},0,{"positive":41,"critical":33},{"positive":41,"critical":33},[32,33,33,41,41,41,45,41,32,33,41,41,41,45,45,32,33,41,33,41,45,33,41,32,41,41,41,41,41],5,null,{"problem":48,"audience":46,"pricing":46,"motivation":58,"time_to_build":46,"stack":63,"openness":72,"stage":72,"team_size":72},{"value":49,"source":50,"evidence":51},"Fast Go web framework with routing groups, middleware, and error handling","maker",[52,55],{"id":53,"by":11,"text":54},"7967769","Of course you could use Negroni with Gin. Anyway, Gin is a full-featured framework on top of httpRouter, I will explain this later (eventually I would like to merge both in the…",{"id":56,"by":11,"text":57},"7968173","I can explain that. First. Martini uses reflection, it's IMPOSSIBLE to make it as fast as Gin without removing all the reflection. Obviously it would break all the API, it would…",{"value":59,"source":50,"evidence":60},"Startup needed high performance; wanted Martini-style API with httprouter speed",[61,62],{"id":56,"by":11,"text":57},{"id":53,"by":11,"text":54},[64,68],{"value":65,"source":50,"evidence":66},"Go",[67],{"id":56,"by":11,"text":57},{"value":69,"source":50,"evidence":70},"httprouter",[71],{"id":53,"by":11,"text":54},"unknown",{"praise":74,"objections":91,"requests":127,"questions":138,"alternatives":144},[75,84],{"value":76,"source":77,"evidence":78},"Fast performance compared to Martini","commenter",[79,83],{"id":80,"by":81,"text":82},"7969018","jzelinskie","Thank you for your efforts. Some people may be giving you flack for \"making just another Go web framework\", but I wouldn't even be looking at a Go web framework if it was using…",{"id":56,"by":11,"text":57},{"value":85,"source":77,"evidence":86},"Nice routing groups design",[87],{"id":88,"by":89,"text":90},"7966885","im_dario","How does it compare to Negroni + httprouter? I see Gin uses httprouter and I guess it is the main difference. Anyway, Gin looks nice too. I like how the routing groups are done.…",[92,103,113,120],{"value":93,"source":77,"evidence":94},"Name clashes with codegangsta\u002Fgin live-reload tool",[95,99],{"id":96,"by":97,"text":98},"7967013","Artemis2","Real-time code reloading from the author of Martini: Gin - https:\u002F\u002Fgithub.com\u002Fcodegangsta\u002Fgin. Quite an unfortunate choice of name.",{"id":100,"by":101,"text":102},"7968331","codegangsta","Looks neat. Very I think it was a smart choice to pick an existing HTTP router. Like was mentioned above, the name was unfortunately used beforehand.…",{"value":104,"source":77,"evidence":105},"Another Go web framework is redundant versus contributing to Martini",[106,110],{"id":107,"by":108,"text":109},"7968094","brianbarker","Why didn't you just contribute to Martini and fix the parts that sucked? It just feels odd to me to re-invent a web framework, utilizing the same interfaces so it's the same to…",{"id":111,"by":108,"text":112},"7968520","Well, this is a tangent anyway. The main point was \"why another go web framework\" then he gave a better clarification. As you watch new languages spread, it's amazing how many…",{"value":114,"source":77,"evidence":115},"Middleware tied to this framework rather than shared interfaces",[116],{"id":117,"by":118,"text":119},"7980737","katokay","It looks promising. However, it is making the same mistake many of the other frameworks are making in that in order to make middleware, you must take on a dependency for this…",{"value":121,"source":77,"evidence":122},"Benchmark results in README are not updated",[123],{"id":124,"by":125,"text":126},"7967748","stock_toaster","Looks like the actual results are not updated\u002Fincluded in the readme though.",[128,132],{"value":129,"source":77,"evidence":130},"Update benchmark results",[131],{"id":124,"by":125,"text":126},{"value":133,"source":77,"evidence":134},"Separate route grouping as independent library",[135],{"id":136,"by":89,"text":137},"7967923","I don't think Negroni and Gin will mix well\u003C\u002Fpun> I implemented almost the same features as Negroni's middlewares [0] in my project (a backend for grassroots referendums). I was…",[139],{"value":140,"source":77,"evidence":141},"How does it compare to Negroni with httprouter?",[142,143],{"id":88,"by":89,"text":90},{"id":53,"by":11,"text":54},[145,149,153],{"value":146,"source":77,"evidence":147},"Martini",[148],{"id":107,"by":108,"text":109},{"value":150,"source":77,"evidence":151},"Negroni",[152],{"id":88,"by":89,"text":90},{"value":154,"source":77,"evidence":155},"Goji",[156],{"id":157,"by":97,"text":158},"7968143","I feel that this project is very different from Martini from the low-level point of view. While Martini uses reflection to find how to use handlers, Gin utilizes a static context…",{"comments":160,"answered":32,"key":161},7,[162,165,166],{"id":163,"text":164},"7967651","As author of Gin, I like Gin(the drink) and the martini framework, it was a clear decision to me. I did not know about the existence of codegangsta\u002Fgin, I just discovered it with…",{"id":53,"text":54},{"id":167,"text":168},"7969740","hahaha, do you think so? Using \"Go!\" can be confusing sometimes.",{"commenters":170,"max_depth":45,"maker_replies":160,"first_comment_mins":171,"lifespan_hours":172},19,28,54,[174,176,180,183,185,189,192,194,196,198,200,204,205,208,209,211,215,217,220,224,227,231,234,238,240,241,244,246,250],[96,41,32,175,97,41],"project\u002Fneutral\u002Fidea",[177,41,33,178,179,41],"7967141","project\u002Fcritical\u002Fidea","jamieomatthews",[181,41,33,178,182,41],"7967486","stcredzero",[163,41,41,184,11,33],"maker\u002Fneutral\u002Fidea",[186,41,41,187,188,41],"7968874","commenter\u002Fneutral\u002Fnone","jonalmeida",[190,41,41,187,191,41],"7969091","MisterBastahrd",[88,33,45,193,89,41],"project\u002Fpositive\u002Fdesign",[53,33,41,195,11,33],"maker\u002Fpositive\u002Fdesign",[136,33,32,197,89,41],"project\u002Fmixed\u002Fdesign",[117,33,33,199,118,41],"project\u002Fcritical\u002Fdesign",[201,39,41,202,203,41],"7969598","other\u002Fneutral\u002Fnone","jrk",[167,39,41,187,11,33],[206,39,41,202,207,41],"7969751","pjmlp",[100,32,45,193,101,41],[80,31,45,210,81,41],"project\u002Fpositive\u002Fperformance",[212,45,32,213,214,41],"7967347","project\u002Fneutral\u002Fdocs","javierprovecho",[124,45,33,216,125,41],"project\u002Fcritical\u002Fdocs",[218,45,41,219,11,33],"7967800","maker\u002Fneutral\u002Fperformance",[221,34,33,222,223,41],"7968568","project\u002Fcritical\u002Fexecution","chrismorgan",[225,34,41,226,11,33],"7968600","maker\u002Fneutral\u002Fexecution",[228,160,45,229,230,41],"7967407","project\u002Fpositive\u002Fidea","sergiotapia",[107,232,33,233,108,41],8,"maker\u002Fcritical\u002Fidea",[235,232,41,236,237,41],"7968141","commenter\u002Fneutral\u002Fidea","alixaxel",[157,232,32,239,97,41],"project\u002Fneutral\u002Fdesign",[56,232,41,219,11,33],[242,232,41,243,108,41],"7968213","commenter\u002Fcritical\u002Fidea",[245,232,41,184,11,33],"7968258",[247,232,41,248,249,41],"7968271","commenter\u002Fpositive\u002Fidea","elithrar",[111,232,41,243,108,41],[],[253,258,263,267,272,276],{"id":254,"name":255,"points":256,"category":257},"7978075","interviewing.io",604,"learning_science",{"id":259,"name":260,"points":261,"category":262},"7951020","Vim Awesome",222,"dev_tools",{"id":264,"name":265,"points":266,"category":257},"7965784","Instinct",218,{"id":268,"name":269,"points":270,"category":271},"7954327","Grasswire",115,"productivity",{"id":273,"name":274,"points":275,"category":20},"7976749","Iron",81,{"id":277,"name":278,"points":279,"category":280},"7973784","Bayes Impact",80,"other",false,"v2",{"id":284,"name":5,"line":6,"ai":281,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":285,"top":18,"kw":286,"maker":11,"domain":10,"tier":19,"attempts":41,"strip":287,"url":9,"mix":288,"praise":76,"objection":93,"sub":21},7966700,-0.03,[24,25,26,27],"31100050310005531010510300000",[31,32,33,34],1793990907094]