> Yes, you guessed it, let's go with Electron and CoffeeScript.
> The main tech stack is still CoffeeScript, but we changed the UI framework from React to Riot.js.
> I've installed Babel, Mocha, ESLint, and added libraries via npm.
> I've rewritten my entire code base from CoffeeScript to ES6.
> The introduction of MobX, a state management library, and the introduction of Flow, a type checking system.
> So I rewrote everything in TypeScript, including my own libraries.
> Anyway, I'll be replacing my own components like Button and Toolbar with Material-UI ones.
> It's time to rewrite everything to styled-components.
> It's time to rewrite everything to useXXX.
No wonder why these software projects (personal as well as professional ones) are 6 years late. It may be a good learning experience, but a terribly inefficient way of developing software.
Exactly. Using a boring stack like jQuery would have been already good enough to let them concentrate on solving business problems rather than stack ones
> Using a boring stack like jQuery would have been already good enough to let them concentrate on solving business problems rather than stack ones
One quick look at the UI (https://signal.vercel.app/_next/static/media/screenshot.dc00...) and with the experience of developing bigger stateful UI applications with jQuery (and Backbone.js, and AngularJS, and React, and...), I would wager that if they were using jQuery at this point, they'd be fighting way more than they ended up doing.
I agree with grand-parent though that it seems like an excessive amount of rewrites, don't get me wrong.
12 years ago I released v1.0 of the full stack open source platform for anyone to use to quickly put together pretty much anything on the Web in a standard way, and focus on actually growing it, but I have faced opposition from day 1, on weird bases
First, I was told that the name of my library “conflicts with the excellent Q.js library for promises” and that no one was going to take a look. Well, promises are built into browsers now. But I renamed it to Qbix Platform back then.
Then people told me that it doesn’t use the latest React / Angular / Web Components / Typescript whatever, and looks old. On the PHP side they told me that it looks like ancient code because it’s compatible with PHP 5.2 and told me I must break compatibility.
Then I was told that PHP is a stupid language to build a platform in and I should use Go or Rust if anyone would take it seriously.
Every step of the way, I was citing massively adopted projects like Wordpress, Joomla, Drupal, the number of servers running PHP and my vision for everyone to “just run it” https://qbix.com/ecosystem
But the signal to noise ratio was very high. Some people here on HN started telling me that they didnt want to read that page because they found mentioned a token. But the token is optional and there only for settling micropayments and hosting companies to make money from customers globally. It is solving the payments problem on the web and getting rid of the stupid paywalls. It is solving the problem of monetizing digital content like open source software, journalism etc. Which have corrupted journalism.
In short, it’s been a lonely experience. Many times people are married to the latest fads or taboos and unwilling to even read what you wrote (unless you remove all mention of a token and add the latest framework du jour).
Here it is, if you want it, it’s free and open source btw:
Web devs specifically seem to be especially prone to inheriting biases from more senior devs that they've worked with, to the point that they spout things like "php is terrible and no one should use it" or "jquery is bloated and useless" without actually having used the technology they're rallying against. Or sometimes they'll maybe have messed around with a poorly written legacy application, or they'll go through a tutorial.
I actually partially blame xkcd for people spontaneously getting these kind of trendy opinions. If I had a nickel for every time a junior dev quoted that 99 problems regex comic to my I'd have like... a few bucks.
Things are outdated when they no longer have use do to their age, they aren't outdated just because there's something shinier.
Exactly. The one thing I learned about web dev in 10+ years is, all (or most of) the opinions are wrong.
Where we were in the early 2000s wasn't bad, it was actually pretty slick compared to all the "shiny" we have today.
There will always be problems, but the idea that to solve the problems we should use Yet Another Cool Library/Language is just incorrect. Sometimes its good to refactor/rewrite, but often the rewrite is just as bad (or worse) as the old thing. You should have a very compelling reason to do so (at least for large scale rewrites, removing tech debt is OK).
Some people see a new project as a new opportunity to get to use new tools and processes. They get wrapped up in that more so than in the delivery of the product. Others see a new project as an opportunity to hone existing skills in their current set of tools and processes. The latter group tend to deliver a much higher-quality project on time and budget.
Exactly why I have zero regrets going native on macOS. Yes, Xcode isn't the best to put it mildly and SwiftUI is still maturing.. but I am so glad I don't have to deal with the modern web stack. Daily smiles instead of facepalms, most of the time!
No one "has to" rewrite just because they're building on the web. Coffeescript was a bad bet but other than that all of the technologies listed there would have been fine for many years to come without a rewrite.
> The main tech stack is still CoffeeScript, but we changed the UI framework from React to Riot.js.
> I've installed Babel, Mocha, ESLint, and added libraries via npm.
> I've rewritten my entire code base from CoffeeScript to ES6.
> The introduction of MobX, a state management library, and the introduction of Flow, a type checking system.
> So I rewrote everything in TypeScript, including my own libraries.
> Anyway, I'll be replacing my own components like Button and Toolbar with Material-UI ones.
> It's time to rewrite everything to styled-components.
> It's time to rewrite everything to useXXX.
No wonder why these software projects (personal as well as professional ones) are 6 years late. It may be a good learning experience, but a terribly inefficient way of developing software.