This year the conference Polyglot4Dev was focused on technologies that target the Web. Many of the technologies that were shown are not strictly or solely used for Internet Applications. I’ve gathered some personal observations on the state of different Programming Technologies.
PHP is Dead, Long Live PHP
There was no talk about PHP per say, but many of the talks directly or indirectly mensioned it. It is about – the style of writing web content when PHP was young. Before any design architecture was ported to the language, you had to mix together PHP code with HTML. This was then ported to JSP – with Java Code. Coding with C#/ASP.NET – you were able to do it the same way.
20 years has passed and new libraries and frameworks are still doing it. It may be a little bit different, at different moment (code compilation phase), but still. The most modern Front-End frameworks are doing it – ReactJS and Angular.
Run Client Code on the Server
Serveral different technologies are more and more – ported and executed on the Server.
Dart was first TypeScript equivalent and the language for Flutter Framework. Now, you could write Back-end Code, Scripts, etc. This will allow you to share more code with the Client and mobile.
You need to execute React code with Next.js to accomplish Server Side Rendering (the server returning HTML directly) for the purpose of Search Engine Optimization. I’ve written in the past some articles – why you need SEO: https://programtom.com/dev/?s=seo. You could do the same with Angular Universal – for this framework. All the above create some more problems, but, lets now not go in this hole.
A suprise for me and a little bit unknown – why – you could port and execute JavaScript Code within the JVM (GraalVM) and even have access to Java Environment from JavaScript.
Compile 2 Native
More and more – you could compile everything to native. I’ve been trans-compiling for 15 years with Google Web Toolkit. This Framework didn’t catch the developers, but all its ascendents did. Everybody is reinventing the wheel.
What is new today is – every major framework is working toward compiling to Web Assembly (or some back-end executable for the backend code) – to squize all performance possible. The great thing for normal devs like me and you is – all this is done under the hood of the Platforms and Frameworks.
Speed Development
Hot Reload/Refresh and fast application start-up, less memory footprint, faster software – will be essential in 2024 and beyond. They are part of Dart/Flutter, they are available in Blazor and in the other front-end frameworks. Some of them accomplish it – with keeping the state and some with state reset. All this features – give steroids power to developers. The start-up and speed of apps is essential also for production environment – to minimize cloud expenses and increase server responsiveness. It was mensioned – for dart and java back-end frameworks – Dart Shelf and Java Quarkus. This will be a must for any new technology or platform.
What you know is the shortest path
This idea I try to practice myself, and I also heard – on one of the talks. There are ton of alternatives for accomplishing the same thing. One cannot know EVERYTHING. At the end – you need to bring the business logic to people – and not fight – yet another technical, non-business issue of the latest and “greatest” framework.