Why is chrome so heavy? The all to famous question and meme. Well I have the answer. See chrome and other web browsers are more of operating systems than browsers. Lets look at it from this perspective, websites these days are being referred to as web apps, why? Well, maybe because they are more of like apps. Is Gmail a website or a web app? What about github? I'll do you one better, what about figma or gravit designer? The days where web developers were "looked down on" by the developer community is long gone. Web developers(backend and frontend) are building some seriously complex systems.
Let's do a quick experiment.Open Figma If you are on a chromium based browser press Shift + Esc
to open your browser's task and check how much memory and cpu Figma is using. Here is mine 👇
Figma is using 300+ mb of ram(currently, I just rechecked). More than the browser itself. What about YouTube?
What's the point? The point is that website are pretty heavy these days. They are apps and the browser is the operating system managing them. We have browsers suspending tabs after some idle time to conserve memory, well that there is memory management, a concept in Operating Systems. We can go all in in mapping operating system functions to features in modern web browsers but I'll stop at that one.
You can perform pretty much 99% of your tasks right on your browser. You can code (stakblitz, code pen, codesandbox),design (figma, gravit designer, vectr), video editing(invideo,clipchamp,veed.io), photo editing (photopea, pxlr, fotor), zip and compress files, heck even gaming with google stadia and xbox game pass. This is why this concept came to me. I can 100% live in the browser. Am guessing this realization was also the fuel for building chrome os. And while we are on that, lets talk about google.
Google and Microsft are hell-bent on making the browser an os. Checkout the fugu project that is on a course of availing all native apis (file system access, bluetooth and so on) to the browser. Check this out 👇
This is a screeshot from the whatpwacando website that lists all of the features progress web apps can do. This list is just unbelievable. The gap between web apps and native is quickly getting filled. And in the process of bridging this gap, the browser operating systems are slowly being built.
Am not sure whether to support this progression or to oppose it because it has benefits and drawbacks. But whatever my or your stance is on this it wont stop this process. With each passing day we get closer to the "web winning", in the "virtual war" between web and native. What do you think.
Top comments (13)
Not exactly.
As a blog post discussed there are two extremes:
So when it comes to web-based solutions there are a whole range of approaches between "document" and "application" - and in many circumstances a full-on application is simply overkill, especially considering the trade-offs.
Gmail has a standard (more app-like) view and a basic HTML (document-like) view.
Based on their Tech Stack they are grounded in the document web (it's a file repository after all) but heavily augment that to be more app-like (sometimes with mixed results).
From what I know it's pretty close to the "application web" extreme. But that comes at a cost.
Understanding the Web with Jeremy Keith:
"But you’re missing on the very reason why you’d want to put something on the web as opposed to just making it for one platform. It’s to get that reach. If you’re not planning for that reach, I wonder why do it on the web?"
Apps like figma require:
The Fallacies of Distributed Computing (Applied to Front-End Performance)
Failure to meet any one of the minimum requirements reduces the reach of the app from the potential reach of the (global) web. Of course this is a non-issue for internal apps where the clients and connections are under full control of the organization.
At one point in time Google was working on V8-lite for low-memory mobile devices - and these days Chrome Lite mode is a thing. So "lean browsing" and apps may not mix.
From what I remember the quotes were something like "we're not developing a brochure site, we're building an app". So it's entirely possible that sentiments like that helped to fuel the rush to "web apps" simply to feel more relevant.
More recently Transitional Apps have become a talking point.
Understanding Transitional JavaScript Apps
Ryan Carniato for This is Learning ・ Nov 12 '21 ・ 6 min read
… the point being there's more to the web (and browsers) than just web apps.
As long as "ideal circumstances" prevail - yes. But it is surprising how easily circumstances can be less than ideal.
The web will never "out-native" native - native has direct access to the actual OS without the overhead of a browser and app bloat isn't nearly as heavily penalized as it is on the web.
Some have argued that "web emulating native" is in fact the losing move that wasted time that could have been spent exploring alternate modes of interaction where the web can improve upon native.
This is actually an interesting take. Simple yet I do not know why it did not occur to me.
Being a new full stack dev , and new to dev.to, never thought web devs were looking downed on. But web devs are making desktop apps (electron) using many frameworks. And with the arrival of web assembly , things may be get altered. And my question is, what kind of developer , the dev community look up to always ? the c , c++, rust coder ?
I don't think there is any reality to any group generally being "looked down on", but there is a variety of elitism and gatekeeping within different areas of the field.
There's no single direction this sentiment flows. There are certain broader stigmas here and there, but largely it's hard to nail it down without over-simplifying, IMO.
Thank you ben. I think this comment captures the meaning I wanted when I wrote that part hence the use of quotation marks.
Welcome Arvind, a programmer who is a person too, always gets my vote, an honest and kind hearted soul who brings you up to Thier level is worth more than any skill in any language.
It took me years to realise this, be a good person, don't stop learning but do focus on a few of your strengths, take them as far as you can and never forget to say, I don't know but I can find out who does
Not a bad observation, but I think it's more like the Rise of the Polymorphic Browser. I run Linux and have need of running certain Microsoft applications, like Visio. There is no way on Earth I'll ever run Visio on Linux, but it runs just fine in a browser. Many cloud offerings have browser-only applications, which as you say are rich and varied in implementation.
That said, I think I like my OS on my OS. Not everything needs to be in a browser frame, and indeed, is often more usable outside of it. You remind me a lot of the Emacs users of old, who often proclaimed that Emacs was more of an operating system than an editor. There were many people who loved Emacs. I was always a vi guy though 😅
Wait, do you have a link where they would explain why they thought this?
Unix Culture
("Lisp Machine" is a generic term. A Lisp Machine is a computer whose operating system and applications are written in Lisp. Example: Genera)
See also
While browsers aren't implemented in JavaScript one can argue that JavaScript was specifically developed to script page specific automation of the browser runtime and that it was at least in part motivated by doing Scheme in the browser (Is Scheme Lisp).
Also note that GNU uses Guile (based on Scheme) as its "extension language platform" (perhaps inspired by "emacs lisp").
I'm afraid you'll just have to trust me on this one. It's ancient history now.
The best part about this development is the accessibility provided by webassembly (WASM), allowing systems programmers to join the web ecosystem. WASM functions as a good compilation target for major apps like games and CAD software allowing for near native performance across the web.
I fully agree that we can use the browser as a programming platform today. There is a bunch of api´s that form a nice ecosystem. If you take - as an example - a close look to the HTML5-canvas, this is a phantastic graphic tool, you hardly find on a local machine.
If you decide to go with Javascript, the browser platforms are pretty similar today, but far from being perfect. Your should check out caniuse.com/ to see, if a feature is widely supported.