4 ms·
> With how widespread the use of webkit is, I would have thought it was among the more cleanly designed pieces of software out there. Sadly being widespread is
by azakai 13y ago
> With how widespread the use of webkit is, I would have thought it was among the more cleanly designed pieces of software out there.
Sadly being widespread is no guarantee of clean design ;)
WebKit, like other browser engines, was originally designed in the 90's, and evolved over a long period of time. Again like the others, it's a large and complex C++ codebase, with all the good and bad that comes with that.
WebKit does have some advantages over other browser engines though, specifically it is the most embeddable, and I would say that is the main reason for its being widespread today.
- taeric 13y agoThis further hits my curiosity on whether or not there are any examples of "cleanly designed" systems that have "won" in the long run. Am I just growing cynical? I still harbour feelings that something in the discipline of webkit offers lessons. I just don't know if I can see it myself. Outside of the lessons of brute force being a good tool. (Where I'm assuming there is a lot of force behind webkit.) (I do understand that they have a lot of tests that are fairly complex. Mayhap that is the true lesson. Get a good handle on how to run complicated test cases.)
- reubenmorais 13y agoI would point out Qt as a very well and cleanly designed project that "won" as in it's one of the if not the top GUI frameworks out there. http://qt-project.org/ http://qt-project.org/
- nostrademons 13y agoIs it actually all that widespread if you consider the full set of all apps on all platforms? The impression I get is that the majority of apps don't use any cross-platform GUI framework and instead use the native API of the platform - Win32 for pre-XP Windows, .NET for Vista+ Windows, Cocoa for Macintosh, GTK or KDE for Linux, HTML/CSS/JS for the Web, native Android for Android, native iOS for iOS, etc.
- Elv13 13y agoKDE is the community, not the toolkit. Most KDE specific widgets have been merged/replaced in Qt over time. KF5 mostly is a bunch of small libraries using Qt. http://dot.kde.org/sites/dot.kde.org/files/kf5_big_0.png http://dot.kde.org/sites/dot.kde.org/files/kf5_big_0.png Qt is also used by a few "big" software and as the default toolkit for BB10, Jolla and Mer (totaling a nice 1% market share ;) ). It is also seen as the successor to Motif for large scientific applications.
- nostrademons 13y agoI think the causation runs the other way. When something becomes popular, there's pressure to improve it (or, arguably, "improve" it). That leads to more features, which leads to more code, which leads to a messier, more complicated codebase. This is all good for users - it takes complexity out of the usage of a feature and puts it inside the software, where it belongs. The problem occurs because this process continues until the equilibrium point is reached, where it is no longer economical to add features to the software. Given the high usage and low marginal cost of software, this is usually when the software has become so inscrutable that nobody knows how to modify it anymore, at which point it is replaced by something else.
- taeric 13y agoI wasn't trying to imply any causality. Merely somewhat surprised that it isn't better designed. We get into a fair number of arguments over "clean design" at work. I have grown weary of all of the "cleanly designed partial solutions" I have seen. Just as I've grown weary of complaints on how crappy a system is and how it should all be done from scratch. It isn't even that I disagree. Just that "everything is terrible" is not a recipe for a happy day for me. For the most part, everything is bloody awesome. The details just aren't as clean as some would have hoped.
- dougk16 13y ago"...any examples of "cleanly designed" systems that have "won" in the long run" The Linux kernel comes to mind.
- taeric 13y agoDoes this count as "cleanly" designed in the way most software engineering types put it forward? I mean, it flat out went against what was seen as "cleanly designed" when it was created. And even now espouses a monolithic code base over the microkernel designs. That is to say, in my mind it was one of the counter examples to the idealistic "cleanly designed" solutions.
- e12e 13y agoJust another reason I found it strange that Opera dumped their browser engine for webkit. I suppose it might look even worse..