[{"data":1,"prerenderedAt":499},["ShallowReactive",2],{"project-31371340":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":88,"maker_in_thread":178,"shape":189,"grid":194,"attempts":461,"same_week":462,"maker_shows":246,"maker_hidden":491,"reader_version":492,"card":493},"31371340","Bud","A Full-Stack Web Framework for Go","title","Show HN: A Full-Stack Web Framework for Go","https:\u002F\u002Fgithub.com\u002Flivebud\u002Fbud","github.com","matthewmueller",1652468463,2022,531,99,45,2570,2,"legend","dev_tools","web framework","library",[24,25,26,27],"go web framework","full-stack go","server-side rendering go","svelte go","mixed",0.144,{"positive":31,"neutral":32,"mixed":33,"critical":34},12,21,3,7,43,{"design":37,"idea":39,"docs":40,"execution":42,"performance":43},{"positive":18,"critical":38},1,{"positive":34,"critical":18},{"positive":18,"critical":41},0,{"positive":41,"critical":33},{"positive":41,"critical":38},[33,41,41,33,33,41,33,41,45,45,45,41,45,45,38,45,45,41,33,45,33,38,45,33,33,33,33,33,33,38,41,45,38,38,33,33,41,38,41,41],5,"Hey HN! I want to share my side project with you. It's called Bud and it's a full-stack web framework for Go.\n\nI created a short video to show you how to create a minimal Hacker News clone with Bud: https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=LoypcRqn-xA.\n\nThe framework is free, open source and MIT Licensed. You can find it on Github: https:\u002F\u002Fgithub.com\u002Flivebud\u002Fbud.\n\nI started working on Bud 2 years ago after watching the introductory Laracast videos about the Laravel web framework. I was just blown away by how productive you can be in Laravel. However, like many of you, I've been so spoiled by Go. I didn",{"problem":48,"audience":54,"pricing":61,"motivation":62,"time_to_build":61,"stack":66,"openness":85,"stage":86,"team_size":87},{"value":49,"source":50,"evidence":51},"Building full-stack web apps in Go is slow and requires scaffolding many files","maker",[52],{"id":53},"post",{"value":55,"source":50,"evidence":56},"Go developers building web applications",[57,58],{"id":53},{"id":59,"by":11,"text":60},"31375970","Thanks for your comment @pphysch! So for authoring an app, I tend to agree with you. Languages like Ruby\u002FPython\u002FTypescript are probably faster to get something working. I try to…",null,{"value":63,"source":50,"evidence":64},"Wanted Laravel-like productivity in Go after working in Go and missing it in PHP",[65],{"id":53},[67,71,77,81],{"value":68,"source":50,"evidence":69},"Go",[70],{"id":53},{"value":72,"source":50,"evidence":73},"Svelte",[74],{"id":75,"by":11,"text":76},"31375126","Hey, excellent question. You're correct that Bud server-side renders the Svelte files, then hydrates them on the client. This is similar to what most other JS frameworks do, it…",{"value":78,"source":50,"evidence":79},"V8",[80],{"id":75,"by":11,"text":76},{"value":82,"source":50,"evidence":83},"ESBuild",[84],{"id":75,"by":11,"text":76},"open_source","beta","unknown",{"praise":89,"objections":102,"requests":114,"questions":136,"alternatives":152},[90],{"value":91,"source":92,"evidence":93},"Commenters welcome the Go web framework space getting more attention","commenter",[94,98],{"id":95,"by":96,"text":97},"31376494","realrocker","Oh wow someone finally went ahead with the server rendered js in Go ! Looks great. I have been experimenting various ways to build web apps in Go:…",{"id":99,"by":100,"text":101},"31373408","dimgl","I think using Svelte was a mistake. That being said, I'm pretty impressed with the effort here. Looking forward to seeing how this framework evolves. Cheers.",[103,110],{"value":104,"source":92,"evidence":105},"Go's lack of operator overloading makes it less productive for web frameworks",[106],{"id":107,"by":108,"text":109},"31375063","pphysch","Cool project but I think building a full stack web framework in a language without features like operator overloading is a fool's errand. Yes, Go has nice standard templating and…",{"value":111,"source":92,"evidence":112},"Svelte choice questioned",[113],{"id":99,"by":100,"text":101},[115,122,129],{"value":116,"source":92,"evidence":117},"Support for Phoenix LiveView-style server-driven UI",[118],{"id":119,"by":120,"text":121},"31372024","throwamon","Any plans to implement something like Phonenix LiveView? I've never used Go, but from what I've read I suppose it should work really well given Go's concurrency model. (The name…",{"value":123,"source":92,"evidence":124},"TypeScript prop type safety for Svelte views",[125],{"id":126,"by":127,"text":128},"31372341","mavbo","Glad to see progress in this space. I couldn't find anything describing the paradigm used for the JavaScript frontend. From the video, it looks like things are fully server side…",{"value":130,"source":92,"evidence":131},"HTTPS support",[132],{"id":133,"by":134,"text":135},"31375768","cjohansson","I'm experimenting with something similar as well, I'm curious - how do you solve HTTPS support since it's a built-in web-server?",[137,144],{"value":138,"source":92,"evidence":139},"How models and persistence will work",[140],{"id":141,"by":142,"text":143},"31372283","onionisafruit","Congratulations on shipping. The demo looks great. I see views and controllers in the documentation, but the only mention of model is that \"model\" is a reserved directory. What…",{"value":145,"source":92,"evidence":146},"How SSR and hydration work",[147,148],{"id":126,"by":127,"text":128},{"id":149,"by":150,"text":151},"31372114","ehaughee","This looks cool. I know effectively nothing about Svelte so some of these questions may be coming from that ignorance....but can you talk more about the embedded V8 instance…",[153,160,167,171],{"value":154,"source":92,"evidence":155},"Buffalo",[156],{"id":157,"by":158,"text":159},"31374101","DoctorOW","See also: Buffalo https:\u002F\u002Fgobuffalo.io",{"value":161,"source":92,"evidence":162},"Pagoda",[163],{"id":164,"by":165,"text":166},"31372019","mstef9","People interested in this might also find my project Pagoda [0] interesting. It's a full-stack web dev starter kit for Go, rather than a framework with any strict patterns or…",{"value":168,"source":50,"evidence":169},"Laravel",[170],{"id":53},{"value":172,"source":92,"evidence":173},"SvelteKit",[174],{"id":175,"by":176,"text":177},"31375794","tekkk","Wow is this like Go version of SvelteKit? Except without SSR so it serves only static files? I just thought about the same thing recently and I'm glad somebody made it! IMO Go is…",{"comments":179,"answered":180,"key":181},39,13,[182,185,186],{"id":183,"text":184},"31375179","Nice sleuthing! Bud heavily relies on https:\u002F\u002Fgithub.com\u002Frogchap\u002Fv8go",{"id":75,"text":76},{"id":187,"text":188},"31375630","I should add that lazy builds only happen in development. In production, it's all bundled at once.",{"commenters":190,"max_depth":191,"maker_replies":179,"first_comment_mins":192,"lifespan_hours":193},48,8,52,82,[195,197,201,205,207,209,211,213,215,218,222,224,226,229,231,233,236,239,242,244,249,252,254,257,259,261,264,266,268,271,273,275,277,280,284,286,291,293,296,298,300,302,306,308,310,312,316,318,322,326,328,332,336,339,341,345,347,349,351,353,357,359,362,364,368,371,374,377,380,383,386,388,390,393,396,398,400,403,405,410,412,416,418,422,424,428,430,434,436,440,443,445,447,450,452,454,456,457,459],[126,41,33,196,127,41],"maker\u002Fneutral\u002Fdesign",[198,41,41,199,200,41],"31372622","commenter\u002Fneutral\u002Fdesign","ammanley",[202,41,41,203,204,41],"31373447","commenter\u002Fneutral\u002Fnone","c0balt",[183,41,41,206,11,38],"project\u002Fneutral\u002Fnone",[75,41,41,208,11,38],"project\u002Fneutral\u002Fdesign",[187,41,41,210,11,38],"project\u002Fneutral\u002Fexecution",[164,38,41,212,165,41],"other\u002Fneutral\u002Fnone",[214,38,41,203,11,38],"31375570",[216,38,33,196,217,41],"31384566","anthropodie",[219,18,33,220,221,41],"31373520","maker\u002Fneutral\u002Fidea","throw_m239339",[223,18,41,212,11,38],"31376533",[119,33,33,225,120,41],"project\u002Fneutral\u002Fidea",[227,33,41,212,228,41],"31373795","chabad360",[230,33,41,212,11,38],"31376882",[232,33,41,208,11,38],"31375202",[149,234,33,235,150,41],4,"maker\u002Fneutral\u002Fnone",[237,234,41,238,11,38],"31375616","project\u002Fneutral\u002Fperformance",[240,45,41,212,241,41],"31371896","jdauriemma",[243,45,41,212,11,38],"31375218",[245,246,45,247,248,41],"31372381",6,"project\u002Fpositive\u002Fdocs","dmix",[250,246,41,251,11,38],"31375636","project\u002Fneutral\u002Fdocs",[175,34,45,253,176,41],"project\u002Fpositive\u002Fidea",[255,34,45,253,256,41],"31376010","titaniczero",[258,34,41,203,11,38],"31376458",[260,34,41,212,11,38],"31376488",[262,34,41,212,263,41],"31378264","Scarbutt",[95,191,45,265,96,41],"project\u002Fpositive\u002Fdesign",[267,191,41,199,11,38],"31376867",[269,191,41,270,96,41],"31377016","other\u002Fneutral\u002Fdesign",[141,272,33,208,142,41],9,[274,272,41,208,11,38],"31375668",[276,272,45,265,142,41],"31378570",[278,272,33,210,279,41],"31384493","shubham_sinha",[281,282,45,247,283,41],"31377379",10,"reddec",[285,282,41,208,11,38],"31406349",[287,288,38,289,290,41],"31372115",11,"project\u002Fcritical\u002Fexecution","rnewton",[292,288,41,210,11,38],"31375220",[294,31,45,253,295,41],"31372263","dgb23",[297,31,41,203,11,38],"31375812",[299,180,45,253,217,41],"31373110",[301,180,41,203,11,38],"31375774",[303,304,33,225,305,41],"31375022",14,"Abishek_Muthian",[307,304,41,225,11,38],"31375171",[157,309,41,212,158,41],15,[311,309,41,212,11,38],"31375231",[313,309,33,314,315,41],"31376075","project\u002Fmixed\u002Fidea","mdw",[317,309,41,212,11,38],"31376381",[319,320,45,253,321,41],"31401748",16,"abdouls",[323,324,45,253,325,41],"31371906",17,"jacktheturtle",[327,324,41,203,11,38],"31375897",[329,330,33,225,331,41],"31373321",18,"dinvlad",[333,330,38,334,335,41],"31375006","project\u002Fcritical\u002Fperformance","mayama",[337,330,33,238,338,41],"31375975","grose",[340,330,41,238,11,38],"31375705",[342,343,45,253,344,41],"31371992",19,"dougbarrett",[346,343,41,203,11,38],"31375820",[133,348,33,210,134,41],20,[350,348,33,210,338,41],"31375941",[352,348,41,210,11,38],"31376088",[354,348,33,355,356,41],"31379943","maker\u002Fneutral\u002Fexecution","mholt",[358,348,41,210,11,38],"31376082",[360,32,41,212,361,41],"31375354","sunfmin",[363,32,41,212,11,38],"31375587",[365,366,33,206,367,41],"31372484",22,"lifeplusplus",[369,366,41,370,11,38],"31375910","project\u002Fpositive\u002Fexecution",[99,372,33,373,100,41],23,"project\u002Fmixed\u002Fdesign",[375,372,33,208,376,41],"31373700","drewry",[378,372,33,208,379,41],"31373829","theptip",[381,372,33,208,382,41],"31373994","quickthrower2",[384,372,33,208,385,41],"31375782","0des",[387,372,41,208,11,38],"31375853",[389,372,33,235,385,41],"31378525",[391,372,38,392,382,41],"31376144","project\u002Fcritical\u002Fidea",[394,372,38,395,385,41],"31378577","project\u002Fcritical\u002Fdesign",[397,372,41,203,382,41],"31386455",[399,372,41,225,11,38],"31375875",[401,372,33,208,402,41],"31374803","fsociety999",[404,372,41,208,11,38],"31375838",[406,407,45,408,409,41],"31376478",24,"maker\u002Fpositive\u002Fnone","ValtteriL",[411,407,41,235,11,38],"31376806",[413,414,38,289,415,41],"31372503",25,"emehrkay",[417,414,41,210,11,38],"31374734",[419,420,38,289,421,41],"31373247",26,"mav88",[423,420,41,210,11,38],"31374733",[425,426,33,208,427,41],"31375018",27,"novoreorx",[429,426,41,208,11,38],"31375826",[431,432,33,314,433,41],"31373753",28,"winnipeg",[435,432,41,212,11,38],"31375907",[437,438,41,212,439,41],"31373352",29,"tompston",[441,438,41,442,11,38],"31375934","commenter\u002Fpositive\u002Fnone",[444,438,41,442,439,41],"31376606",[107,446,38,392,108,41],30,[448,446,41,203,449,41],"31375400","minism",[451,446,41,203,108,41],"31378948",[453,446,41,203,449,41],"31380163",[455,446,41,212,108,41],"31388585",[59,446,41,203,11,38],[458,446,41,203,108,41],"31379021",[460,446,41,203,11,38],"31379990",[],[463,467,472,476,481,486],{"id":464,"name":465,"points":466,"category":20},"31354130","Mitmproxy2swagger",691,{"id":468,"name":469,"points":470,"category":471},"31409077","Bike",513,"productivity",{"id":473,"name":474,"points":475,"category":20},"31364081","Aspect",479,{"id":477,"name":478,"points":479,"category":480},"31412608","Urza's AI",188,"ai",{"id":482,"name":483,"points":484,"category":485},"31364983","Fruits",185,"web_saas",{"id":487,"name":488,"points":489,"category":490},"31421232","Natural Language Processing Demystified",166,"learning_science",false,"v2",{"id":494,"name":5,"line":6,"ai":491,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":495,"top":18,"kw":496,"maker":11,"domain":10,"tier":19,"attempts":41,"strip":497,"url":9,"mix":498,"praise":91,"objection":104,"sub":21},31371340,0.14,[24,25,26,27],"3003303055505515503531533333310511330100",[31,32,33,34],1794036620306]