[{"data":1,"prerenderedAt":276},["ShallowReactive",2],{"project-8733976":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":45,"what":46,"said":83,"maker_in_thread":165,"shape":176,"grid":181,"attempts":239,"same_week":240,"maker_shows":34,"maker_hidden":268,"reader_version":269,"card":270},"8733976","TouchstoneJS","A React powered UI framework for beautiful mobile apps","title","Show HN: TouchstoneJS, a React powered UI framework for beautiful mobile apps","http:\u002F\u002Ftouchstonejs.io\u002F","touchstonejs.io","jed_watson",1418291331,2014,92,27,307,2272,14,"notable","languages","mobile ui framework","library",[24,25,26,27,28],"react","mobile framework","javascript ui","hybrid apps","cordova","mixed",0.346,{"positive":32,"neutral":33,"mixed":34,"critical":35},9,5,1,2,17,{"performance":38,"docs":39,"design":41,"idea":43},{"positive":35,"critical":34},{"positive":40,"critical":40},0,{"positive":42,"critical":40},3,{"positive":34,"critical":34},[33,42,42,40,33,40,33,33,40,42,40,33,40,42,34,40,42,40,33,42,40,33,34,40,33,40,33],null,{"problem":47,"audience":45,"pricing":45,"motivation":57,"time_to_build":45,"stack":63,"openness":80,"stage":81,"team_size":82},{"value":48,"source":49,"evidence":50},"Building native-feeling mobile app UIs with web technologies","maker",[51,54],{"id":52,"by":11,"text":53},"8734055","Thanks! we're putting a lot of detail into the animations to make it feel as native as possible. The touch events too - you'll notice that if you touch a link, and move too far…",{"id":55,"by":11,"text":56},"8734143","You need a lot more control over how the views transition, pass state, etc. in order to create a native-feeling app. The paradigm of links and parameters falls short, and…",{"value":58,"source":49,"evidence":59},"Wanted a mobile framework built on React; Ionic is tied to Angular",[60],{"id":61,"by":11,"text":62},"8734576","Cheers! We're fans of Ionic ourselves (and use their excellent icon library) I think the biggest differentiating factor between it and TouchstoneJS will be the platforms they're…",[64,70,74],{"value":65,"source":49,"evidence":66},"React",[67],{"id":68,"by":11,"text":69},"8734110","The app framework is structured as a React mixin, everything else (lists, form controls, etc) is just React Components you can drop into your app. So for the most part how you…",{"value":71,"source":49,"evidence":72},"browserify",[73],{"id":52,"by":11,"text":53},{"value":75,"source":49,"evidence":76},"Cordova",[77],{"id":78,"by":11,"text":79},"8738154","Yes - we've already got it working with iOS and android using Cordova, Windows should be straight-forward as well. There's a Cordova project that builds for iOS in the sample…","unknown","beta","company",{"praise":84,"objections":108,"requests":130,"questions":139,"alternatives":154},[85,101],{"value":86,"source":87,"evidence":88},"Smooth, responsive transitions close to native","commenter",[89,93,97],{"id":90,"by":91,"text":92},"8734261","apunic","Hey Jed, this is really AWESOME and finally shows what is possible with the power of nowadays browser rendering engines paired with a good JS lib (React is my favorite js lib). I…",{"id":94,"by":95,"text":96},"8734031","colinramsay","I stumbled upon this the other day and was immediately impressed. There's still a way to go but look at the detail in the transitions - not just a straightforward slide but with…",{"id":98,"by":99,"text":100},"8734168","jblok","Looks awesome, good work! I am using Ionic at the moment to develop a hybrid app and while it's a little more mature and a joy to play with, it doesn't as far as I'm aware have…",{"value":102,"source":87,"evidence":103},"Clean, minimal roadmap-and-demo page",[104],{"id":105,"by":106,"text":107},"8734282","djtidau","The brevity of the page displaying just the roadmap and live demo is honestly quite refreshing. It's great to be able to just look at what is there and see where the strengths…",[109,116,123],{"value":110,"source":87,"evidence":111},"Demo broken on some Android stock browsers",[112],{"id":113,"by":114,"text":115},"8734206","Kiro","The demo is completely broken on my Samsung Galaxy S3 using the stock browser. Just a big black square with occasional flickering.",{"value":117,"source":87,"evidence":118},"Look is iOS 8 only",[119],{"id":120,"by":121,"text":122},"8736472","pluma","Amazing and very responsive on both my Nexus 7 and Chrome on the desktop. My only quibble: \"beautiful mobile apps\" apparently means \"mobile apps that look like iOS 8\". I wonder…",{"value":124,"source":87,"evidence":125},"Framework rather than component library, takes over app structure",[126],{"id":127,"by":128,"text":129},"8734075","skrebbel","I'm not sure. Off of the feature list, it looks like a framework, not a component library. It takes over your app structure, build process, etc etc.",[131,135],{"value":132,"source":87,"evidence":133},"More documentation and examples",[134],{"id":90,"by":91,"text":92},{"value":136,"source":87,"evidence":137},"Android-friendly theme",[138],{"id":120,"by":121,"text":122},[140,147],{"value":141,"source":87,"evidence":142},"Can it work with ClojureScript React wrappers",[143],{"id":144,"by":145,"text":146},"8734034","weavie","Looks great. Presumably being React powered means it would work nicely with the various ClojureScript React wrappers such as Om and Reagent.",{"value":148,"source":87,"evidence":149},"Can it build native iOS, Android and Windows apps",[150],{"id":151,"by":152,"text":153},"8736531","jbhatab","This looks amazing. So will this be able to build native ios, android, and windows apps?",[155,159],{"value":156,"source":87,"evidence":157},"Ionic",[158],{"id":98,"by":99,"text":100},{"value":160,"source":87,"evidence":161},"react-router",[162],{"id":163,"by":95,"text":164},"8734119","Is there any reason not to just use react-router? Edit: ok I found the createApp mixin and I can see you're doing a lot of stuff in there to support the touchstone app... It…",{"comments":166,"answered":167,"key":168},10,4,[169,172,175],{"id":170,"text":171},"8734278","It is, and the source for the demo is here: https:\u002F\u002Fgithub.com\u002FThinkmill\u002Ftouchstone-starter",{"id":173,"text":174},"8734528","Thanks! We're stoked with the great feedback this is getting. We will have more docs + examples up in the coming weeks, aside from that we're currently using it in three…",{"id":61,"text":62},{"commenters":177,"max_depth":178,"maker_replies":166,"first_comment_mins":179,"lifespan_hours":180},13,6,23,16,[182,184,188,191,192,195,197,199,200,202,204,207,208,209,210,212,213,214,215,218,220,223,226,229,232,235,236],[90,40,33,183,91,40],"project\u002Fpositive\u002Fperformance",[185,40,42,186,187,40],"8734266","project\u002Fneutral\u002Fdocs","creativityhurts",[189,40,42,190,91,40],"8734268","project\u002Fneutral\u002Fnone",[170,40,40,186,11,34],[193,40,33,194,91,40],"8734378","maker\u002Fpositive\u002Fnone",[173,40,40,196,11,34],"project\u002Fpositive\u002Fdocs",[105,34,33,198,106,40],"project\u002Fpositive\u002Fdesign",[98,35,33,198,99,40],[61,35,40,201,11,34],"project\u002Fneutral\u002Fidea",[120,42,42,203,121,40],"project\u002Fmixed\u002Fdesign",[205,42,40,206,11,34],"8738138","project\u002Fneutral\u002Fdesign",[94,167,33,198,95,40],[52,167,40,206,11,34],[144,33,42,201,145,40],[127,33,34,211,128,40],"project\u002Fcritical\u002Fidea",[68,33,40,201,11,34],[163,33,42,201,95,40],[55,33,40,201,11,34],[216,33,33,217,95,40],"8734158","project\u002Fpositive\u002Fnone",[219,33,42,186,95,40],"8734116",[221,33,40,222,11,34],"8734146","commenter\u002Fneutral\u002Fnone",[224,178,33,183,225,40],"8734086","leo_mck",[113,227,34,228,114,40],7,"project\u002Fcritical\u002Fperformance",[230,227,40,231,11,34],"8734222","project\u002Fneutral\u002Fexecution",[151,233,33,234,152,40],8,"project\u002Fpositive\u002Fidea",[78,233,40,231,11,34],[237,32,33,217,238,40],"8734473","chcokr",[],[241,246,250,255,260,264],{"id":242,"name":243,"points":244,"category":245},"8734307","Iota",221,"dev_tools",{"id":247,"name":248,"points":249,"category":245},"8735937","Gitfs",196,{"id":251,"name":252,"points":253,"category":254},"8745263","um-hn",180,"ai",{"id":256,"name":257,"points":258,"category":259},"8743374","ssh-chat",171,"consumer_social",{"id":261,"name":262,"points":263,"category":245},"8753369","PhantomJS Pad",120,{"id":265,"name":266,"points":267,"category":259},"8762455","things.gnod.com",96,false,"v2",{"id":271,"name":5,"line":6,"ai":268,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":272,"top":18,"kw":273,"maker":11,"domain":10,"tier":19,"attempts":40,"strip":274,"url":9,"mix":275,"praise":86,"objection":110,"sub":21},8733976,0.35,[24,25,26,27,28],"533050550305031030530510505",[32,33,34,35],1793990916648]