[{"data":1,"prerenderedAt":194},["ShallowReactive",2],{"project-14482215":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":38,"post_text":30,"what":40,"said":75,"maker_in_thread":126,"shape":134,"grid":137,"attempts":157,"same_week":158,"maker_shows":127,"maker_hidden":187,"reader_version":188,"card":189},"14482215","Redux-Tiles","library to deal with verbosity of Redux","title","Show HN: Redux-Tiles – library to deal with verbosity of Redux","https:\u002F\u002Fgithub.com\u002FBloomca\u002Fredux-tiles","github.com","bloomca",1496593097,2017,35,10,975,2242,44,"shown","languages","redux library","library",[24,25,26,27,28],"redux","boilerplate","async actions","server-side rendering","redux middleware","quiet",null,{"positive":32,"neutral":33,"mixed":34,"critical":34},1,3,0,4,{"idea":37},{"positive":32,"critical":34},[33,34,34,33,33,34,34,34,39,34],5,{"problem":41,"audience":48,"pricing":30,"motivation":57,"time_to_build":30,"stack":61,"openness":73,"stage":74,"team_size":74},{"value":42,"source":43,"evidence":44},"Verbosity and boilerplate of writing Redux actions, reducers and async tracking","maker",[45],{"id":46,"by":11,"text":47},"14483825","Author here. I worked with different domain models using Redux, and also different codebase sizes, and it finally led me to this library. Originally I was involved into building…",{"value":49,"source":50,"evidence":51},"Redux users building apps with RPC-style APIs","inferred",[52,53],{"id":46,"by":11,"text":47},{"id":54,"by":55,"text":56},"14483372","graphememes","This is very nice, one of the major issues I have with the frameworks that are coming out is the large amount of boilerplate. Nice work.",{"value":58,"source":43,"evidence":59},"Repeated pain tracking async code, caching and nesting results in Redux",[60],{"id":46,"by":11,"text":47},[62,69],{"value":63,"source":50,"evidence":64},"JavaScript",[65],{"id":66,"by":67,"text":68},"14485072","acemarke","I've looked at literally hundreds of Redux-related libraries and addons (and listed anything that looks decently useful in my Redux addons catalog [0] ). As part of that, I've…",{"value":70,"source":43,"evidence":71},"Redux",[72],{"id":46,"by":11,"text":47},"open_source","unknown",{"praise":76,"objections":87,"requests":99,"questions":107,"alternatives":114},[77,83],{"value":78,"source":79,"evidence":80},"Addresses the common Redux boilerplate problem","commenter",[81,82],{"id":54,"by":55,"text":56},{"id":66,"by":67,"text":68},{"value":84,"source":79,"evidence":85},"Keeps the spirit of Redux without heavy OOP wrappers",[86],{"id":66,"by":67,"text":68},[88,95],{"value":89,"source":79,"evidence":90},"Another abstraction layer to learn; better IDE tooling might suffice",[91],{"id":92,"by":93,"text":94},"14485245","jdpigeon","Instead of creating another level of abstraction that a dev has to learn, how about just creating smart IDE tools that help with Redux? E.g. noticing that you're creating another…",{"value":96,"source":79,"evidence":97},"Commenter would not use it personally",[98],{"id":66,"by":67,"text":68},[100],{"value":101,"source":79,"evidence":102},"Explain how it compares to redux-saga",[103],{"id":104,"by":105,"text":106},"14484367","tarr11","Happy to see people trying to solve this problem. Can you talk about how this compares to redux-saga?",[108],{"value":109,"source":43,"evidence":110},"Which abstractions are too high, e.g. waitTiles and createEntities",[111],{"id":112,"by":11,"text":113},"14485492","Thanks a lot for your feedback! I've tried to keep the Redux spirit -- I completely agree about too much abstraction, so I tried to build something much more simple, more basic…",[115,122],{"value":116,"source":79,"evidence":117},"redux-saga",[118,119],{"id":104,"by":105,"text":106},{"id":120,"by":67,"text":121},"14485077","Pretty sure they're solving very different problems. redux-saga is about managing side effects using generators, particularly in response to dispatched actions. redux-tiles is…",{"value":123,"source":79,"evidence":124},"Reducer-generating helper libraries",[125],{"id":66,"by":67,"text":68},{"comments":39,"answered":127,"key":128},2,[129,130,131],{"id":112,"text":113},{"id":46,"text":47},{"id":132,"text":133},"14485453","Thanks! As @acemarke mentioned, they are really different (and there is nothing to stop you from using them together, if you want -- tiles expose constants). Even if you use…",{"commenters":39,"max_depth":33,"maker_replies":39,"first_comment_mins":135,"lifespan_hours":136},260,14,[138,140,142,143,145,146,147,149,152,154],[66,34,33,139,67,34],"project\u002Fneutral\u002Fidea",[112,34,34,141,11,32],"commenter\u002Fneutral\u002Fdesign",[46,32,34,139,11,32],[104,32,33,144,105,34],"project\u002Fneutral\u002Fnone",[120,32,33,139,67,34],[132,32,34,139,11,32],[92,127,34,148,93,34],"other\u002Fcritical\u002Fidea",[150,127,34,151,11,32],"14485469","commenter\u002Fcritical\u002Fidea",[54,33,39,153,55,34],"project\u002Fpositive\u002Fidea",[155,33,34,156,11,32],"14483837","maker\u002Fneutral\u002Fnone",[],[159,164,169,174,179,183],{"id":160,"name":161,"points":162,"category":163},"14497295","Monica",1097,"productivity",{"id":165,"name":166,"points":167,"category":168},"14484549","findlectures",200,"learning_science",{"id":170,"name":171,"points":172,"category":173},"14471153","Strukt",191,"dev_tools",{"id":175,"name":176,"points":177,"category":178},"14495623","Nimiq",186,"finance_crypto",{"id":180,"name":181,"points":182,"category":168},"14461799","“Statements and State”",141,{"id":184,"name":185,"points":186,"category":20},"14477222","Pydantic",120,false,"v2",{"id":190,"name":5,"line":6,"ai":187,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":30,"top":18,"kw":191,"maker":11,"domain":10,"tier":19,"attempts":34,"strip":192,"url":9,"mix":193,"praise":78,"objection":89,"sub":21},14482215,[24,25,26,27,28],"3003300050",[32,33,34,34],1794036556032]