It's time for a culling anyway, the videos, the stupid clickbaits, the malware infested ad servers, the hysteria around adblockers, the secretly sponsored articles, the popup layers, the sluggish megabyte spas, the cpu eater animations, the parallax scroller full hd uncompressed images... let them whither away.
You have to spend half an hour clicking through your list of "friends" (or fans or whatever these relationships are called these days) or write fifteen lines of javascript to click on the dom elements, but then that's it. Clean wall. Silence.
Every man is an island in the world of microservices.
Look, my microservice is clean and nice and has a 100% test coverage, I couldn't care less if you can't communicate with it from yours. Solve it somehow.
Now get off my lawn and let me rewrite the whole thing in scala.
We call it Hype Driven Development which is just as bad as Marketing Driven Development... and yes, monorepos, don't even mention it, good heavens.
Another hype that keeps coming back is the magic of trunk based development (with a random po reading some flashy article about feature switches as the wonderous solution for a-b testing AND faster development).
Nowdays I even consider putting react and angular into this pack, since, you know, "if it's good enough for facebook/google then it must be really good" - anyone ever tried to increase performance for a react site (and realizing that precompiling templates was not exactly a bad idea years ago) or hitting the wall with inline async helpers and rx magic might know my voes. But then again, give me a fast and reliable server rendered site over an unsteable trainwreck spa anytime and I will be happy.
>anyone ever tried to increase performance for a react site (and realizing that precompiling templates was not exactly a bad idea years ago)
I'm not sure I'm parsing this sentence correctly. Are you saying that precompiling templates and rehydrating them doesn't cut it anymore? If so, why not? I haven't used React much, but I've done some work in a framework with similar principles and I felt like proper precompiling, with basic HTML fallbacks cooked in where possible, provided all the performance of server rendered sites with the added bells and whistles of SPAs (including that most subsequent requests can load quicker than a full rerender, provided JS is present).
Afaik the render part is purely dynamic and the advocated style of creating closures with fat arrows to avoid scope binding (which is essentially the same if done in the render section) is quite expensive in terms of performance.
React and fiber tries to be smart about rendering with tree section diffing, but unless you use immutable, it's "not enough" to rely on - without immutable even in a smaller redux app there is a good chance that you have unintentional rerenderings triggered, which while may not create new tree branch renderings, still need to be evaluated.
This of course applies to the client, I don't have experience with nextjs or similar tools.
The issue with closures is easily solved, just declare it as class property (or a const variable outside the component if you're using SFC) and then use it instead of declaring it inside your render JSX. Any React-aware linter would not let you declare closures in JSX.
Can you recommend a tsx-friendly linter and its setting? The sites I worked with never followed this rule and whenever I tried to bring it up, it was too late to refactor things (at least from a roadmap/burndown po/sm perspective)
After using bugzilla, mantis, tfs, jira, gitlab and github, I honestly think that jira is not half bad. In fact I prefer it over gitlab, but I'm alone with this view on the team.
The hatred towards jira is on par with desktop java.
Whenever Microsoft tried to do web frontend it was "not really good" (it was borderline catastrophic). Asp spaghetti, aspx components, viewstate handling, razor templates etc.
When I worked with .net guys (which happened quite often) 9 out of 10 had been like wow, I don't have to touch frontend, because MS will solve that for me "somehow", plus the frontend is messy and crap and javascript is a terrible language and C# rocks (but F# even rocks more) and I'm not going to learn all this sillyness (because I want to reuse my skills).
At least with new-angular they feel a bit better and they can praise typescript, because typescript is "just like C#". Let's just hope noone pulls an angular-one-to-two style rewrite/clusterfuck...
Clojurescript is quite nice in avoiding the whole webpack/npm/grunt/gulp/... build and dependency tooling evolution nonsense. There are a few other compile-to-javascript environments that are as good by now I suspect if you don't like parens as much.
However, I agree that server-side rendering is much simpler in all of the cases where desktop app-like experience isn't required.
I have a very similar background and hate the idea of having a bunch of dependencies too - but I found my Vue pwa 'just works' even with 1007 folders in my node_modules directory. We'll see if it stands the test of time.
I started professional web dev doing ASP.NET around the time of the ASP 2 to 4 transition. After looking at a Vue/Typescript/Webpack template that had 400 dependencies, give me User Components and ViewState any day.
I was doing some work recently on an old asp.net app, and rather than rocking the boat, I just updated it with the existing webform / viewstate structure... which I haven't touched for years. Was weirdly smooth and easy to do things. There is some disadvantages to the approach... but there is definitely something kind of nice about the approach.
It's so good that they brought it back as a first-class thing, see the newer Razor Pages stuff. I'd definitely use that for any kind of quick little internal applications, there's so much less ceremony involved.
WebForms/UpdatePanel was a half-baked solution to pick-up and drop-in .NET developers from WinForms to the web, while Blazor seems to do the same thing for server-side and client-side developers.
Microsoft eventually created MVC, which embraced the nature of the web (HTTP verbs, no viewstate, etc). I would urge developers to just dump into the deep end and use tech native to the browser. I know wasm is now native, but Blazor is running a VM in it that wasn't designed for it.
C# developers might find some comfort in TypeScript. Maybe Angular?
That's interesting. Been at their Hungarian office for a job interview (Hortonworks, a year or so ago), it was weird though. Haven't tried Cloudera, but they too have an office at Budapest, I wonder how it will effect their workforce in the region.
All software is terrible and not all bugs will be (or can be) ironed out.
It really amazes me how people are always forming ideological groups - C vitamin is the best cure for everything. C vitamin is useless, just forget it. iOS has memory leaks. No, you are holding it wrong, iOS 12 is good.
And here at least we are a techy bunch, but outside the tech circle, how people treat software is just astonishing. Like the guy who made photographs sitting on the passenger seat, because his Tesla is a full autonomous car and it is perfectly capable of driving by itself.
What really helped me is psychodrama (not sure if that's how it is called elsewhere) and non violent communication (courses available internationally I'm sure). I still tend to be cynical and offensive at times, but it happens less often.
It's time for a culling anyway, the videos, the stupid clickbaits, the malware infested ad servers, the hysteria around adblockers, the secretly sponsored articles, the popup layers, the sluggish megabyte spas, the cpu eater animations, the parallax scroller full hd uncompressed images... let them whither away.