asyncrosaurus

joined 2 years ago
[–] asyncrosaurus@programming.dev 0 points 2 years ago (1 children)

Javascript.

Because my exposure to Typescript is wading through over-engineered and bloated Angular front ends that could easily (and should) be thrown out and re-written in html/ js.

But also because I exclusively write simple shit that doesn't have a build step for the front end, because 90% of the stuff I make gains no benefit from needlessly overly complex front ends.

[–] asyncrosaurus@programming.dev 10 points 2 years ago* (last edited 2 years ago) (4 children)

I'd use what I've been experimenting with exclusively on personal projects: htmx, AlpineJs and Razor Pages on PostgreSQL AKA the HARP stack. Obviously, a hilarious acronym was needed.

Which might sound esoteric and hipster, but I'd contend it's pretty close to how we were building websites for decades before the cult of the SPA took over. For those not in the know, HARP is built with no fe frameworks, everything is rendered server side and html is swapped in the DOM on the fly. Htmx is a very tiny js library that makes backend requests to the server, and renders the returned htmx within the current page. AlpineJs is a client-side js library that acts like a modernized and simplified jQuery. Razor Pages is part of the ASP.NET web framework that runs on .Net, and produces html from Razor templates coded with C#. My professional work is on SQL Server, but I like PostgreSQL as the runner up because I'm not paying mssql out of my own pocket.

I'm wouldn't be concerned with hiring since I'd mostly just need C# developers with some designers. .Net developers are a dime a dozen, and many are seasoned vets with 15+ years experience building with .Net. It's easy to build a career with just C#/.net/asp.net so few of these devs are running around flipping frameworks every few hype cycles.

But I might have just shown my age and bias.

[–] asyncrosaurus@programming.dev 2 points 2 years ago (1 children)

Counter hot take, I do actually like Blazor but it has limitations due to how immature web assembly still is. It also does not solve the problem of being a big complex platform that isn't needed for small simple apps. Of the half dozen projects I've written in Blazor, I'd personally re-write 3 or so in just Razor Pages with Htmx.

[–] asyncrosaurus@programming.dev 3 points 2 years ago (1 children)

What do you mean going to? Internet Explorer supported VBscript, which was a "competitor" to Javascript. Though being locked to ie was a hindrance to adoption. That, and it was based on vb.

Plus, with server side rendering you also have to recompute the HTML for the entire site, which often means re-computing a whole bunch of non-trivial queries as well.

This is actually why I really like HTMX, you load a page once, then make AJAX requests that return html which you can use to replace or add to the DOM. It provides an interactive front end where the backend provides full rendered html partials. Simplifies the entire application by keeping logic and state only on the server, which means you never have to worry about synchronizing front-end and backed state.

[–] asyncrosaurus@programming.dev 62 points 2 years ago (13 children)

SPAs are mostly garbage, and the internet has been irreparably damaged by lazy devs chasing trends just to building simple sites with overly complicated fe frameworks.

90% of the internet actually should just be rendered server side with a bit of js for interactivity. JQuery was fine at the time, Javascript is better now and Alpinejs is actually awesome. Nowadays, REST w/HTMX and HATEOAS is the most productive, painless and enjoyable web development can get. Minimal dependencies, tiny file sizes, fast and simple.

Unless your web site needs to work offline (it probably doesn't), or it has to manage client state for dozen/hundreds of data points (e.g. Google Maps), you don't need a SPA. If your site only needs to track minimal state, just use a good SSR web framework (Rails, asp.net, Django, whatever).

[–] asyncrosaurus@programming.dev 7 points 2 years ago (4 children)

This is the correct comment.

Martin Fowler called them sociable tests. The only way to properly test your units' behavior is to pull in their dependencies. Isolated tests are useless, brittle and slow to write.

[–] asyncrosaurus@programming.dev 0 points 2 years ago (2 children)

Oh wow, aren't you a cranky bitch. I didn't say you "should " do anything, I linked a tool I've constantly been told good things about.

I bet you’re the type to follow the docker install instructions*, arent you?

You know what they say about when you assume, you turn out to be an ignorant dipshit.

Don’t use ~~exceptions in~~ C++ anymore

~~/s~~

It's a form of Black-Box Testing, essentially you want to validate expected behavior. Implementation can change, but your outcome should remain the same.

This is a big target for Test Driven Development, since your first step is to write the test with the expected outcome, then you write the most basic implementation, and when you can verify the behavior, then you are free to re-factor to improve implementation knowing your test will tell you if the behavior changes with each internal change.

[–] asyncrosaurus@programming.dev 14 points 2 years ago* (last edited 2 years ago)

Update: https://github.com/moq/moq/issues/1374#issuecomment-1671166436

Dev is still defending his action and apparently believes he's done nothing wrong. Harvesting developers email and extorting them by sabotaging builds is no big deal.

Absolute clown. OSS needs a better solution to funding devs hard work, but it is not a vehicle for an egomaniac to get rich.

I'm still pro-not mocking. Maybe this is a good opportunity to stop using so many mocks in our tests, and write validation on the actual behavior of your code.

view more: ‹ prev next ›