[{"data":1,"prerenderedAt":151},["ShallowReactive",2],{"project-39562333":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":29,"sentiment":30,"stance_mix":31,"scored_comments":35,"aspects":36,"strip":39,"post_text":30,"what":40,"said":64,"maker_in_thread":97,"shape":101,"grid":103,"attempts":114,"same_week":115,"maker_shows":15,"maker_hidden":144,"reader_version":145,"card":146},"39562333","Starfx","A modern approach to side-effect and state management in UI","title","Show HN: Starfx – A modern approach to side-effect and state management in UI","https:\u002F\u002Fstarfx.bower.sh","starfx.bower.sh","qudat",1709304973,2024,12,5,2388,3515,68,"shown","languages","state management library","library",[24,25,26,27,28],"side effects","state management","generators","javascript","redux alternative","quiet",null,{"positive":32,"neutral":33,"mixed":34,"critical":34},2,1,0,3,{"performance":37,"idea":38},{"positive":33,"critical":34},{"positive":33,"critical":34},[15,34,35,34,15],{"problem":41,"audience":30,"pricing":30,"motivation":30,"time_to_build":30,"stack":47,"openness":62,"stage":63,"team_size":62},{"value":42,"source":43,"evidence":44},"Managing side effects and state in UI code","inferred",[45],{"id":46},"post",[48,55],{"value":49,"source":43,"evidence":50},"JavaScript",[51],{"id":52,"by":53,"text":54},"39563993","cowboyd","> yes but what do I say to my colleagues when they realize they need to learn generators (it's a non-trivial hurdle for many people) Just tell them that they already know them.…",{"value":56,"source":57,"evidence":58},"TypeScript","maker",[59],{"id":60,"by":11,"text":61},"39562360","Hey all! I wanted to show-off something I've been working on for the better part of a year. At Aptible, we have been using starfx in production for a few months now with great…","unknown","launched",{"praise":65,"objections":79,"requests":87,"questions":88,"alternatives":89},[66,74],{"value":67,"source":68,"evidence":69},"Clean and powerful implementation","commenter",[70],{"id":71,"by":72,"text":73},"39563489","vladmargie","I'm glad I have the opportunity to reinforce the statements in this post. I can say without a doubt that starfx is an implementation that is as clean as it is powerful. At…",{"value":75,"source":68,"evidence":76},"Used in production at Softwiz and Aptible",[77,78],{"id":71,"by":72,"text":73},{"id":60,"by":11,"text":61},[80],{"value":81,"source":68,"evidence":82},"Learning generators is a non-trivial hurdle for colleagues",[83],{"id":84,"by":85,"text":86},"39563059","dimitropoulos","yes but what do I say to my colleagues when they realize they need to learn generators (it's a non-trivial hurdle for many people)",[],[],[90],{"value":91,"source":68,"evidence":92},"async\u002Fawait",[93,96],{"id":94,"by":11,"text":95},"39563472","Hi! Charles has a great article about why it's better to use generators over async\u002Fawait: https:\u002F\u002Ffrontside.com\u002Fblog\u002F2023-12-11-await-event-horizon\u002F There are real benefits to…",{"id":52,"by":53,"text":54},{"comments":32,"answered":34,"key":98},[99,100],{"id":60,"text":61},{"id":94,"text":95},{"commenters":102,"max_depth":32,"maker_replies":32,"first_comment_mins":35,"lifespan_hours":32},4,[104,106,108,110,112],[71,34,15,105,72,34],"project\u002Fpositive\u002Fperformance",[60,33,34,107,11,33],"project\u002Fpositive\u002Fnone",[84,32,35,109,85,34],"project\u002Fneutral\u002Fidea",[94,32,34,111,11,33],"maker\u002Fneutral\u002Fidea",[52,32,15,113,53,34],"project\u002Fpositive\u002Fidea",[],[116,121,125,130,135,139],{"id":117,"name":118,"points":119,"category":120},"39597030","Puter",1274,"dev_tools",{"id":122,"name":123,"points":124,"category":120},"39620540","dockerc",374,{"id":126,"name":127,"points":128,"category":129},"39557188","Struct",298,"productivity",{"id":131,"name":132,"points":133,"category":134},"39591529","Astro App",291,"learning_science",{"id":136,"name":137,"points":138,"category":129},"39551064","Row Zero",274,{"id":140,"name":141,"points":142,"category":143},"39549194","Workout Tracker",263,"infrastructure",false,"v2",{"id":147,"name":5,"line":6,"ai":144,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":30,"top":18,"kw":148,"maker":11,"domain":10,"tier":19,"attempts":34,"strip":149,"url":9,"mix":150,"praise":67,"objection":81,"sub":21},39562333,[24,25,26,27,28],"50305",[32,33,34,34],1794036650584]