25 ms·
So the web browser is pretty much a mini operating system. Firefox and Chromium seriously feel like they have the longest compile time out of any package in Gen
by djsumdog 9y ago
So the web browser is pretty much a mini operating system. Firefox and Chromium seriously feel like they have the longest compile time out of any package in Gentoo, except maybe Libreoffice. It has tons of embedded packages that it doesn't pull from the system/native (jpeg and png decoders and such).
So with a lot of these neat things where we compile stuff or run a Linux kernel in the browser, we've pretty much come full circle? It's like running cygwin in wine or an NES emulator inside of Windows 95 VM.
- ww520 9y agoI guess so far they are just a VM. Still needs to port Linux or some OS to WebAssembly to make it whole. Having the C++ compiler working is a very good start.
- solarkraft 9y agoIt'll happen. Webassembly as a Linux target architecture. It's a solution without a problem, but maybe web devs will find a way to use this to make their development easier.
- williamstein 9y agoNot WebAssembly but still fully Linux in browser- https://bellard.org/jslinux/ https://bellard.org/jslinux/
- ehnto 9y agoI have been thinking about why we have ended up here, and why not just native apps. The obvious answer is that it makes applications portable, which is great. The other key component I think is delivery. You don't ever install anything, it just exists when you ask for it. That is something native applications have never done, and not even something like JVM has done even though it addresses portability too. It is also nice that it is seamless with the browsing experience, but I have to wonder if it hasn't just turned out that the typical browser interface is a better interface for computing than most popular OS have been? As the OS and browsers start to see parity, are there lessons from browsers that we can integrate into the OS?
- wlesieutre 9y agoIt's definitely far behind where web apps are for instant no-install access, but Android has their "Instant Apps" feature providing similar capability https://techcrunch.com/2017/10/19/google-play-adds-android-instant-apps-via-a-try-it-now-button-among-other-changes/ https://techcrunch.com/2017/10/19/google-play-adds-android-i... Disclaimer: I don't have an android phone anymore and I have no idea how available/useful these actually are
- solarkraft 9y agoExtremely far behind schedule, but for the apps it does work for it's not even that bad. The android app architecture seems to require some heavy restructuring to do this though, so I don't think it will be attractive for developers. The portability problem of course holds this back from the insane adoption the web has gotten as well. Basically it's too little, way too late.
- mathgenius 9y agoAnd things like dropbox allow the OS to go in the other direction, towards being distributed.
- sillysaurus3 9y agoMost users spend >80% of their time in the browser. It's probably that simple. If you have a thing and you need users, are you really going to deliver it as a Qt app? Unless you're bitcoin, it's hard to think of a case. I'd say "or a game," but many are webapps. And at this point some of the hollywood-grade games might figure out a way to be coming to browsers soon. Unreal did it.
- solarkraft 9y agoIt is that simple. And a bummer because I think HTML is a pain for things that aren't documents. And JS UI frameworks feel like hacks too. Unity already supports the web, but I don't think that'll matter for AAA games. People who buy computers specifically to play them will care about the slight performance hit and not want to keep the games they bought and spend a lot of time with as bookmarks to web pages. Non-performance intensive tools, even large ones, have already moved to the web. This will likely continue because there is not other platform delivering its level of portability and ease of delivery. It's a bummer because the web just kind of sucks. It was made for documents, damn it. Something like a java browser could've succeeded as jars are already very portable. This could've worked pretty well for small and large tools alike. But since the HTML stack is already widely adopted I guess we'll have to make the pain go away somehow. At least webassembly solves the problem computationally intensive tasks. The UI component is still quite a mess, but that's getting better too. I just find it annoying that they have to call everything Web-(what it traditionally was). It's basically the new reality, being used on non-web platforms as well as on the web.
- MR4D 9y agoJust need to be able to run Chrome/Firefox directly in a Docker instance, and we’d be there. But seriously, maybe that’s the next step in this crazy ride we’re all on.
- nnutter 9y agohttps://github.com/jessfraz/dockerfiles/blob/master/chrome/stable/Dockerfile https://github.com/jessfraz/dockerfiles/blob/master/chrome/s... https://github.com/jessfraz/dockerfiles/blob/master/firefox/Dockerfile https://github.com/jessfraz/dockerfiles/blob/master/firefox/...
- cm2187 9y agoWe may even need something stronger than docker. There are various project to use virtualization technology to sandbox a browser session at the hardware level. My guess is that ultimately this is the future of web browser.
- j_s 9y agoOne commercially supported Windows [browser] application virtualization (-ish, pretty much Docker-grade security for end users) option, $35 for personal use: https://www.sandboxie.com https://www.sandboxie.com Most similar tools are marketed as antivirus products, and are only available via enterprise licensing and/or SaaS reporting. An example of a hardware virtualization based option: https://www.bromium.com/platform/our-technology.html https://www.bromium.com/platform/our-technology.html
- greenhouse_gas 9y agoOr firejail
- frik 9y agoGreat now we need an Anti-Virus software for the browser, to avoid getting infected by iloveyou.net and co. Screw you WebAss(m), stupid idea of greedy fellows, it's the worst thing since Java applet and Flash.
- qwerty456127 9y agoObviously, where we are going is just exposing all the system resources (like file systems, GPUs, USB ports etc) to JavaScript/wasm APIs and replacing the whole GUI stack (X/whatevr, WM, etc) with just a browser. A browser is just a cross-OS compatibility layer now (and this is quite cool as you can now run considerably exotic OSes like Haiku or Solaris and use almost all the stuff other reople do). I have also heard ChromeOS is probably going to replace Android at some point.
- signal11 9y agoIt's been a long time coming, of course, but when I saw vim[1] ported to Javascript it really hit home. There's no denying it, your web browser is now an OS. Not a mini OS, an actual honest to goodness OS multiple vendors add features to on a 6 week release cadence. [1] https://github.com/coolwanglu/vim.js/ https://github.com/coolwanglu/vim.js/
- akerro 9y ago> we've pretty much come full circle? If want to play old classic games like Heroes3, AoE2, Diablo 2 on Windows you have to install it using WINE.
- dekhn 9y agoYes. I hope more people understand this: the browser is a Inner Platform- it's just a portability layer over OS, so that app developers can deliver the same thing to multiple OSes, without making the app portable. These days, you can compile a Qt app with a web view with a single source for all three major platforms.
- pjmlp 9y agoYou can have that with any language that has a rich standard library (batteries included) C and C++ are the exception as they were tied to nothing more that a basic POSIX like compatibility.
- mannykannot 9y ago> So the web browser is pretty much a mini operating system. Was this not the tacit reason for Microsoft's burying of Netscape? A browser that is a portable platform for applications was a threat to its de-facto near-monopoly in operating systems for personal / end-user computing.
- collinmanderson 9y agoNot full circle until we can compile firefox or chrome to wasm :)