The Evolution of Internet
Tags: internetprogramming, software, llvm
Published: 2019-12-10 10:47:30

---
title: The Evolution of Internet
published: true
description: Where do you think - The Web is going ?
tags: internet programming, software, llvm 
---

We live in a time between the old and the new. The Internet started with clumsy user interfaces that started showing documents that were interconnected with links. Some improvements were made with CSS to make it look better. JavaScript made it possible to have interactivity. But the last 10 years the war between the big players shifted from the purely tech are to lock of the users in their ecosystems in a little bit higher level - user experiences, platforms, services, brands. No more fights how AJAX will be implemented.

Probably - The majority of sites today are legacy - coded in the old fashion way where AJAX refreshes the html DOM directly. Having a different Desktop Version, Mobile Version, Native Apps for both big (or even more) mobile platforms is overkill which will last because it takes time,  money and engineering effort to redo it all the new way.

If you package old site today (even if it is responsive thanks to Bootstrap or some other framework) into a PWA (adding manifest, Service Worker, Https and some little more code), it will still not have the feel of an app. Having a global "No Internet Connection" message or page for all actions that require internet is very minimal and is not the best user experience. Maybe it will be OK for enterprise apps - where the clients are other business and in its majority all are connected, but it will not make happy normal people on the go.


The Development - not only the Web is going closer to native. Swift is LLVM-based. Kotlin have some parts LLVM-ed or it trans-compiles to Java (or the version that is in Android), the Web has WebAssembly. It is all a compiler infrastructure of some sort so all the code that runs on the client is executed with minimal overhead - parsing, interpreting, compiling just in time before execution or whatever. It is strange and inexplicable to me why all the frameworks that run in the browser today are going to JavaScript and not to Wasm. Angular is porting Split-Loading, Flutter renders in canvas and html+css+js, because of the legacy and the experience Google has with dart web, almost all JSes try to have virtual DOM and do mappings and bindings to the legacy HTML way of doing things. 

Maybe it is just - "This is the way". It all takes time to move, support the legacy until it becomes a blocker and the new is inevitable. 
  
Once the new generation takes place - everything will become apps - just with a domain name as an entry point. The native apps will probably not disappear completely for security reasons and cases, and because of corporation locks and stubbornness, but in the most part... 

I'm writing this because, although my philosophical point of view on things is making me go away from technical, in my core I am still individual with software development mindset. If I don't shift to something new and continue to be a programmer (probably not only I should do this), I should realize what will last, what knowledge will have the longest life and practical use, so I don't waste too much time on frameworks, technologies and libraries that are short lived and don't bring that much on the table.