coen.bakker

coen.bakker

The state and future of web dev: your vision, wishes and celebrations

Curious to know about your ideas about (1) where web development should be headed to and why, (2) the shortcoming of the current state of web development and (3) what the most important recent developments are.

First 10 of 45 Posts Switch mode

coen.bakker

coen.bakker OP

One thing I have noticed is that the web dev community is very actively creating new technologies (e.g. frameworks and libraries) on the one hand but also many developers are frustrated on the other hand.

I could have given many examples, so this here is a somewhat random pick, but to illustrate the frustration:

Answer on Quora to: Why do many programmers hate web development? by Forrest Barnes https://www.quora.com/Why-do-many-programmers-hate-web-development/answer/Forrest-Barnes-1?ch=15&oid=106440654&share=b1ab3284&srid=hIGOck&target_type=answer.

This by no means necessarily represents all or even a majority of developers, but I wonder what can and will be done to improve the mentioned concerns. Security, cross platform support and dependency on JavaScript, were mentioned, for example.

I’m excited about web dev but I find myself often having to be very careful with what I do and do not put my time into learning and using. What are the must-haves? What are the nice-to-haves. What is just hype. This process does bring me a lot of knowledge, but I do wish there was a bit more of solid ground to stand on. Not even sure what that ‘solid ground’ could be. Maybe better fundamental web standards (browser APIs, e.g.) with great cross browser support? Or maybe tooling that ticks all developers’ boxes, so they can focus on design regardless of the app that needs to be made more: channels, state syncing, offline support, presence, page transitions, performance, etc. The former seems too good to come true, the latter I have not found yet – but from what I understand plenty web devs have eventually found some set of tools they are sufficiently happy with and that they can use for pretty much any design problem.

D4no0

D4no0

I personally hate javascript with passion. For me it is a very poorly designed programming language that outgrew its capabilities long ago.

I hate its garbage ecosystem where 95% of the public libraries are either a few lines of code, spinoff of existing libraries, libraries that try to reinvent the wheel, frameworks that have no place in this ecosystem and don’t get me started on the security issues with all of those libraries, people tried to push this language into everything they do, for no apparent reason.

In addition to this, I hate most of its community, a lot of poor questions and answers tagged this worked for me or try this with pieces of code whacked together in a hurry.

joey_the_snake

joey_the_snake

This happens everywhere and also in disciplines outside of programming. You will always have people not taking the time to learn things properly but still wanting an answer “now!”.

mbski

mbski

I hope the world will turn away from JS and its all packages which make Chrome consuming 99% of resources giving almost nothing in revenge.

coen.bakker

coen.bakker OP

The trend seems the opposite. JavaScript becoming more and more prevalent. I guess partly because it can by used to build servers now also.

maxmannen

maxmannen

Looking forward to see where this will be heading…

dimitarvp

dimitarvp

The fact that it can does not mean that it should, and many JS devs are waking up that reality as well by begrudgingly adoping TypeScript. I say “begrudgingly” because I hear the experience is far from ideal but still provides more visibility on the development process with typing akin to what we have with Dialyzer in the BEAM ecosystem.

People are attracted to being able to “build a service in 15 minutes” and will ignore any and all future issues with that cobbled-together code if it means they can skip a few steps before. I’ve come to accept this is a baseline Homo Sapiens trait: we want the reward now and screw any and all consequences (and they always arrive at one point).

This is very closely matching my long experience as a commercial programmer as well: people just quickly mash something together, and 6 months later they are no longer employed in the company and now it’s somebody else’s problem. I’d boldly claim that 95% of commercial programming everywhere, in all areas, in all languages is like that.

That something is popular and widespread (JS / Python) speaks almost nothing of its quality. It speaks more about the subconscious appeal of the thing. You’d gasp if you heard the insane contractor prices of the Python consultants I knew. They were hired to make a huge codebase workable and extensible by future devs and we’re talking anywhere from 2000 to 3000 EUR a day. Now please tell me how “empowering” JS / Python are. :003:

They “empower” students (or amateur devs) to make the lives of professional programmers much harder down the road. That’s their “power”. :person_shrugging:

derpycoder

derpycoder

New JavaScript frameworks feel like EV motor vehicles to me.

In India, companies are launching EV bikes and scooters, left and right, to get early movers advantage.

However the fact that our climate causes the lithium battery to catch fire, or early to market means build quality of materials and ergonomics take a hit, is overlooked.

It’s like they have skipped all the existing design paradigms, like using Trellis or Twin Down Tubular frame, straight to a cobbled together frame, just because they think they have winning formula by just slapping together a motor onto the wheel and calling it a day.

Tesla cars seem to have the same problem, sure it can drive to you from a parked position, but will it survive a crash in Global NCAP, will it last as long as another vehicle like Japanese Machines.


Expectations:

  1. I want web dev to have tools, that is as precise as Japanese Precision Machining.
  2. I want to be able to build sites that are as durable as Nokia phone.
  3. And something that can outlast our life span, like a Japanese built motorcycle or a Japanese person. :sweat_smile:

What we get!!

New meta framework for every framework. :sweat_smile:

And this gem:

hubertlepicki

hubertlepicki

A lot of hating on JavaScript in this thread, and I partially share the sentiment, but it is not going to change the fact that it’s a runtime available on virtually all devices in people’s pockets, and all PCs/Macs via browsers, allowing for our code to run on these devices without the need to install anything. Just visit a URL and the code runs.

There is also a value of having a single stack, at least doing the rendering on the server and on the client: the same group of web developers are able to work on the “front-end” of the app this way, and it’s often very specialized group of people who understand how the browser works very well, how JS and CSS work but they may not be very into SQL and databases and long running server processes. Also, importantly: the other way around is also true. A lot of hating on browsers/JS comes from not understanding it.

I think the way forward is something like React Server Components, where JS executes on the server, gets fed the initial data, skipping the APIs or not completely (you can just hand over the data from Phoenix), that renders the page, then hands over execution of interactive components to the client seamlessly. I have been playing with Next.js and trying to marry it with Phoenix, and it’s doable. Not full success there yet but it can be done to use it as a “front-end layer” for Phoenix, or, anything else for that matter.

I don’t think we can and will escape JavaScript, even if you look at the fancy LiveView projects they have to use Hooks, and often quite heavy to accomplish their tasks.

wanton7

wanton7

In one my company’s past project we just used TypeScript without NPM to spice up our server rendered pages. I think most JavaScript problems why people actually hate are package management issues and lack of standard libraries. Language has it’s quirks and other languages do as well but when you put TypeScript top of it’s fine and package management etc. isn’t language’s fault.

I think you are correct that it’s very hard to escape JavaScript because wasn’t doesn’t have same level of access to APIs. Also problem I see with WASM is that it will split the ecosystem into multiple languages. It will be harder to find things and I’m 100% sure after dabbling very little bit with Rust that language won’t be the language UI devs will use for WASM. I think it will take at least another 10 years until WASM it’s even a viable alternative with speed it’s going. Plus you would need UI frameworks for WASM language.

Where Next?

Trending in Discussions Top

AstonJ
As the title says, please share what you’ve been up to with Elixir. Whether that’s been learning it, looking into it, making stuff with i...
2977 91561 914
New
byu
@chrismccord : I just saw the Extract AGENTS.md from Phoenix.new into phx.new generator commit to the phoenix project. My initial shotgu...
New
arcanemachine
I was working on an Ecto migration and I needed a timestamp. So, for the nth time, I looked up the different data types for timestamps, a...
New
AstonJ
Just a general thread to post chat/news/info relating to AI/ML stuff that may be relevant for Nx now or in the future. Got anything to sh...
New
type1fool
I just stumbled on a newly redesigned elixir-lang.org. :tada: It looks like @Software_Mansion did the work, and I think it is generally a...
New
juhalehtonen
There has been a thread to discuss the Stack Overflow Developer Survey on this forum every year since 2018, so here’s yet another one for...
New
alexslade
Fly’s CEO posted this recently - Turn And Face The Strange · The Fly Blog It says that Fly is going all-in on sprites, which is a worry ...
New

Other Trending Topics Top

JesseHerrick
Hey, I’m Jesse and I’m the main contributor behind Dexter, a full-featured, lightning-fast Elixir LSP optimized for large codebases. It s...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
Damirados
Hello everyone. After busy few months I am happy to announce v0.1.0 of Emerge & Solve. They are GUI (Emerge) and State management (S...
New
ausimian
Emily is an Elixir library that runs Nx computations on Apple’s MLX. Install it as the default Nx backend and Nx, defn, Axon, Nx.Serving,...
New
akoutmos
@hugobarauna and I (Alex Koutmos) have been hard at work on writing a book on Nerves that takes you from simply blinking LEDs to building...
New
wintermeyer
There are three potential reasons for members of this forum to have a look at https://vutuv.de You are tired or annoyed of LinkedIn. Yo...
New

We're in Beta

About us Mission Statement