23 ms·
This is so exciting to see, especially for older folk like me. Almost 20 years ago, one of my professors told us before graduation that hot tech is mostly abou
by sourc3 6y ago
This is so exciting to see, especially for older folk like me.
Almost 20 years ago, one of my professors told us before graduation that hot tech is mostly about the idea pendulum swinging back and forth. I immediately chalked it up to 65+ above white wise men snobbery.
However, this is exactly that. We started with static pages, then came Ajax and Asp.net and the open source variants, then we went full SPA, now we are moving back to server side because things are too complicated.
Obviously tech is different, better, more efficient but the overall idea seems to be the same.
- dgb23 6y agoI don't think this addresses all of what SPAs is used for. It seems to assume full-stack control.
- Trasmatta 6y agoIt's specifically built for Rails, so yeah, it definitely assumes full-stack control. And there are definitely applications I would prefer to write as an SPA over the Hotwire approach. But given that the vast majority of websites are just a series of simple forms, I prefer this approach over the costs you incur from building an entire complex SPA.
- mfer 6y agoWhile it works with Rails... some of the parts are just JavaScript and will work with any underlying platform.
- bzb6 6y agoNice casual racism you threw in there.
- craftinator 6y ago.
- mfer 6y agoIt's not just that things are too complicated... the JS being sent to browsers is large and a lot of work. That requires more bandwidth, processing, and power usage on client devices. This eats phone, tablet, and laptop batteries.
- alunchbox 6y agoBut... that's one of the pro's of not having to do the rending cycle on the server. Also caching of framework libraries off CDN's and such. I don't see much merit in moving back to server side rendering aside from obfuscation & helping SEO ratings (web crawlers have a hard time with SPA)
- mfer 6y ago> But... that's one of the pro's of not having to do the rending cycle on the server. Also caching of framework libraries off CDN's and such. This doesn't save battery life on a device. If someone downloads a few meg of JS their browser has to parse and execute that JS locally. This use of processing uses power. If that same person had half as much JS to parse and execute it would use less power. A CDN does not save from this happening. When power use happens on a server it's more on the server but less on devices with batteries. Batteries aren't used up as quickly (both between recharges and in their overall life). A server side setup can cache and even use a CDN to only need to render parts that change. My points are that it's not all cut and dry along with considering batteries. Oh, and older systems (like 5 year old ones)... surfing the web on an older system can be a pain now because of JS proliferation.
- mfer 6y ago> Oh, and older systems (like 5 year old ones)... surfing the web on an older system can be a pain now because of JS proliferation. This matters because of the poor, the elderly (on a fixed income), and those who aren't in first world countries don't have easy access to money to keep getting newer computers. Then there is the environmental impact of tossing all those old computers. So, there is both a people and environment impact.
- deleted 6y ago[deleted]
- threwawaay 6y agoI like how so nonchalantly you turn this into a racist comment and yet no one is calling you out on it.
- scubbo 6y agoProbably because they are relating an anecdote from their past, and self-deprecatingly pointing out how naïve and overly-judgemental they were _back then_.
- deleted 6y ago[deleted]
- CyberDildonics 6y agoYou went to a school with professors and dismissed their final advice to you as "65+ above white wise men snobbery"? Which part of that is supposed to be a reasonable thing to say?
- frereubu 6y agoI read it as a self-deprecating dig at his / her younger self.
- jjkaczor 6y agoExactly, it is kind of like Clarke's first law: https://en.wikipedia.org/wiki/Clarke%27s_three_laws https://en.wikipedia.org/wiki/Clarke%27s_three_laws Youth are always writing off the oldies - I did it, and now that I am old, I see it happening to me - and that is ok - we need that passion to shake things up, even if they end-up eerily similar to the way things were done before...
- craftinator 6y agoI would point out that those are older also tend to write off the younger. I think it's just perspective mismatch; If I can emulate another person's perspective in my head, I can anticipate their decisions (and reasoning), so I can decide if they are being reasonable. However if I can't understand their perspective, I have a very hard time in understanding and judging their reasonableness (because I'm basing my judgement solely off of my own experiences and memories that are similar to their circumstances). This lack of understanding translates to seeing a lack of credibility in them. "Maybe if they were more like me, they'd make more sense, be more reasonable". This type of thinking is common in most types of prejudice. It's why young people write off older people: "They're too older to remember what it's like being my age, or to understand how things are now". Why the opposite occurs: "They're still too young to understand how life works yet". Why people of very different cultures tend to be prejudiced: "Their kind are ignorant of how the world works", and the opposite: "They've never been through what I've been through, they don't understand me or mine". All of these statements evaluate down to: "If they were more like me, they would be reasonable". Which is of course true, if "they" were more like "you", their systems of reasoning and value be more similar to yours, and vice versa.
- shadowgovt 6y agoI think I'd be more impressed by this idea if their server wasn't currently down.
- craftinator 6y agoIt's back up. If you check out the traffic to it, we hugged it to death.
- fmakunbound 6y agoI’m glad this technique is making a comeback. The last 10 years of JavaScript on the client have been an utter shit show that left me wondering wtf people were thinking.
- tvaughan 6y agoCouldn’t have come soon enough. I’m exhausted
- rorykoehler 6y agoI’m glad I’m not the only one who thought this.
- blorenz 6y agoYou have the benefit of hindsight at this time. You can draw parallel to history of flight and all the crazy contraptions that people attempted. Great technology can emerge from the combination of numerous shit shows. The whole is greater than the sum of the parts.
- epistasis 6y agoI'm not a front end engineer, but it always seemed crazy to me. I remember testing out the Google Web Toolkit when it came out more than a decade ago, and the craziest thing about it to me wasn't the Java --> JavaScript compilation, it was that the server just dumped an empty page and filled everything in with JavaScript on the client. Then, remember the awful awful #! URLs? Atrocious, and seemed like obviously a terrible idea from the start, yet they spread, and have mostly died, thankfully. But even with the lessons from these bad tech designs, new frameworks come out that repeat mistakes, yet get incredible hype.
- Twirrim 6y agoAWS used to rely on JWT for their consoles (haven't for a few years now, most folks migrated away some 5 years ago) It's why they used to be horrendously bloated with large javascript bundles that took so long to process on the client side. Roughly speaking the idea was "We don't have any Javascript developers, but we do have Java developers. JWT allows us to bridge that divide". Neat in theory, and an understandable decision, but diabolical in practice!
- nine_k 6y agoIndeed, this is exactly how web chats worked in late 1990s, except for the use of WebSocket (they used infinite load instead). They even seem to revive frames, another staple of 1990s design!
- csixty4 6y agoI'd take it back even further: We started out on mainframes. Then things moved to the desktop, with some centralized functionality on servers (shared drives, batch jobs). The processing moved to centralized web servers via the web, SAAS, and the cloud. Then more moved into the client through React & similar. And now things are moving back to the server. Tick. Tock. These changes are not just arbitrary whims of fashion, though. They're driven by generational improvements in technology and tooling.
- exabrial 6y agoVirtual machines, containers, very similar to partitions and spaces on mainframes as well.
- madmulita 6y agoAnd serverless is an anemic CICS executing non-transactions.
- dsego 6y agoServerless is kind of like Apache running PHP scripts in virtual hosts.
- rvense 6y agoIs it really a pendulum, or is it more that this was always an idea with merit that's now finally seeing wider adoption because it's become more widely available? (In part, I understand, due to some IBM patents that expire 10 or so years ago)
- Hypergraphe 6y agoI think the same.
- dasloop 6y agoEvery time the pendulum returns, it returns profoundly changed. And it returns because the changes makes the coming back possible.
- echelon 6y agoSo when and how does the p2p / distributed pendulum swing back? When do we stop using AWS mainframes for everything? I sense that you're right about swings requiring change to older techniques. But I think there's also a component of being fed up with the direction things are currently facing.
- luxcem 6y agoUnfortunately p2p computing is hindered badly by the copyright industry. The research is still active and we have a lot of ideas for distributed computing and p2p for more than file exchange. A lot is used today to distribute a mainframe infrastructure instead of creating truely distributed network.
- callamdelaney 6y ago>65+ above white wise men snobbery Nice! Casual ageism and racism mixed into one post.
- preordained 6y agoSeriously. That's a WTF from me, dawg...
- WhitneyLand 6y agoConventional wisdom is discrimination against privileged groups such as white men is less offensive because they’ve endured so much less of it. On one hand, it’s true. It’s part of white privilege which is tangible. On the other hand, however less often people in a privileged class are realistically impacted by discrimination, it’s still > 0.0%. Since it usually costs nothing more to include everyone it seems useful. But I think the biggest reason it’s important to care about discrimination wherever it shows up and not let people off the hook is that it’s unifying. There’s a story out of Buddhism that suggests it’s important to think equally kindly about rich people, kind of similar in that they’re a privileged class. I know it’s a hard sell. I don’t do it justice here. However a powerful argument can be made that not disparaging privileged classes, actually helps us all in the long run/big picture. If I get down voted I understand, that’s ok. If it makes a difference I don’t mean to minimize the 10,000 year history of pain suffered by any humans due to discrimination.
- rs23296008n1 6y agoRacist people like you make peaceful protests and working for change against racism so much harder. You're just out for revenge and your rhetoric shows it. Edit: I've had just about enough of people using "white privilege" to justify violence and blatant discrimination because "they haven't been exposed to enough". Its just another way to justify racism. Plenty of white people live in poverty. Its not ok in either direction.
- callamdelaney 6y agoRacism is singling out white people as the source of all evil, and then backing it up with statistics which don’t tell the whole story.
- cyrialize 6y agoI completely agree with this. For reference, I'm a relatively new developer - 3.5+ years of experience in my first developer position. At the beginning of college everyone was SUPER into NoSQL. All my friends were using it, SQL was slow, etc. Nearing the end of college and the beginning of my job I began seeing articles saying why NoSQL wasn't the best, why SQL is good for some things over NoSQL, etc. Technology is cyclical. 10 years from now I expect to read about something "new" only to realize that it was something old.
- mywittyname 6y agoThe NoSQL trend was so terrible. Anyone starting out right in that time frame where mongo and other NoSQL DBs were getting popular was really done a disservice. I sit in design meetings all the time where people with <5 years experience go out of their way to avoid using a relational database for relational data because "SQL is slow". They will fight tooth and nail, shoe-horning features in to the application which are trivial to do with a single SQL command. I helped out on one project lead by a few younger devs who chose FireStore over CloudSQL for "performance reasons" (for an in-house tool). They had to do a pretty major rewrite after only a few weeks once they got around to deleting, because one of their design requirements was to be able to delete thousands of records; a trivial operation in SQL, but with FireStore, deleting records requires: > To delete an entire collection or subcollection in Cloud Firestore, retrieve all the documents within the collection or subcollection and delete them. If you have larger collections, you may want to delete the documents in smaller batches to avoid out-of-memory errors. Repeat the process until you've deleted the entire collection or subcollection. > Deleting a collection requires coordinating an unbounded number of individual delete requests. Turns out, once they started needing to regularly delete thousands-millions of records, the process could run all night. Luckily, moving over to CloudSQL didn't take very long...
- ZephyrBlu 6y ago> I sit in design meetings all the time where people with <5 years experience go out of their way to avoid using a relational database for relational data because "SQL is slow" I mean, this is just dumb. I have less than 5 years experience and I understand that SQL isn't "slow", there are just different tradeoffs between SQL and NoSQL databases and you have to pick the right tool for the job.
- jpxw 6y ago> I immediately chalked it up to 65+ above white wise men snobbery. Perhaps this can be the opportunity for you to look through your past and consider and reevaluate other ideas you discarded because of your own bigotry.
- jhpriestley 6y agoThe Rails people never went for SPAs though. Releasing another server-rendering AJAX thing for rails (previous was TurboLinks) no more represents "the pendulum swinging back" than a new version of COBOL that runs on mainframes represents the pendulum swinging back to mainframes. If this approach gains market share against React etc., then that will be meaningful - but don't hold your breath, there are legitimate reasons for the move to SPAs and also an enormous amount of institutional inertia behind it.
- danmaz74 6y agoLots of rails back end applications power SPAs on the front end. Sometimes for good reasons, often enough just because it was more "modern" - but much less efficient in terms of programming.
- elliotlarson 6y agoI don't think that's entirely accurate. Lots of Rails users went the SPA route the second stuff like Backbone came out. Wycats was big in the Rails community at this time and he spearheaded Emberjs. The Shopify guys were (and are still) big in the Rails community and they created their own Batman.js. It's just that the Rails core devs made a decision to not go that route. They were even working on their own front end framework at one point and after some time they decided to kill it in favor of just using pjax/turbolinks. You can get your 80% case accomplished with these technologies with substantially less effort. There are definitely reasons to go SPA, but the dev community at large has jumped on the hype train here without really identifying that using these technologies are a good idea for their use case. I mean, there's a lot of people doing CRUD with React. That's crazy.
- wwweston 6y agoThe interesting thing is that if you don't think of the browser as just another runtime, nothing more than The VM That Lived (where applets and flash died), but actually think of your applications as Web Applications, then you get the ideas behind this faster. JSON is just a media type that a resource can be rendered as. HTML is another media type for the same resource. Which is better? Neither, necessarily, it depends on the client application. But if you are primarily using JSON to drive updates to custom client code to push to HTML, well, that should give you something to think about.
- dragonwriter 6y ago> then we went full SPA Rails never did, and even actual SPA frameworks (e.g., React) have had SSR support/versions for quite a while. Basecamp introducing yet another iteration of front-end-JS dependent mostly-SSR for Rails isn't a pendulum swinging anywhere.
- dmos62 6y agoThis doesn't apply to all tech. Web just doesn't have a good solution because it's so complex. You'll always be making compromises. Some compromises are trendier than others at any given time. IMO, simple tech you don't have to think about, it's usage doesn't have "pendulum" effects. You forget it's there.