News for hackers. Stuff that matters.
Re:Show HN: TouchstoneJS, a React powered UI framework for b... by apunic on Thursday December 11, 2014 @06:53AM (#8734261)
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 like very much the butter smooth transitions on any phone and it's nice that you spent so much attention in getting this thing so responsive, well done man.

When will this thing be live, having more documentation and can I play already around with the stuff on Github?

Thanks!

Re:Show HN: TouchstoneJS, a React powered UI framework for b... by jed_watson on Thursday December 11, 2014 @08:15AM (#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 commercial apps at Thinkmill so what's there is pretty solid.

The projects we're building with it include a Bitcoin wallet (built on BitcoinJS), a cinema voucher scanning app and another I unfortunately can't talk about yet. It's holding up really well across the different use cases and UI designs.

Re:Show HN: TouchstoneJS, a React powered UI framework for b... by creativityhurts on Thursday December 11, 2014 @06:56AM (#8734266)
Re:Show HN: TouchstoneJS, a React powered UI framework for b... by apunic on Thursday December 11, 2014 @06:58AM (#8734268)
Thanks, I saw it already :)

Jed, is on Github the latest version of Touchstone?

Re:Show HN: TouchstoneJS, a React powered UI framework for b... by jed_watson on Thursday December 11, 2014 @07:01AM (#8734278)
It is, and the source for the demo is here: https://github.com/Thinkmill/touchstone-starter
Re:Show HN: TouchstoneJS, a React powered UI framework for b... by apunic on Thursday December 11, 2014 @07:34AM (#8734378)
Thanks!
Re:Show HN: TouchstoneJS, a React powered UI framework for b... by djtidau on Thursday December 11, 2014 @07:02AM (#8734282)
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 and weaknesses are (at least with some face value).

Great work on this, I can't wait to see how it matures.

Re:Show HN: TouchstoneJS, a React powered UI framework for b... by jblok on Thursday December 11, 2014 @06:09AM (#8734168)
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 the awesome state change animations this has. Excited for the future of hybrid apps :)
Re:Show HN: TouchstoneJS, a React powered UI framework for b... by jed_watson on Thursday December 11, 2014 @08:27AM (#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 built on.

Ionic's heavily invested in Angular, which is great, but we're big fans of React and wanted to create a new mobile framework that builds on that.

Re:Show HN: TouchstoneJS, a React powered UI framework for b... by pluma on Thursday December 11, 2014 @02:02PM (#8736472)
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 how difficult it would be to adjust the design to better fit in with other OSes.

Re:Show HN: TouchstoneJS, a React powered UI framework for b... by jed_watson on Thursday December 11, 2014 @08:33PM (#8738138)
We won't be limiting the look to iOS 8, we just started there because it's the platform we're developing some commercial apps for using TouchstoneJS at the moment. At least two of them will end up on Android as well, so we'll get to that.

Down the track it will including a theme capability and a more Android-friendly UI style, I'll add something to the roadmap to make this clearer.

Re:Show HN: TouchstoneJS, a React powered UI framework for b... by colinramsay on Thursday December 11, 2014 @05:11AM (#8734031)
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 the previous page parallaxing and the shadow effect - very similar to native.

I think react is a wonderful technology. I also think that there's a real gap for a lightweight mobile-only framework like this, and this work is a great start.

Re:Show HN: TouchstoneJS, a React powered UI framework for b... by jed_watson on Thursday December 11, 2014 @05:22AM (#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 away, it'll un-hilight; then if you move back it activates again, just like on iOS. Or in a scrolling panel, scrolling cancels the touch event.

We've had a great experience building with React, and browserify - it keeps everything organised and modular, and is pretty much perfect for mobile app architecture.

Re:Show HN: TouchstoneJS, a React powered UI framework for b... by weavie on Thursday December 11, 2014 @05:13AM (#8734034)
Looks great. Presumably being React powered means it would work nicely with the various ClojureScript React wrappers such as Om and Reagent.
Re:Show HN: TouchstoneJS, a React powered UI framework for b... by skrebbel on Thursday December 11, 2014 @05:32AM (#8734075)
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.
Re:Show HN: TouchstoneJS, a React powered UI framework for b... by jed_watson on Thursday December 11, 2014 @05:46AM (#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 structure your app is up to you (except for the scaffolding necessary for the view transitions). It's inspired by react-router (after the recent changes) in terms of getting out of your way.

Other than that, aside from needing some sort of compilation step for the JSX (our demo project uses browserify and gulp) the rest is up to you.

I haven't used Om or Reagent yet but I don't think there'd be anything preventing them from working with Touchstone.

Re:Show HN: TouchstoneJS, a React powered UI framework for b... by colinramsay on Thursday December 11, 2014 @05:48AM (#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 would be sweet if you could delegate some of that heavy lifting and integrate with react-router at the same time...

Re:Show HN: TouchstoneJS, a React powered UI framework for b... by jed_watson on Thursday December 11, 2014 @05:57AM (#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 eventually TouchstoneJS will exert a lot more control over the transitions. Right now we're using CSSTransitionGroup, but I expect we'll move to a JS-based transition method (possibly with tween-state) so you can do controlled or partial transitions (required for things like drawers or swipe-from-left to go back)

We have spent a lot of time looking at react-router though, and are using it on other projects, and are / will be borrowing quite a few things :)

Re:Show HN: TouchstoneJS, a React powered UI framework for b... by colinramsay on Thursday December 11, 2014 @06:05AM (#8734158)
That's fair enough. I'm looking forward to testing Touchstone out soon, I've got a test project in mind!
Re:Show HN: TouchstoneJS, a React powered UI framework for b... by colinramsay on Thursday December 11, 2014 @05:48AM (#8734116)
@jed_watson will be able to say more but I don't think that's the case. Take a look at the starter project here:

https://github.com/Thinkmill/touchstone-starter/tree/master/...

You should be able to piece together the UI parts you need. The starter also happens to include the build process run browserify and create a phonegap build, that's all.

(disclaimer - I might be totally wrong)

Re:Show HN: TouchstoneJS, a React powered UI framework for b... by jed_watson on Thursday December 11, 2014 @05:58AM (#8734146)
Nope, I think you're spot on.
Re:Show HN: TouchstoneJS, a React powered UI framework for b... by leo_mck on Thursday December 11, 2014 @05:37AM (#8734086)
And it works fine on WP 8.1, which was a nice surprise. Good work!
Re:Show HN: TouchstoneJS, a React powered UI framework for b... by Kiro on Thursday December 11, 2014 @06:23AM (#8734206)
The demo is completely broken on my Samsung Galaxy S3 using the stock browser. Just a big black square with occasional flickering.
Re:Show HN: TouchstoneJS, a React powered UI framework for b... by jed_watson on Thursday December 11, 2014 @06:31AM (#8734222)
Thanks for letting me know. We haven't had a chance to test yet on a wide range of Android browsers, but it shouldn't be like that.

If you could open an issue on the GitHub project (http://github.com/JedWatson/touchstonejs) with details of your OS version and browser I'd really appreciate it!

Re:Show HN: TouchstoneJS, a React powered UI framework for b... by jbhatab on Thursday December 11, 2014 @02:13PM (#8736531)
This looks amazing. So will this be able to build native ios, android, and windows apps?
Re:Show HN: TouchstoneJS, a React powered UI framework for b... by jed_watson on Thursday December 11, 2014 @08:36PM (#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 project if you're interested.

Re:Show HN: TouchstoneJS, a React powered UI framework for b... by chcokr on Thursday December 11, 2014 @08:00AM (#8734473)
Nice.