<div dir="ltr">Until recently, at Lost My Name we were using a collection of small jquery-based libs to provide validation, dom manipulation and the odd api call. We just had standard rails views and the occasional json endpoint. We didn't use the jquery-ujs or any of the javascript helpers. I tried to use them once but I was sentenced to a solid week of tea duty.<div><br></div><div>The jquery approach worked well but as our storefront grew more complex it was very hard to hold state and update views with state changes. We have replaced the front-end with a nodejs app that runs React/redux, with the magic isomorphic (I think the kids call universal these days) rendering on the server that everyone wants, allowing it to work without js on the client. I have not had much to do with the project but I have observed higher levels of developer happiness and the website seems to be up so thats two ticks in it's favour.<br></div><div><br></div><div>Tom</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Jun 13, 2016 at 10:20 AM, Jon Wood <span dir="ltr"><<a href="mailto:jon@ninjagiraffes.co.uk" target="_blank">jon@ninjagiraffes.co.uk</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">I think Javascript feels pretty bleeding edge all the time to me, simply because everything is in a constant state of flux. Maybe I just need to stop chasing the new shinyness, but whenever I start a new project with React I end up relearning half of what I did last time because its changed again.</div><div class="HOEnZb"><div class="h5"><br><div class="gmail_quote"><div dir="ltr">On Mon, 13 Jun 2016 at 10:14 Sleepyfox <<a href="mailto:sleepyfox@gmail.com" target="_blank">sleepyfox@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Interesting - React (the newest of the frameworks) is already more<br>
than 3 years old. Others (Angular, Ember et al) are much older. At my<br>
current client they're using React with Rails, and don't consider that<br>
at all 'new' let alone 'bleeding edge'.<br>
<br>
Modern work is moving to API+SPA, with the API in Ruby, Node or even<br>
#serverless using Firebase or similar.<br>
<br>
Is the Ruby community really this behind?<br>
<br>
@sleepyfox<br>
<br>
<br>
On 13 June 2016 at 10:04, Jon Wood <<a href="mailto:jon@ninjagiraffes.co.uk" target="_blank">jon@ninjagiraffes.co.uk</a>> wrote:<br>
> I would say that it depends on the scale of your frontend at the moment. If<br>
> you're building a web app which can function with just some generated HTML<br>
> and the odd sprinkle of Javascript then jQuery is probably the way to go as<br>
> you get all the benefits of Rails' gem ecosystem and years of tooling to<br>
> build HTML quickly.<br>
><br>
> If you're building a rich application then you'll probably want the extra<br>
> structure provided by something like React or Ember, but you'll pay the<br>
> price in initial bootstrapping of your application, and being somewhat on<br>
> the bleeding edge. You do get the advantage of a proper API backing<br>
> everything though, which pays off rapidly as your application gets larger.<br>
><br>
> Finally, there's the option of having a REST API, and a Rails generated<br>
> interface built on top of that. If you're web application is the only API<br>
> client then I'm not sure I'd recommend that approach. If you need an API for<br>
> other clients anyway then this can be a really nice way of working because<br>
> every feature you build for any client requires API endpoints which can<br>
> quite dramatically reduce the overheads in supporting the feature for other<br>
> clients.<br>
><br>
> On Mon, 13 Jun 2016 at 09:47 gvim <<a href="mailto:gvimrc@gmail.com" target="_blank">gvimrc@gmail.com</a>> wrote:<br>
>><br>
>> Is turblinks/jQuery still the dominant approach to front-end development<br>
>> in the Rails community or is there a shift towards Ember/Angular/React<br>
>> backed by a Rails api?<br>
>><br>
>> gvim<br>
>><br>
>> _______________________________________________<br>
>> Chat mailing list<br>
>> <a href="mailto:Chat@lists.lrug.org" target="_blank">Chat@lists.lrug.org</a><br>
>> Archives: <a href="http://lists.lrug.org/pipermail/chat-lrug.org" rel="noreferrer" target="_blank">http://lists.lrug.org/pipermail/chat-lrug.org</a><br>
>> Manage your subscription: <a href="http://lists.lrug.org/options.cgi/chat-lrug.org" rel="noreferrer" target="_blank">http://lists.lrug.org/options.cgi/chat-lrug.org</a><br>
>> List info: <a href="http://lists.lrug.org/listinfo.cgi/chat-lrug.org" rel="noreferrer" target="_blank">http://lists.lrug.org/listinfo.cgi/chat-lrug.org</a><br>
><br>
><br>
> _______________________________________________<br>
> Chat mailing list<br>
> <a href="mailto:Chat@lists.lrug.org" target="_blank">Chat@lists.lrug.org</a><br>
> Archives: <a href="http://lists.lrug.org/pipermail/chat-lrug.org" rel="noreferrer" target="_blank">http://lists.lrug.org/pipermail/chat-lrug.org</a><br>
> Manage your subscription: <a href="http://lists.lrug.org/options.cgi/chat-lrug.org" rel="noreferrer" target="_blank">http://lists.lrug.org/options.cgi/chat-lrug.org</a><br>
> List info: <a href="http://lists.lrug.org/listinfo.cgi/chat-lrug.org" rel="noreferrer" target="_blank">http://lists.lrug.org/listinfo.cgi/chat-lrug.org</a><br>
><br>
_______________________________________________<br>
Chat mailing list<br>
<a href="mailto:Chat@lists.lrug.org" target="_blank">Chat@lists.lrug.org</a><br>
Archives: <a href="http://lists.lrug.org/pipermail/chat-lrug.org" rel="noreferrer" target="_blank">http://lists.lrug.org/pipermail/chat-lrug.org</a><br>
Manage your subscription: <a href="http://lists.lrug.org/options.cgi/chat-lrug.org" rel="noreferrer" target="_blank">http://lists.lrug.org/options.cgi/chat-lrug.org</a><br>
List info: <a href="http://lists.lrug.org/listinfo.cgi/chat-lrug.org" rel="noreferrer" target="_blank">http://lists.lrug.org/listinfo.cgi/chat-lrug.org</a><br>
</blockquote></div>
</div></div><br>_______________________________________________<br>
Chat mailing list<br>
<a href="mailto:Chat@lists.lrug.org">Chat@lists.lrug.org</a><br>
Archives: <a href="http://lists.lrug.org/pipermail/chat-lrug.org" rel="noreferrer" target="_blank">http://lists.lrug.org/pipermail/chat-lrug.org</a><br>
Manage your subscription: <a href="http://lists.lrug.org/options.cgi/chat-lrug.org" rel="noreferrer" target="_blank">http://lists.lrug.org/options.cgi/chat-lrug.org</a><br>
List info: <a href="http://lists.lrug.org/listinfo.cgi/chat-lrug.org" rel="noreferrer" target="_blank">http://lists.lrug.org/listinfo.cgi/chat-lrug.org</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><font face="arial, helvetica, sans-serif" size="2">Tom Cartwright</font><div><font face="arial, helvetica, sans-serif" size="2"><a href="http://tecartwright@gmail.com/" style="text-decoration:initial;line-height:18px;white-space:pre-wrap;background-color:rgb(255,255,255)" target="_blank">tecartwright@gmail.com</a><span style="color:rgb(71,71,71);line-height:18px;white-space:pre-wrap;background-color:rgb(255,255,255)">
07969 977300
<a href="http://www.tomcartwright.net" target="_blank">Portfolio</a> </span><font color="#474747"><span style="line-height:18px;white-space:pre-wrap">· </span></font><span style="color:rgb(71,71,71);line-height:18px;white-space:pre-wrap;background-color:rgb(255,255,255)"><a href="http://github.com/tomcartwrightuk" target="_blank">GitHub</a></span></font><span style="font-size:small;font-family:arial,helvetica,sans-serif;color:rgb(71,71,71);line-height:18px;white-space:pre-wrap"> </span><font color="#474747" style="font-size:small;font-family:arial,helvetica,sans-serif"><span style="line-height:18px;white-space:pre-wrap">· </span></font><a href="https://www.linkedin.com/in/tomcartwrightuk" style="line-height:18px;white-space:pre-wrap;font-family:arial,helvetica,sans-serif;font-size:small" target="_blank">LinkedIn</a></div></div></div>
</div>