Off-Topic > Off-Topic - Tiny Core Lounge
Webkit notes
curaga:
Lately I've been looking into what it would take to have a FLTK port of Webkit.
One thing's become quite clear, a light browser it wouldn't be :p
Webkit parts:
WTF adds ~1mb.
JavascriptCore adds ~11mb. This is with LLVM/FTL disabled.
WebCore adds ~40mb. WebGL, audio, video disabled.
Webkit2 is estimated at ~7mb.
Actual app code estimated at pithy few hundred kb.
Static deps:
libgcc + libstdc++ add ~7mb. These are static because webkit requires rather recent gcc.
ICU adds ~25mb. Static for two reasons: one, it's a few mb smaller than
dynamically; secondly, it's a C++ lib. Having it dynamic would cause galaxies to explode the
first time it threw an exception, as it would bring in the system libstdc++.
Harfbuzz adds ~1mb. Same reasons as ICU.
All stripped binary numbers.
So the binary is already closing in on 100mb! That's some amazing bloat. LTO and other
tricks may get 10% off that, but still quite impressive numbers for a "light" build. LLVM
for example would easily add 50mb.
What would it save, then? Compared to the Qt port, Qt of course, a 140mb+ monster. But to
the other ports of efl and gtk? Perhaps a couple mb and some annoying deps, nothing more.
It may still get done because I'm pissed with the current state of browsers, but it's
heavily looking like "light" is not on the list of features...
Lee:
--- Quote ---It may still get done because I'm pissed with the current state of browsers...
--- End quote ---
I'm curious as to what facet of the current state of browsers you find worst and what might be done about it. The reason I ask is that I'm looking at installing the latest and greatest Firefox to help the company web developer test an application. This is on Windows, but eventually somebody will have to test it on a linux platform.
Right now, I much prefer to stay -way- behind the bleeding edge of browser technology because of what I perceive as "the current state of browsers".
Juanito:
Whilst webkit is no doubt huge, some of the deps are shared with other gtk stuff, so perhaps the delta bloat is not as bad as you might think (as long as you use other gtk stuff) - I've been using epiphany and webkit for a while for this reason.
curaga:
@Juanito
Yes, cairo and glib are shared in all cases, as well as some other dynamic deps. I only listed static ones. Of course if you have multiple webkitgtk browsers, then webkit is shared between them.
@Lee
In general, I find the movement to "apps on the web" completely wrong. Javascript is being used for things it has no place in, to the detriment of both developers and users. It is terrible to code in due to many reasons, speaking from experience; badly coded JS hogs cpu like no other, also from experience. Compatibility across browsers is fairly bad, and if one of the big frameworks drops support for the one you use, half the internet breaks.
I also think GL, CL, audio and video do not belong in the browser. Surely integration and games-at-work are nice, but I find that an abuse of the original purpose, sharing information. Games and calculations need native performance, having them shoehorned to the browser just opens up a huge attack surface. The moment WebCL becomes widespread you will see ads that mine bitcoin, throwing users' electricity use up, and that's one of the least malicious uses.
More to the current state, I'm sad of the direction Opera went. Chrome has multiple design choices and default options set such that it collects a lot of data off you, essentially spies on you. It's commonly countered with "you can disable each in the options", but I find it obvious that their being enabled by default conveys quite enough of Google's intent. Further, using Chrome would be like using Facebook: each new update may bring new options, of course set by default to share your information. Whack-a-mole.
Firefox has a bad UI in my opinion, and worse, they keep changing it every few versions. Mozilla has also made a few questionable decisions, such as removing options from the users, and the recent acceptance of DRM.
As the big three are close to unusable, the smaller competitors lack much compatibility (dillo, etc) or features (smaller webkit browsers), what's one to do? Can't exactly keep on using the last workable Opera to eternity.
hiro:
I'm also mad as hell.
But in a twisted way I got to be quite happy about the state of the web lately, it's getting more and more common to get a separation of content and bullshit.
I used to disable javascript selectively on the sites that were using it too much and most of all in the most wrong ways that let my fan go crazy. The term "shit hit the fan" had never felt so justified before.
Nowadays disabling javascript often just gives you a white page, but if you also disable CSS, you still get all the content, haha. I was amazed when I first realised.
The worst is if you have both javascript and CSS enabled. Modern computer "artists" want you to scroll horizontally and click around through mazes like in a first-person shooter. The javascript in no case gets used to do something useful, like to cache the next image in full resolution. No, in most cases it will be used to *hide* all, but one image - actually a scaled-down version, and then I can click it and wait for the frame to load and for the lightbox and the shading effect and.... at least that long fade-in effect gave me enough time to realize I must have js enabled once again. Voila, the images are displayed in full width of my monitor, I can scroll down to see every single one of them, and I can even right-click and download one of them, because there's no javascript trying to tell me: "no, that's illegal, you can't steal this image".
What's the last workable opera for you, 12.14?
Did you look at surf? The people around that project also had a small discussion lately about what to do once webkit-1 is not enough any more.
Did you decide against using gecko as a backend for a fltk thingy?
Navigation
[0] Message Index
[#] Next page
Go to full version