Archive 1Archive 2

Chromium is built with web technologies (i.e., JavaScript / TypeScript)

I have restored Typescript to the list of implementation languages for Chromium. The DevTools, a completely non-trivial component of Chromium, uses Typescript per the ref I added. Please note that the styleguide also listed JavaScript which corroborates the fact about Typescript in the Chromium codebase.

https://developer.chrome.com/blog/migrating-to-typescript/

https://chromium.googlesource.com/chromium/src/+/master/styleguide/styleguide.md

Avindratalk 05:45, 26 April 2021 (UTC)

@Pmffl: you've now deleted the TypeScript reference twice. As I stated here, the usage of TypeScript to implement DevTools is nontrivial and can hardly be considered niche. Also, it is one of the most prominent examples of adoption of a Microsoft-developed language at Google. I still believe this belongs in the infobox instead of just JavaScript which isn't telling the whole story. Avindratalk 00:28, 27 April 2021 (UTC)
I only deleted it once, my final edit yesterday. (You're confusing me with Barte, who first did so 5 days ago.) There are 3 good reasons to remove it.
The ref I added yesterday reports how massive the entire Chromium codebase is - a whopping 35 million lines! So, in that context, DevTools is but a small piece of a giant pie. Secondly, TypeScript code has to be transpiled to JavaScript anyways (for V8 to execute it), so the repo will also have the final .js files. And, as you can see in the ref, there's already a ton more JS code. Finally, the sidebar should be concise, so it's best to avoid ref bloat for niche items like a DevTools rewrite. -Pmffl (talk) 15:59, 27 April 2021 (UTC)
Thanks for the info. The openhub ref is handy. Based on the ratio of JS to TS, I think it's fair to list JavaScript instead of Typescript here. Sorry for confusing you with Barte. Avindratalk 21:47, 27 April 2021 (UTC)
I pared back the list after someone added assembly, which was both unsourced and dubious. The style guide seemed to me like solid ground. I'm not arguing that it's all encompassing. Barte (talk) 22:21, 27 April 2021 (UTC)
@Aavindraa: TypeScript was added only recently. I don't think it's worth pursuing it. AXONOV (talk) 20:30, 14 May 2021 (UTC)
@Alexander Davronov: agreed, based on the ratio of TypeScript to JavaScript (see code metrics ref). The main interesting point about TypeScript is that it's an example of Google adopting a Microsoft-developed language. The "acceptable language" list at Google is fairly small IIRC. In any case, I agree it can be left out of the article for now. Avindratalk 20:34, 14 May 2021 (UTC)
@Aavindraa: They have used it in Angular too, so no wonder. If codebase growth I think it would be safe to mention it. AXONOV (talk) 20:53, 14 May 2021 (UTC)

new Development section

With this edit, I expand the Versioning section into a full-fledged Development section covering several important aspects of the Chromium project. Since this article (correctly) emphasizes the FOSS-ness of Chromium and how widely this code is used, it's helpful to provide this info. This also has the advantage of ensuring the sidebar can remain concise. -Pmffl (talk) 23:41, 27 April 2021 (UTC)

The infobox restoration

I propose to restore the following information to the {{infobox software}} sidebar frivolously (re)moved by Pmffl in 23:33, April 27, 2021.

--AXONOV (talk) 09:55, 9 May 2021 (UTC)

Have you even read the article? There is an entire section I added about programming languages. -Pmffl (talk) 14:28, 9 May 2021 (UTC)
Let's keep the content in the sidebar too. No good reason to remove it. As a reader I want it available at glance. AXONOV (talk) 15:01, 9 May 2021 (UTC)
Fair point. -Pmffl (talk) 12:31, 16 May 2021 (UTC)
The new programming languages section looks great, but it is notably missing Python. Chromium is perhaps one of the most significant projects still using Python 2 in a non-trivial way, and this causes problems for example, with Linux distributions that have stopped supporting Python 2. Avindratalk 15:26, 14 May 2021 (UTC)
Sure, Python could be added there. It's for the build system. I don't think any Python code becomes part of the browser executable. -Pmffl (talk) 16:48, 14 May 2021 (UTC)
@Aavindraa: You don't mind my proposal above? AXONOV (talk) 10:24, 15 May 2021 (UTC)
@Alexander Davronov: Yeah, having more languages at a glance (in the infobox) would be nice. Firefox is a good example. Avindratalk 17:02, 15 May 2021 (UTC)
@Aavindraa: Yeah, Google Chrome is nice too. Adding it. AXONOV (talk) 17:36, 15 May 2021 (UTC)

Written in "HTML"? Only to a tiny degree

The language breakdown[1] is probably very misleading.

I think we know e.g. C# and Tcl aren't really used in the web browser, despite listed there. C++ is barely half, but more when you would strip out stuff that's not used in the compiled binary, stuff only used for e.g. build scripts and tests.

C++ 12,198,516 49.2%
HTML 3,212,922 [seemed very excessive, understandable as test files.] 10.5%
C 2,443,559 10.0%
JavaScript 2,363,918 10.3%
XML 1,841,460 5.7%
Python 932,494 [only for build] 4.2%
Java 893,554 [outdated code?] 3.8%
[..]
CSS 172,422 0.6%
[..]

Web languages (JavaScript, HTML, CSS)[2]

When working on Web-based UI features, consult the Web Development Style Guide for the Chromium conventions used in JS/CSS/HTML files.
Internal uses of web languages, notably “layout” tests, should preferably follow these style guides, but it is not enforced.

comp.arch (talk) 12:19, 15 October 2021 (UTC)

It's only "misleading" because of the Web platform test code, which is huge. The CSS rules are largely inlined in the HTML docs, which accounts for the HTML and CSS percentages, which are based on .htm and .css file sizes. -Pmffl (talk) 16:51, 29 October 2021 (UTC)

Wording of the first paragraph

I made this change to the article a couple weeks ago: https://en.wikipedia.org/w/index.php?title=Chromium_(web_browser)&oldid=1060340447

It was reverted because Chromium is code for "one web browser". Alright, I agree with this, but the way the sentence is phrased still throws me off. Should we perhaps take a page from the official Chromium homepage and describe it as a "browser project" as opposed to a "codebase for a web browser"? This would be more descriptive because the Chromium project encompasses more than just the code itself. My proposed phrasing would be:

"Chromium is a free and open-source web browser project, principally developed and maintained by Google. The project's code comprises the majority of the Google Chrome browser, which adds some additional features and is proprietary software."

--Brandonwikipedia2 (talk) 21:32, 27 December 2021 (UTC)

Sure, sounds good. - Ahunt (talk) 21:38, 27 December 2021 (UTC)

You have some good points, but Chromium is fundamentally a codebase. So I restored that in the lede. -Pmffl (talk) 19:58, 28 December 2021 (UTC)

Chrome/Blink, Safari/WebKit, and Konqueror/KHTML

Adding on to previous thoughts here, the introduction and early history sections should do a better job of explaining how Chromium emerged and the relationship between Chrome/Blink, Safari/WebKit, and Konqueror/KHTML. This article downplays WebKit so much the first mention is in the 2011 section and makes it sound like an image resizer if you do not already know what it is.

[…]

2011

[…]

By May, the results of Google's attempts to reduce the file size of Chromium were already being noted. Much of the early work in this area concentrated on shrinking the size of WebKit, the image resizer, and the Android build system.[1]

[…]

  1. ^ Bailey, Dan (May 2011). "Google Trims Fat From Chrome". Conceivably Tech. Archived from the original on 6 April 2012. Retrieved 5 May 2011.

Rdela (talk) 09:58, 28 February 2023 (UTC)

Good point. I added an explanation of it the new Architecture section. -Pmffl (talk) 21:24, 6 December 2023 (UTC)