[{"data":1,"prerenderedAt":351},["ShallowReactive",2],{"project-14629414":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":36,"aspects":37,"strip":44,"post_text":46,"what":47,"said":77,"maker_in_thread":200,"shape":208,"grid":212,"attempts":304,"same_week":315,"maker_shows":32,"maker_hidden":343,"reader_version":344,"card":345},"14629414","Hyperapp","1kb JavaScript library for building front end applications","title","Show HN: 1kb JavaScript library for building front end applications","https:\u002F\u002Fgithub.com\u002Fhyperapp\u002Fhyperapp","github.com","jbucaran",1498385969,2017,187,40,186,2242,9,"notable","languages","frontend javascript library","library",[24,25,26,27,28],"javascript","front end framework","virtual dom","elm architecture","frontend library","mixed",-0.017,{"positive":32,"neutral":33,"mixed":34,"critical":35},6,10,3,4,23,{"docs":38,"design":41,"performance":42,"idea":43},{"positive":39,"critical":40},1,0,{"positive":35,"critical":40},{"positive":40,"critical":39},{"positive":39,"critical":34},[45,34,40,45,40,45,40,34,40,40,45,34,34,34,34,34,40,34,40,40,34,40,34,40,45,40,45,40,40,40,39,39,34,34,40,34,39,39,40,40],5,null,{"problem":48,"audience":54,"pricing":46,"motivation":46,"time_to_build":46,"stack":60,"openness":76,"stage":76,"team_size":76},{"value":49,"source":50,"evidence":51},"Building front end web applications with a very small JavaScript library","maker",[52],{"id":53},"post",{"value":55,"source":50,"evidence":56},"Anyone building web front ends, from small to big apps",[57],{"id":58,"by":11,"text":59},"14631117","> What are the target developers for your library? Anyone. Big app devs, small app devs. For the record, you can user hyperapp with any of the following technologies: - JSX - A…",[61,68,72],{"value":62,"source":50,"evidence":63},"JavaScript",[64,65],{"id":58,"by":11,"text":59},{"id":66,"by":11,"text":67},"14631079","Yes. It supports JSX and also ES6 template literals via hyperx or t7: - https:\u002F\u002Fgithub.com\u002Fsubstack\u002Fhyperx - https:\u002F\u002Fgithub.com\u002Ftrueadm\u002Ft7",{"value":69,"source":50,"evidence":70},"JSX",[71],{"id":58,"by":11,"text":59},{"value":73,"source":50,"evidence":74},"hyperx template literals",[75],{"id":66,"by":11,"text":67},"unknown",{"praise":78,"objections":114,"requests":141,"questions":157,"alternatives":176},[79,91,103],{"value":80,"source":81,"evidence":82},"Simple and lightweight, with actions that are easy to use without middleware","commenter",[83,87],{"id":84,"by":85,"text":86},"14631960","naugtur","I found it a while ago and I like the simplicity. The thing that got me sold on the idea is how simple actions are. You can have them work like thunk by calling an action as a…",{"id":88,"by":89,"text":90},"14631294","ahallock","I just used this on a Rails project where I didn't have time to integrate a complete React build pipeline. I needed it for a few small components with complex state requirements.…",{"value":92,"source":81,"evidence":93},"Good examples and documentation",[94,98,102],{"id":95,"by":96,"text":97},"14631288","finchisko","Any example on jsx? Is it react jsx or something else? Edit: already found example in project github. Looks promising. Currently I'm looking for solution to replace jquery for…",{"id":99,"by":100,"text":101},"14630523","franciscop","That hyperx onclick example [1] is really clever if I understand it correctly from a quick overview [2]. It stores a reference to the event using the template literals features…",{"id":88,"by":89,"text":90},{"value":104,"source":81,"evidence":105},"Elm-style architecture is a nice port to JavaScript",[106,110],{"id":107,"by":108,"text":109},"14633970","pakx","Thx. Hadn't looked at timelines, and assumed it was the other way. Great job w\u002F hyperapp. Congrats! FWIW I like Elm, and hyperapp seems a delightful port of the TEA idea ... plus…",{"id":111,"by":112,"text":113},"14631323","jakelazaroff","I like the combination of actions and reducers — feels like how the reducer pattern appears in Cycle.js.",[115,130,137],{"value":116,"source":81,"evidence":117},"Yet another JavaScript library adds complexity",[118,122,126],{"id":119,"by":120,"text":121},"14663471","responde","Another Javascript library",{"id":123,"by":124,"text":125},"14631765","mal34","Another React copy&paste obsession to add more complexity !!",{"id":127,"by":128,"text":129},"14632031","skrowl","Thank god someone invented this. We needed another front end javascript library!",{"value":131,"source":81,"evidence":132},"Slow to boot, possibly due to HN traffic",[133],{"id":134,"by":135,"text":136},"14630906","christophilus","It appears to me to boot somewhat slowly, though maybe it's because of the HN hug of death? Anyone else noticing that?",{"value":138,"source":81,"evidence":139},"Nested actions feel imperative and hard to reason about",[140],{"id":88,"by":89,"text":90},[142,149],{"value":143,"source":81,"evidence":144},"Benchmarks against other frameworks",[145],{"id":146,"by":147,"text":148},"14631052","roucoulawan","So maybe do we have somewhere some cool benchmarks to compare with the others frameworks ? Like here http:\u002F\u002Fwww.stefankrause.net\u002Fjs-frameworks-benchmark5\u002Fwebdriver-ts\u002Ftable.html",{"value":150,"source":81,"evidence":151},"Clearer example code for the library's use",[152,156],{"id":153,"by":154,"text":155},"14644518","MatejMazur","It seems interesting. Can you provide some example of code how it could look?",{"id":99,"by":100,"text":101},[158,165,172],{"value":159,"source":81,"evidence":160},"Which browsers are supported",[161],{"id":162,"by":163,"text":164},"14631857","ngrilly","Which browsers are compatible?",{"value":166,"source":81,"evidence":167},"How it compares to Mithril",[168],{"id":169,"by":170,"text":171},"14630480","Numberwang","Can anyone suggest a good approach to evaluate these libraries? How does this compare to Mithril etc?",{"value":173,"source":81,"evidence":174},"Target developers for the library",[175],{"id":99,"by":100,"text":101},[177,184,189,196],{"value":178,"source":81,"evidence":179},"Mithril",[180,181],{"id":169,"by":170,"text":171},{"id":182,"by":11,"text":183},"14631028","> How does this compare to Mithril etc? I am the author of HyperApp and also a big fan of Mithril. I'll try to compare both as fairly as I can. This is not a full or even…",{"value":185,"source":81,"evidence":186},"React",[187,188],{"id":99,"by":100,"text":101},{"id":123,"by":124,"text":125},{"value":190,"source":81,"evidence":191},"Vue",[192],{"id":193,"by":194,"text":195},"14632182","pitaj","Vue already supports JSX. Vue templates compile into hyperscript VDOM trees just like JSX.",{"value":197,"source":81,"evidence":198},"Elm",[199],{"id":107,"by":108,"text":109},{"comments":33,"answered":201,"key":202},7,[203,204,207],{"id":58,"text":59},{"id":205,"text":206},"14631634","Thanks! You can find more examples on CodePen. - https:\u002F\u002Fcodepen.io\u002Fhyperapp",{"id":182,"text":183},{"commenters":209,"max_depth":201,"maker_replies":33,"first_comment_mins":210,"lifespan_hours":211},25,295,100,[213,217,219,220,222,224,226,230,232,234,236,237,241,242,243,246,249,250,252,254,256,259,261,264,266,267,269,272,274,277,279,281,283,285,287,289,294,296,298,301],[214,40,45,215,216,40],"14631520","project\u002Fpositive\u002Fdocs","git-pull",[99,39,34,218,100,40],"maker\u002Fneutral\u002Fdesign",[58,39,40,218,11,39],[95,39,45,221,96,40],"project\u002Fpositive\u002Fdesign",[205,39,40,223,11,39],"maker\u002Fneutral\u002Fdocs",[84,225,45,221,85,40],2,[227,34,40,228,229,40],"14634284","other\u002Fneutral\u002Fnone","jamesrom",[169,35,34,231,170,40],"project\u002Fneutral\u002Fnone",[233,35,40,228,100,40],"14630545",[182,35,40,235,11,39],"project\u002Fneutral\u002Fdesign",[111,35,45,221,112,40],[238,35,34,239,240,40],"14631973","project\u002Fmixed\u002Fdesign","pygy_",[88,45,34,239,89,40],[153,45,34,223,154,40],[244,32,34,235,245,40],"14630351","cwt137",[247,32,34,235,248,40],"14630524","efdee",[66,32,40,218,11,39],[146,32,34,251,147,40],"maker\u002Fneutral\u002Fperformance",[253,32,40,251,11,39],"14631086",[193,32,40,255,194,40],"commenter\u002Fneutral\u002Fdesign",[257,201,34,223,258,40],"14632043","jancsika",[260,201,40,223,11,39],"14632081",[262,263,34,235,108,40],"14633619",8,[265,263,40,218,11,39],"14633760",[107,263,45,221,108,40],[268,263,40,218,11,39],"14634555",[270,263,45,271,135,40],"14635939","project\u002Fpositive\u002Fidea",[273,263,40,255,108,40],"14640245",[275,263,40,276,11,39],"14641827","commenter\u002Fneutral\u002Fnone",[278,263,40,228,108,40],"14646898",[119,18,39,280,120,40],"project\u002Fcritical\u002Fidea",[134,33,39,282,135,40],"project\u002Fcritical\u002Fperformance",[162,284,34,231,163,40],11,[286,284,34,231,85,40],"14631989",[288,284,40,231,11,39],"14632019",[290,291,34,292,293,40],"14633130",12,"project\u002Fmixed\u002Fidea","fiatjaf",[123,295,39,280,124,40],13,[127,297,39,280,128,40],14,[299,297,40,228,300,40],"14632526","kelvin0",[302,297,40,228,303,40],"14636121","romanovcode",[305,308,309,312],{"id":306,"t":307,"points":35,"comments":40},"14485760",1496646075,{"id":4,"t":12,"points":14,"comments":15},{"id":310,"t":311,"points":18,"comments":35},"16063183",1515002015,{"id":313,"t":314,"points":225,"comments":40},"16134314",1515776531,[316,321,326,331,335,339],{"id":317,"name":318,"points":319,"category":320},"14644539","GreenPiThumb",537,"hardware",{"id":322,"name":323,"points":324,"category":325},"14625795","Insect",354,"dev_tools",{"id":327,"name":328,"points":329,"category":330},"14652217","Hackerhunt",335,"productivity",{"id":332,"name":333,"points":334,"category":325},"14612440","Sourcetrail",328,{"id":336,"name":337,"points":338,"category":325},"14614304","pack3d",260,{"id":340,"name":341,"points":342,"category":20},"14636699","HyperLogLog",194,false,"v2",{"id":346,"name":5,"line":6,"ai":343,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":347,"top":18,"kw":348,"maker":11,"domain":10,"tier":19,"attempts":35,"strip":349,"url":9,"mix":350,"praise":80,"objection":116,"sub":21},14629414,-0.02,[24,25,26,27,28],"5305050300533333030030305050001133031100",[32,33,34,35],1794036556651]