Move over JavaScript: Back-end languages are coming to the front-end:
In the early days of networked computing, mainframes did all the heavy lifting: users connected to massive machines with video terminals that could do little more than send and receive text. Then in the 1970s, personal computers came along and made it possible to do serious computing on the client-side as servers handled tasks like authentication and storage in many networks. The rise of the internet in the 1990s swung the pendulum back to the server, with web browsers taking on a role not unlike terminals in the mainframe era.
The client-side made a come back over the past decade as developers built "single-page applications" (SPAs) with JavaScript. But a new crop of tools is sending the pendulum swinging back towards the server.
At the vanguard of these tools is Phoenix, a framework for the programming language Elixir, and a feature called LiveView. Using LiveView and a bit of JavaScript, developers can create browser-based interfaces for real-time applications like chat rooms or Twitter-style status updates. All UI elements are rendered on the server first and sent to the browser, ready-to-display. The only JavaScript required is a small amount of code that opens a WebSockets connection that handles sending input from the browser and receiving refreshed HTML/CSS from the server.
Phoenix isn't the first platform to offer a way for back-end developers to create front-end interfaces—Microsoft's ASP.NET Web Forms for Microsoft .NET existed back in 2002—but it did inspire many new tools. Caldara for Node.js, Livewire for the PHP framework Laravel, and StimulusReflex for Ruby on Rails, to name a few. Microsoft, meanwhile, released a new .NET feature called Blazor Server that modernizes the old Web Forms idea.
"My goal is not to get rid of single-page applications, but to obviate them for a large class of applications," Phoenix creator Chris McCord says.
There is a lot more in the full article.
(Score: 0) by Anonymous Coward on Thursday February 10 2022, @06:03PM
Then there's software like Crashplan that deliberately breaks compatibility on unsupported OSes rather than just not support them. There's really no reason why the GUI part of the program needs to be the part that doesn't work across platforms.