Serious question: what's the advantage of using Rails for the backend/APIs over Node or various Python frameworks? I want to pick up a new backend stack and deciding between Rails and Go.
Rails developers should learn React
41–50 of 57 posts
Re: Rails developers should learn React
#42Earlier quoted context omitted.
It absolutely baffles me that people still like to call React a "Technology du jour". It's ubiquitous today. It's _THE_ go-to front-end web development UI framework.
In your bubble that might be true. In my bubble everyone is still using mostly ad-hoc jquery consisting half of snippets copy-pasted from stackoverflow.
Re: Rails developers should learn React
#43If there's one current technology that I wouldn't call omakase , it would be React. I thought it would get better once redux reached a certain mindshare, but now there's a plethora of redux helpers, "best" practices etc. (Each of which seems to focus on a new and/or experimental JavaScript language feature) Hey, I program Perl in my day job, but this is way too much Tim Toady even for me. (And if "more money" were th…
Will you explain what you mean a bit more, please? I don't understand your analogies.
Re: Rails developers should learn React
#44Re: Rails developers should learn React
#45Earlier quoted context omitted.
I don't think it is easy to dabble in React starting at zero knowledge of all these frameworks. Vue is just accessible and familiar enough to be more approachable at first. When buiding an internal app I took a long hard look at React, but ended up with Vue. I had previously used Angular 1.x. I know I see this said a lot but the comprehensibility of these frameworks and tooling is borderline impossible to deal with f…
I should clarify, that my definition of 'dabbling' is usually to build an actual app with it. I will usually try and build an app that I have already done in another language, just to get familiar with the new language oddities etc. Funny that you mentioned AngularJS - I built quite a few apps using the Ionic Framework a couple of years back, and that is (was) built upon Angular 1. I found Angular quite easy to pick…
Someone spends a few days wrangling a pile of NPM packages, build frameworks, and minifiers into this magical state that lets them operate very productively, but it isn't scaleable productivity in that now you have forced the whole developer community to do this multi day learning battle. And now as your whole pile of JS evolves under you, you are committed to this stack and keeping up with the evolution of all the dependencies.
You end up with a lot of "least bad" solutions that aren't actually very good to the core problem. I see that as React's biggest problem with adoption. The core model is actually really great, but the usability is a steep learning curve.
Re: Rails developers should learn React
#46A lot of people say, learning React makes you a better developer. I think, what they actually mean, is functional programming.
Because so far I just can't see react as the best/simplest approach to dragging REST[1] apps into the world of GUI COD(Code on Demand)[1] apps. Vue seems to strike a much more elegant balance, for example.
Especially in terms of life-cycle - I can't say I'd look forward to maintaining most complicated js stacks for say five years - with a horde of (rapidly evolving) dependecies, and often a plethora of build tools/steps that in general all do some rather simple, but incompatible source-to-source translation (templates to html, some js dialect to another, scss to css).
Vue certainly doesn't fix all of that - but it seems a bit more consistent and simple IMNHO.
But maybe it's just me. It'd be interesting to hear if anyone's actually made the jump from "react in anger" to "vue in anger" - or vice-versa?
[1] http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm
Re: Rails developers should learn React
#47Honest question, is it really here to stay? What's different between React today and Backbone 4 years ago or Angular 2 years ago? Does it solve all the problems of the predecessors? People are already starting to talk about Vue like it's the new messiah.
I believe it is, the problem with both Backbone and Angular is that they treat UI development like it is still assembling a page and then sending it down to the client. They encourage monolithic controllers that are not discreetly tied to the UI. This was a natural outgrowth of web developers being comfortable with that model in transitioning over from the server side. The problem is, it sucked on the server side and…
I do think one of the reason I struggle with react is because I still believe the Web is good for REST and Web pages/hypertext - and native is to be preffered for "applications". Conversely I think react is a pretty poor fit for "Web".
It still strikes me as crazy complicated compared to say Java SWING driven by a dynamic language like python (jython).
Might explain why I struggle to embrace it. I mean if you're worse than Smalltalk or Pascal/Delphi - the stack has to be backwards crap for GUI programming, right?
Re: Rails developers should learn React
#48A lot of people say, learning React makes you a better developer. I think, what they actually mean, is functional programming.
Having glanced at react, angular(2), riot.js and vue - and being somewhat familiar with procedural, message passing, class/inheritance OO, functional and logic/declarative (SQL/Prolog) paradigms - I can't help but think that many of the developers that praise react do so because react introduced them to (a rather convoluted form of) functional programming, leveraging templates (the php paradigm) as a form of gateway…
Even with years of front-end experience I see these engineers fail at creating a reliable, documented and structured architecture. I guess, that's because they don't have time, budget or are no longer used to fiddle around and explore third-party projects (which is actually sad).
That is, getting started with Angular (or Vue, I expect) is easier and you will get something together faster. I expect the reason why React is so popular to be the mix you describe - although "templating" is a bit off, because JSX isn't templating in the PHP or JSF way.
From my personal point of view I can say, that I never regret the decision to switch to React (from Angular/Backbone.js). Especially the simple structuring (basically a component tree) is incredible simple compared to what you had in Angular 1. I am leading two projects with six digit LOC in the front-end and it is a pleasure to see how quickly new member can contribute, how clear the architecture is. Because there's no magic at all.
But that's all very personal, opinions differ greatly and I even know one developer who loves Angular 2. But he also has to work with Hibernate in the backend and compared to that everything is great - just kidding ;)
---
Edit: I have read Fielding's paper for my B. Sc. thesis a couple of times and it's a great piece work. Should be a mandatory lecture for a lot of fields.
Re: Rails developers should learn React
#49A lot of people say, learning React makes you a better developer. I think, what they actually mean, is functional programming.
Having glanced at react, angular(2), riot.js and vue - and being somewhat familiar with procedural, message passing, class/inheritance OO, functional and logic/declarative (SQL/Prolog) paradigms - I can't help but think that many of the developers that praise react do so because react introduced them to (a rather convoluted form of) functional programming, leveraging templates (the php paradigm) as a form of gateway…
With Vue, on the other hand, it was easier to get started. I got a prototype working in a week with no previous knowledge of the framework. I'm avoiding the component state and using a Redux like approach using props and a centralised state, and I didn't even need to use Vuex[1].
I'm using typescript, which helps catch a lot of bugs early on, it's a little difficult to integrate with single file components[2] (which are awesome, btw), but once I got it working, it proved to be an excellent combo.
The documentation is cristal clear and very beginner friendly. If you're getting started I highly recommend using vue-cli[3] to bootstrap your project
I think Vue sits between React and Angular, being simpler than Angular, offering more features than React, and easier than both to get started.
[1] https://github.com/vuejs/vuex
Re: Rails developers should learn React
#50Earlier quoted context omitted.
I believe it is, the problem with both Backbone and Angular is that they treat UI development like it is still assembling a page and then sending it down to the client. They encourage monolithic controllers that are not discreetly tied to the UI. This was a natural outgrowth of web developers being comfortable with that model in transitioning over from the server side. The problem is, it sucked on the server side and…
It's not quite the (positive) impression I get from react - but then I can't claim to be familiar with the internals. I do think one of the reason I struggle with react is because I still believe the Web is good for REST and Web pages/hypertext - and native is to be preffered for "applications". Conversely I think react is a pretty poor fit for "Web". It still strikes me as crazy complicated compared to say Java SWIN…
Right, please dont take my praise for react as an endorment that the state of the industry is where we need to be. Rather I see it was a step forward.
For a little background I have been in the business since Tim Lee published his first page of what would become the WWW. I would venture to say the first webpage I wrote was in the first 100 and if not, certainly within the first 1000 pages developed. Before that I was a typical desktop developer (though I was young, so that career was short lived). Anyways, the reson I bring up my background is to make the following observation and that is, from the implementation of the common gateway specification I always felt like the web took a wrong turn. Not that we should not have an internet enabled application spec but rather we tacked it on to a distributed document specification. That being said, we tried and tried to build the "web" for applications but none of them won. Meanwhile, hackers continued to deliver applications via web pages, through ingenious hacks to the HTTP spec, CGI, and Javascript everything else floundered with the exception of Flash and that was killed by Apple (as well as it's abuse on web pages) and lack of open spec until to late.
So that brings us to where we are, the worst possible app UI technology won by attrition. The people building that technology spent a generation building entire UI's and then dumping them down to the client. When we finally broke ourselves free of the dumb client model, that style of development persisted as it was pervasive. Many attempts have been made to free web devs from that mindset with some pretty good frameworks (good in web measurement) but the build everything in one big controller mentality has been pervasive. React has been one of the first frameworks to free web developers minds of that model yet there continues to be efforts to go back Vue is one of those efforts. The reality is it takes more thought to think about a UI as reactive components that react to change as it's easier (in the beginning) to write procedural code in a monolithic controller and if a framework allows it that is where developers will default back to. Which in my opinion is a step in the wrong direction. I have seen web developers almost get several times and it seems we always regress back to controller based thinking the first to set it back was Backbone and the second was Angular.
React is certainly not the state of the art in UI programming, but it is the state of the art in web UI programming and knowing where we came from I am happy for that.