See the entire conversation

I have to say starting new web projects on open source technologies in 2021 is no fun. The amount of complexity that is thrown your way left and right is absolutely mind-boggling and it's completely unclear which tech is going to stick around for more than 4 years.
76 replies and sub-replies as of Nov 21 2021

Start simple, use c++
So far JQuery stood the test of time, still works and does 80%-90% of the job. Some stuff is a bit harder to get done but I take messing with JQuery (lots of docs / examples) over fiddling with npm any day of the week.
jQuery is one big XSS exploit.
I've personally found React + Flask to be very enjoyable, but I have you to thank for that!
That's why I just make static websites with plain HTML, CSS, and minimal JS. If I'm feeling fancy, I use plain SCSS and vanilla TS instead.
Lately I am having a lot of fun with Clojure (Script), Datalog based data stores, and a bit of React (wrapped by Rum, but Reagenti+Reframe are cool too)
Hi Armin, you could try things like @htmx_org or @Alpine_JS They are minimal libraries that have simplified a lot on front end
I disagree with that. It is true if you jump to the js framework bandwagon. If however you just use Django sprinkled with just a tiny jquery you'll be really happy and positive that everything is going to work and be supported 10 years later; like you also were 10 years earlier!
Elixir Phoenix with live view. 💯
It’s true. The flipside is that web is a platform with incredible compatibility across device sizes and versions and a gigantic user base who can use your software by just entering its name in their browser.
Elixir Phoenix (w/ LiveView) feels like a breath of fresh air in a world of complex SPA frameworks. Batteries included, and plays nice with Alpine (js) / Tailwind (css) if needed.
IMy suggestions: If you wanna go light on JS and configuration, go @astrodotbuild, and if you want to use python use @htmx_org
Both are too new to make any assumption about next 4 years
I think it's fair to say that really good things stick around. I feel everyone who was using react in the beginning knew that this is too good to not stay. Same is true with svelte right now for example.
Many of them are like programmers’ version of short videos. They are not here to solve problems, but to create a following, build a fan base, feel good about it, and maybe make a profit. Nothing wrong with that though.
I'm just glad I can still write a CGI script.
I generate HTML3.2 with bash. Of course , absolutely none of it is complex, mostly menus for the operators. I only started with Linux a few years ago (mainframe guy) but it's a lot of fun. Don't know how I ever lived without regular expressions.
i would love to see a sample of this!
Lots and lots of echos. Ugly is an understatement. Our linux guy quit, and left me 30 000+ lines of undocumented bash scripts. I am self taught, and picked up lots of bad habits.
I definitely find it confusing
It's gonna be more confusing as days to come. This is where experience plays a big role.
I never felt the need to keep up with the JS/CSS side. I prefer experimenting with server side candy as it lines up more to my pace...or maybe I'm just getting old 🤷🏽
Self imposed complexity, sadly. We all believe to be building the next ginormous web application that needs careful planning and scalability. I’ve been having a great time (and delivering results) with technology from 2010. A lot of that is thanks to you.
I tried a few newish web frameworks over the last few months, and eventually stuck with Flask, at least for the time being (I admit I'm still on the fence). Reasons: 1) Newish frameworks are often geared towards RESTish microservices and/or SPAs. Not my own focus [1/n]
2) Flask has baked-in support for server-side templating. Jinja is not perfect, IMHO, but robust and well-supported by third-party tools. If anything, I'd like better support for server-side components. And also a better story for integration with client-side tools. [2/n]
3) It's natural to use Flask with SQLAlchemy. [3/n]
4) The Werzeug debugger and the debug toolbar :) [4/4]
Vanilla React is probably one of the few major web frameworks rn that will be supported long into the future.
Do you mean frontend or backend (or both)?
I have similar feelings on both sides. Frontend with all the JS, backend with k8s and competing ways to write microservices.
my react js projects from 7 years ago still run fine
Same and React has been good about keeping things backwards compatible. Can’t say the same for other projects though. Most of the time I spend is my own fault because I want to use cool new stuff.
For what it's worth, I'm using essentially the same workflow that I've used for a decade (both backend and frontend) and gleefully ignore the trends — which keeps me productive and avoids tool churn. Plenty of innovative work is still possible with established tools.
yeah I'm on this team, I like building more than being forced to learn more
ofc the pain point is the lack of support for newer means for older architectures
That's what I am doing. However it's pretty obvious that that type of development is moving farther and farther away from what a "modern" stack looks like.
If you already know how to do something, and you're really good at it, wouldn't it make sense to keep doing it that way? I'm not saying "don't learn new stuff." I'm saying learn new stuff, but if you determine it's actually worse than the old way, by all means use the old way.
Adrian, please consider making a vanilla JS course one day; I'm so blown away by @soundslice.
Thanks very much. Alas I don't think that'll happen any time soon — my plate is full with Soundslice stuff! I wish such a course existed, though, so I could point people to it.
Understandable, and duly! I haven't looked deeply into it, but there are @ChrisFerdinandi's materials. 🤷‍♂️
ES6 class would live forever and in both backend and frontend, so using that is not as hard as you imply. Using frameworks like react for that, I agree with you. For the record I just create ES6 code because of this and testing.(Unit, integration and functional).
Rails. Stick with Rails.
Most of it is totally unnecessary, too. Look at what's been around for 20 years: HTML and CSS. Skip the JS. Pick a server-side framework you can be productive with and do HTML templates like we did in the 90s. If you're feeling fancy use Bootstrap's CSS. Say no to complexity.
I felt the same way after a few years of no web projects after being one of the early CGI devs in the mid 1990s. But Flask has given me enough to Get Stuff Done and solve users’ problems. I thank you from the bottom of my heart for that.
Even if it sticks around you have to port from angelbread v3 to v16 and everything is broken anyway
For the moment in my learning process I stick with MERN : MongoDB, ExpressJS, React, and Node. I believe simplicity is the key and mastery of few tools is the wayforward.
Ruby on Rails is still pretty good
absolutely
No one is forcing you to use the latest buzzword techs. Sometimes, you need to take a step back, and realize that the jackhammer and impact drill are overkill, and what you really need is a basic mallet, and a screwdriver. I still use Apache's Server Side Includes.
Still going to have Apache2 (or NGINX if I'm serious), still can type raw HTML using vi, and ok, CGI was never great, but it probably still works?
Some of the frameworks are over half a decade old and still going strong, so pick those if forward compatibility is the goal.
it doesn't have to be this way
And you cannot change a version. Once you have setup your project you are stuck with that version. No way to update without breaking everything.
On the back end: no, you don't need or want microservices. Still think you do need them? No, you don't.
I built howmuchissatoshinakamotoworth.com using a cloud function pushing out HTML. Old school and kinda modern at the same time.
I think it's a thing of choice. You can choose to keep things simple or just go the complex route. For Web development the basic technology of HTML, CSS, JS (only when absolutely necessary) and any server-side language still works anytime anyday.
I recommend C. Been around for more than 50 years now, I think you can bet on it.
You can absolutely do it
Yeah. You can. It’s goofy as fuck. But yeah.
You're unfortunately correct. Lots of great ideas with no coherent standards but the ones that come from the most popular libraries. Organically this is good. But with everyone trying to offer their opinions, it makes the need to write wrappers prevalent.
Complexity is killing software developers
The growing complexity of modern software systems is slowly killing software developers. How can you regain control, without losing out on the best these technologies have to offer?
infoworld.com
I use Lucee (ColdFusion) server-side templates on the back-end, and write my own JS with jQuery on the front. No microservices, no MVC frameworks, no churning nonsense. And my apps work just as well as (if not better than) any k8s/Node/Angular monstrosity I've ever seen.
And no build system either.
You know you still can start a project on Postgres, Django and jQuery, right?
I think it's awesome. I hadn't done any web shit for years, span vue.js up and had a working prototype in a day. Beats hand coding it all in notepad.