[{"data":1,"prerenderedAt":479},["ShallowReactive",2],{"project-14691407":3},{"id":4,"name":5,"line":5,"line_source":6,"title":7,"url":8,"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":27,"sentiment":28,"stance_mix":29,"scored_comments":34,"aspects":35,"strip":44,"post_text":46,"what":47,"said":81,"maker_in_thread":140,"shape":151,"grid":155,"attempts":441,"same_week":442,"maker_shows":32,"maker_hidden":471,"reader_version":472,"card":473},"14691407","Under the hood ReactJS","title","Show HN: Under the hood ReactJS","https:\u002F\u002Fbogdan-lyashenko.github.io\u002FUnder-the-hood-ReactJS\u002F","bogdan-lyashenko.github.io","bliashenko",1499116082,2017,266,117,89,2242,4,"legend","learning_science","framework internals documentation","other",[23,24,25,26],"react internals","react fiber","virtual dom","react architecture","mixed",0.178,{"positive":30,"neutral":31,"mixed":32,"critical":33},11,19,1,10,41,{"idea":36,"performance":39,"design":40,"execution":41,"docs":43},{"positive":37,"critical":38},3,2,{"positive":38,"critical":32},{"positive":32,"critical":17},{"positive":32,"critical":42},0,{"positive":32,"critical":38},[32,42,42,42,37,17,42,38,38,38,38,45,42,42,42,42,42,37,42,42,42,45,32,42,37,32,42,37,45,45,42,42,42,45,17,45,42,42,32,37],5,null,{"problem":48,"audience":64,"pricing":46,"motivation":46,"time_to_build":46,"stack":72,"openness":80,"stage":80,"team_size":80},{"value":49,"source":50,"evidence":51},"Explains how React's internals work, with diagrams","inferred",[52,56,60],{"id":53,"by":54,"text":55},"14693219","beefsack","I've read the first few pages, and am really appreciating the level of detail this goes into. Fantastic work and a great resource for people wanting to dive into React's internals.",{"id":57,"by":58,"text":59},"14694519","AriaMinaei","I wish the code we write write everyday carried enough semantic meaning in it for such visualizations to emerge naturally from it. Great work by the author nonetheless.",{"id":61,"by":62,"text":63},"14694774","gfxl","Nice work, but some parts make as much sense as Lorem ipsum text. One of my favorites so far: > An instance of what should be created (03)? Component… right, but which one? Well,…",{"value":65,"source":50,"evidence":66},"developers wanting to understand React internals",[67,68],{"id":53,"by":54,"text":55},{"id":69,"by":70,"text":71},"14694122","pps","This is super cool, thanks, I'm eagerly waiting for comparison with fiber.",[73],{"value":74,"source":50,"evidence":75},"React",[76],{"id":77,"by":78,"text":79},"14694198","daliwali","There was a previous discussion on how do you know when someone is addicted to over-engineering, and looking at this giant UML diagram, I think this might be the case. The amount…","unknown",{"praise":82,"objections":96,"requests":109,"questions":117,"alternatives":125},[83],{"value":84,"source":85,"evidence":86},"Detailed, useful resource for learning React internals","commenter",[87,88,92],{"id":53,"by":54,"text":55},{"id":89,"by":90,"text":91},"14693477","indexerror","Fantastic. Thank you so much for this.",{"id":93,"by":94,"text":95},"14693520","Jpoechill","Detail. A+",[97,105],{"value":98,"source":85,"evidence":99},"Too much complexity; React is over-engineered",[100,101],{"id":77,"by":78,"text":79},{"id":102,"by":103,"text":104},"14695959","hardwaresofton","At this point I'm sure I and others sound like a broken record, but if you're new and just jumping into frontend component-based frameworks, please don't start with React. There…",{"value":106,"source":85,"evidence":107},"Some explanations are unclear or wrong",[108],{"id":61,"by":62,"text":63},[110],{"value":111,"source":85,"evidence":112},"Fix broken link",[113],{"id":114,"by":115,"text":116},"14695598","scottydelta","this link seems broken: https:\u002F\u002Fbogdan-lyashenko.github.io\u002FUnder-the-hood-ReactJS\u002Fpart-2\u002Fbook\u002FIntro.md",[118],{"value":119,"source":85,"evidence":120},"What is the purpose of this documentation?",[121],{"id":122,"by":123,"text":124},"14693747","sAbakumoff","Wow, you really spent a lot of time of this, but why? What's the purpose? How do React shenanigans can help me to be a better developer?",[126,133],{"value":127,"source":85,"evidence":128},"Simulacra.js",[129,130],{"id":77,"by":78,"text":79},{"id":131,"by":78,"text":132},"14695980",">I'll bet that React will be a whole bunch faster than whatever DOM reconciliation library you build up from scraps of vanilla JS You don't have to bet, you can verify the…",{"value":134,"source":85,"evidence":135},"hyperapp",[136],{"id":137,"by":138,"text":139},"14696164","jbucaran","This is helpful to me because I want to learn how to explain (complex) systems. Incidentally, this complexity is what led me to build my own little vdom utility…",{"comments":17,"answered":38,"key":141},[142,145,148],{"id":143,"text":144},"14696492","Well, actually it looks like (IMHO) there are too many abstractions levels, in fact - I omit many of them on the scheme, and it's still complex. But if we think why that…",{"id":146,"text":147},"14697751","fixed, but it's still nothing there. I work on a big scheme for Fiber, it's far from 'ready'...",{"id":149,"text":150},"14697703","thanks, fixed that.",{"commenters":152,"max_depth":33,"maker_replies":17,"first_comment_mins":153,"lifespan_hours":154},47,354,159,[156,158,162,164,167,169,171,174,176,179,181,183,185,187,191,193,196,198,201,203,205,209,211,214,218,220,222,224,226,228,230,232,234,238,240,243,246,248,250,253,255,257,259,261,263,265,267,270,272,275,277,279,283,285,287,289,291,293,295,297,300,302,305,308,312,316,319,323,326,328,331,333,334,338,342,345,348,350,352,355,357,359,361,364,366,368,370,371,374,376,379,381,383,385,388,390,393,396,399,400,402,404,406,407,409,412,415,418,420,423,425,428,430,432,434,437,439],[77,42,32,157,78,42],"project\u002Fcritical\u002Fidea",[159,42,42,160,161,42],"14694224","commenter\u002Fneutral\u002Fnone","jacobr",[163,42,42,160,78,42],"14694304",[165,42,42,160,166,42],"14694445","litzer",[168,42,42,160,78,42],"14694543",[170,42,42,160,166,42],"14694682",[172,42,42,160,173,42],"14694299","rimliu",[175,42,42,160,78,42],"14694339",[177,42,42,160,178,42],"14694484","matthewmacleod",[180,42,42,160,78,42],"14694618",[182,42,42,160,173,42],"14695112",[184,42,42,160,178,42],"14695742",[131,42,45,186,78,42],"project\u002Fpositive\u002Fperformance",[188,42,32,189,190,42],"14696306","project\u002Fcritical\u002Fperformance","mst",[192,42,45,186,78,42],"14696534",[194,42,37,195,178,42],"14696505","project\u002Fneutral\u002Fnone",[197,42,37,195,78,42],"14696548",[199,42,42,160,200,42],"14696912","johnfn",[202,42,42,160,78,42],"14697194",[204,42,42,160,173,42],"14694515",[206,42,37,207,208,42],"14694324","project\u002Fneutral\u002Fdesign","kaoD",[210,42,37,207,78,42],"14694358",[212,42,32,213,208,42],"14694939","project\u002Fcritical\u002Fdesign",[215,42,37,216,217,42],"14694595","project\u002Fmixed\u002Fdesign","TekMol",[219,42,37,207,78,42],"14694636",[221,42,32,213,217,42],"14696010",[223,42,37,207,78,42],"14696085",[225,42,32,213,217,42],"14696408",[227,42,37,207,78,42],"14696671",[229,42,32,213,217,42],"14697600",[231,42,37,207,78,42],"14701537",[233,42,37,207,217,42],"14704121",[235,42,45,236,237,42],"14694674","maker\u002Fpositive\u002Fnone","harel",[239,42,42,160,78,42],"14694707",[241,42,42,160,242,42],"14694790","madeofpalk",[244,42,42,160,245,42],"14694900","localvoid",[247,42,42,160,78,42],"14694966",[249,42,42,160,237,42],"14694999",[251,42,42,160,252,42],"14694903","notsrg",[254,42,42,160,78,42],"14695048",[256,42,42,160,237,42],"14694984",[258,42,42,160,78,42],"14695168",[260,42,42,160,237,42],"14695413",[262,42,42,160,190,42],"14696241",[264,42,42,160,237,42],"14696355",[266,42,42,160,78,42],"14696592",[268,42,42,160,269,42],"14695107","jchw",[271,42,42,160,78,42],"14695269",[273,42,42,160,274,42],"14695374","Vinnl",[276,42,42,160,269,42],"14695475",[278,42,42,160,274,42],"14702502",[280,42,37,281,282,42],"14695419","project\u002Fneutral\u002Fperformance","jasode",[284,42,42,160,78,42],"14695573",[286,42,42,160,269,42],"14695607",[288,42,42,160,78,42],"14695693",[290,42,42,160,190,42],"14696223",[292,42,42,160,78,42],"14696437",[294,42,42,160,269,42],"14697414",[296,42,42,160,178,42],"14695750",[298,42,42,160,299,42],"14697228","RUTHLESS_RUFUS",[301,42,42,160,78,42],"14697483",[303,42,42,304,269,42],"14695536","commenter\u002Fpositive\u002Fperformance",[306,42,42,160,307,42],"14697199","guscost",[309,42,45,310,311,42],"14695311","project\u002Fpositive\u002Fexecution","onion2k",[313,42,32,314,315,42],"14695389","maker\u002Fcritical\u002Fnone","Ralfp",[317,42,37,318,78,42],"14695549","maker\u002Fneutral\u002Fnone",[320,42,42,321,322,42],"14695657","other\u002Fcritical\u002Fperformance","aaron-lebo",[324,42,42,325,315,42],"14695745","other\u002Fneutral\u002Fnone",[327,42,42,325,322,42],"14695763",[329,42,42,160,330,42],"14709757","brlewis",[332,42,37,318,78,42],"14702189",[143,42,42,207,10,32],[335,42,42,336,337,42],"14696554","other\u002Fpositive\u002Fdesign","lopatin",[339,42,32,340,341,42],"14696626","maker\u002Fcritical\u002Fdocs","always_good",[343,42,37,344,78,42],"14696705","maker\u002Fneutral\u002Fdocs",[346,42,42,347,299,42],"14697442","commenter\u002Fcritical\u002Fidea",[349,42,42,160,78,42],"14697531",[351,42,42,325,299,42],"14697596",[353,42,42,325,354,42],"14699361","paulddraper",[356,42,37,344,78,42],"14701506",[358,42,37,344,341,42],"14707708",[360,42,37,344,78,42],"14724238",[362,42,42,325,363,42],"14722159","mmcnl",[53,32,45,365,54,42],"project\u002Fpositive\u002Fdocs",[57,38,45,367,58,42],"project\u002Fpositive\u002Fdesign",[137,37,45,369,138,42],"project\u002Fpositive\u002Fidea",[102,17,42,325,103,42],[372,17,42,325,373,42],"14696006","rohannair",[375,17,42,325,103,42],"14714808",[377,17,42,325,378,42],"14696614","ivanr",[380,17,42,325,103,42],"14714836",[382,17,42,325,378,42],"14724665",[384,17,42,325,103,42],"14735102",[386,17,42,325,387,42],"14697711","simooooo",[389,17,42,325,103,42],"14714820",[391,45,42,325,392,42],"14698123","rhapsodic",[89,394,45,395,90,42],6,"project\u002Fpositive\u002Fnone",[114,397,37,398,115,42],7,"project\u002Fneutral\u002Fdocs",[146,397,42,344,10,32],[69,401,45,369,70,42],8,[93,403,45,395,94,42],9,[61,33,32,405,62,42],"project\u002Fcritical\u002Fdocs",[149,33,42,344,10,32],[122,30,37,408,123,42],"project\u002Fneutral\u002Fidea",[410,30,45,369,411,42],"14693796","pknopf",[413,30,42,325,414,42],"14693845","adzm",[416,30,42,325,417,42],"14693916","e1g",[419,30,42,160,123,42],"14694127",[421,30,42,160,422,42],"14694184","lazyasciiart",[424,30,42,160,123,42],"14694357",[426,30,42,160,427,42],"14696053","icebraining",[429,30,42,325,190,42],"14696313",[431,30,42,325,417,42],"14699188",[433,30,32,157,123,42],"14694003",[435,30,37,207,436,42],"14697530","TimMurnaghan",[438,30,42,160,123,42],"14697718",[440,30,42,160,10,32],"14697740",[],[443,448,453,457,462,467],{"id":444,"name":445,"points":446,"category":447},"14703098","A virtual machine made with Google Sheets formulas (no script)",620,"languages",{"id":449,"name":450,"points":451,"category":452},"14662860","VisiData",221,"dev_tools",{"id":454,"name":455,"points":456,"category":452},"14688031","Vecta.io",154,{"id":458,"name":459,"points":460,"category":461},"14690517","Artpip",142,"creative",{"id":463,"name":464,"points":465,"category":466},"14694210","login-with",127,"infrastructure",{"id":468,"name":469,"points":470,"category":452},"14667344","SOTA-Py",121,false,"v2",{"id":474,"name":5,"line":5,"ai":471,"cat":19,"year":12,"points":13,"comments":14,"rec":27,"s":475,"top":17,"kw":476,"maker":10,"domain":9,"tier":18,"attempts":42,"strip":477,"url":8,"mix":478,"praise":84,"objection":98,"sub":20},14691407,0.18,[23,24,25,26],"1000340222250000030005103103550005450013",[30,31,32,33],1794036556931]