[{"data":1,"prerenderedAt":255},["ShallowReactive",2],{"project-5373068":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":43,"post_text":45,"what":46,"said":85,"maker_in_thread":141,"shape":150,"grid":154,"attempts":218,"same_week":219,"maker_shows":200,"maker_hidden":247,"reader_version":248,"card":249},"5373068","Backbone.localStorage","I rewrote the Backbone.js Todo example","title","Show HN: I rewrote the Backbone.js Todo example","http:\u002F\u002Fahamlett.com\u002FBackbone.localStorage","ahamlett.com","welder",1363234805,2013,55,25,461,1739,27,"notable","languages","javascript framework example","library",[24,25,26,27,28],"backbone.js","todo example","amd modules","localstorage","javascript","mixed",-0.095,{"positive":32,"neutral":33,"mixed":34,"critical":35},2,3,0,4,9,{"idea":38,"execution":39,"docs":41,"design":42},{"positive":34,"critical":32},{"positive":34,"critical":40},1,{"positive":40,"critical":34},{"positive":40,"critical":40},[34,34,40,40,34,44,33,34,34,33,34,34,44,34,34,40,40,34,34,34,34,34,34,34,33],5,null,{"problem":47,"audience":60,"pricing":45,"motivation":45,"time_to_build":45,"stack":68,"openness":84,"stage":84,"team_size":84},{"value":48,"source":49,"evidence":50},"Shows how to structure a Backbone.js todo app with AMD and localStorage","inferred",[51,53,57],{"id":52},"post",{"id":54,"by":55,"text":56},"5373305","minikomi","Very nice idea. Good stuff! Should todolist.js be in a folder called Collections?",{"id":58,"by":11,"text":59},"5373291","Good catch! It's fixed now. Keep the feedback coming! I'm particularly interested in design pattern suggestions.",{"value":61,"source":49,"evidence":62},"Backbone.js developers learning app structure",[63,67],{"id":64,"by":65,"text":66},"5373128","siong1987","For those who wonder how to build a Todo app in different javascript frameworks, you should definitely check out TodoMVC: http:\u002F\u002Faddyosmani.github.com\u002Ftodomvc\u002F",{"id":54,"by":55,"text":56},[69,76],{"value":70,"source":49,"evidence":71},"JavaScript",[72],{"id":73,"by":74,"text":75},"5373262","peter_l_downs","Maybe I'm misreading it, but it looks like you might have a typo in todos-router.js. See http:\u002F\u002Fahamlett.com\u002FBackbone.localStorage\u002Fdocs\u002Ftodos-router.html, in the call to define()…",{"value":77,"source":78,"evidence":79},"AMD modules","commenter",[80],{"id":81,"by":82,"text":83},"5373172","philipwalton","An example of the TODOs app with AMD is great! Now if only Backbone and Underscore would support AMD natively so you wouldn't need to Shim them.","unknown",{"praise":86,"objections":95,"requests":115,"questions":125,"alternatives":132},[87],{"value":88,"source":78,"evidence":89},"Good idea and nice documentation",[90,91],{"id":54,"by":55,"text":56},{"id":92,"by":93,"text":94},"5373134","nirvanatikku","Nice documentation! Hadn't seen docco before; pretty neat doc generator. http:\u002F\u002Fjashkenas.github.com\u002Fdocco\u002F",[96,107],{"value":97,"source":78,"evidence":98},"Todo app too simple to compare frameworks",[99,103],{"id":100,"by":101,"text":102},"5373699","camus","I think the todo app is not good enough to compare different frameworks maybe we should come up with another app , that has a least some ajax and a more complex business logic to…",{"id":104,"by":105,"text":106},"5374155","mtrimpe","I'd suggest keeping in mind that TodoMVC hides how well the different frameworks perform with more complex (nested \u002F inter-dependent) models though.",{"value":108,"source":78,"evidence":109},"Collections file placement and naming unclear",[110,114],{"id":111,"by":112,"text":113},"5374658","polychrome","Yeah, I have to agree with keeping them separate and renaming it to TodoCollection.js. As someone looking at this for the first time, even after breezing over the code that was…",{"id":54,"by":55,"text":56},[116,121],{"value":117,"source":118,"evidence":119},"Suggestions on design patterns","maker",[120],{"id":58,"by":11,"text":59},{"value":122,"source":78,"evidence":123},"A more complex example app with AJAX",[124],{"id":100,"by":101,"text":102},[126],{"value":127,"source":78,"evidence":128},"Why not use CoffeeScript",[129],{"id":130,"by":112,"text":131},"5374622","\"I don't know how to say this without sounding like a dick, so apologies in advance.\" I'm curious why you did not use CoffeeScript when you updated this example?",[133,137],{"value":134,"source":78,"evidence":135},"TodoMVC",[136],{"id":64,"by":65,"text":66},{"value":138,"source":78,"evidence":139},"Docco doc generator",[140],{"id":92,"by":93,"text":94},{"comments":35,"answered":40,"key":142},[143,144,147],{"id":58,"text":59},{"id":145,"text":146},"5373333","Maybe, I like to pretend it's a flask app and lump anything that models an api resource in the same folder. After all, a Collection is just an array of Models. What do you think?…",{"id":148,"text":149},"5396874","I totally agree. The only problem is hosting the api for a new example app. I could write an example app using the github api requiring OAuth. Does anyone know of a public api…",{"commenters":151,"max_depth":35,"maker_replies":35,"first_comment_mins":152,"lifespan_hours":153},18,22,112,[155,157,160,162,164,166,168,172,176,178,179,182,185,188,190,192,194,196,198,202,205,208,211,214,217],[64,34,34,156,65,34],"other\u002Fneutral\u002Fnone",[158,34,34,156,159,34],"5374075","tosh",[104,34,40,161,105,34],"project\u002Fcritical\u002Fidea",[73,40,40,163,74,34],"project\u002Fcritical\u002Fexecution",[58,40,34,165,11,40],"maker\u002Fpositive\u002Fexecution",[92,32,44,167,93,34],"project\u002Fpositive\u002Fdocs",[169,33,33,170,171,34],"5374006","project\u002Fneutral\u002Fdesign","paduc",[173,33,34,174,175,34],"5374076","commenter\u002Fneutral\u002Fdesign","Cthulhu_",[177,33,34,174,171,34],"5374116",[81,35,33,170,82,34],[180,35,34,156,181,34],"5373590","pneftali",[183,44,34,174,184,34],"5380248","twalling",[54,186,44,187,55,34],6,"project\u002Fpositive\u002Fdesign",[145,186,34,189,11,40],"maker\u002Fneutral\u002Fdesign",[191,186,34,174,55,34],"5373441",[111,186,40,193,112,34],"project\u002Fcritical\u002Fdesign",[100,195,40,161,101,34],7,[148,195,34,197,11,40],"maker\u002Fneutral\u002Fidea",[199,200,34,156,201,34],"5373578",8,"sneak",[203,200,34,156,204,34],"5373586","gkoberger",[206,200,34,156,207,34],"5373955","andrewingram",[209,200,34,210,11,40],"5373613","maker\u002Fneutral\u002Fnone",[212,200,34,213,101,34],"5373695","commenter\u002Fneutral\u002Fnone",[215,200,34,213,216,34],"5374519","pilgrim689",[130,200,33,210,112,34],[],[220,224,229,233,238,243],{"id":221,"name":222,"points":223,"category":20},"5395463","XKCD-inspired StackSort",948,{"id":225,"name":226,"points":227,"category":228},"5380056","Intro.js",716,"dev_tools",{"id":230,"name":231,"points":232,"category":228},"5407499","Webflow",503,{"id":234,"name":235,"points":236,"category":237},"5372183","CupidWithFriends",200,"web_saas",{"id":239,"name":240,"points":241,"category":242},"5377130","Replace Reader",175,"productivity",{"id":244,"name":245,"points":246,"category":228},"5386713","Advanced Namespace Tools (ANTS)",131,false,"v2",{"id":250,"name":5,"line":6,"ai":247,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":251,"top":18,"kw":252,"maker":11,"domain":10,"tier":19,"attempts":34,"strip":253,"url":9,"mix":254,"praise":88,"objection":97,"sub":21},5373068,-0.09,[24,25,26,27,28],"0011053003005001100000003",[32,33,34,35],1794036504852]