Live data from Hacker News

Chrome Is The New C Runtime

mobilespan.com

41–50 of 149 posts

Re: Chrome Is The New C Runtime

#41
post #35
post #27

He's talking about using bits and pieces of Chromium's infrastructure in other programs, but didn't address open source licensing at all. I haven't looked at it myself, but according to Wikipedia, Chromium's source is licensed under: "BSD license, MIT License, LGPL, MS-PL and MPL/GPL/LGPL tri-licensed code, plus unlicensed files". This is all fine, but anyone using this code needs to make sure they understand what li…

I don't see how it would be different from using any other MIT-licensed code in your project. The Apache License doesn't seem any less restrictive than MIT at first glance? Edit: I assumed the entire codebase was multi-licensed, it looks like you're saying that different parts have different licenses, which does sound like a headache.

The core Chromium codebase itself uses the same license (a BSD-style license). Chromium itself uses certain other third-party libraries that have different licenses.

Re: Chrome Is The New C Runtime

#42

Hi all, I'm the author of the post. Happy to answer detailed questions on using Chromium as a Dev platform. Any suggestions for a follow-up post?

Simple sample app would be great for the next post.

Will keep that in mind for my next post, thanks.

Re: Chrome Is The New C Runtime

#43
post #36

Chromium, Gecko and Webkit codebases are huge, they are hard to compile. They are optimised for use in the browsers and nothing else. They are not universal runtimes yet! I like that idea but please don't make it sound like chromium runtime is ready for everybody to use for their projects.

I'm not sure what you mean by "optimized for use in browsers". I can't speak to the other 2, but Chromium is basically a vast collection of C++ cross-platform libraries that can be used in many applications.

Re: Chrome Is The New C Runtime

#44
As an example of this type of Chromium library re-use, Firefox and Firefox OS use the Chromium ipc library for messaging between the main UI process, plugin processes, and content processes (in Firefox OS or in Firefox with the experimental multi-process mode enabled).

https://hg.mozilla.org/mozilla-central/file/tip/ipc/chromium

https://wiki.mozilla.org/IPC_Protocols

Re: Chrome Is The New C Runtime

#45
post #23

Hi all, I'm the author of the post. Happy to answer detailed questions on using Chromium as a Dev platform. Any suggestions for a follow-up post?

So, you're not using any of the rendering parts?

No, we don't use rendering components for our application. But that doesn't mean you (or anyone else) can’t.

Re: Chrome Is The New C Runtime

#46

Earlier quoted context omitted.

> We were looking for a great cross platform library for native (c++) apps. Isn't that what Qt is for, with the added bonus that it's what Qt is actually for and thus e.g. documented and supported?

Qt is a higher-level application dev framework with UI support (like MFC but cross-platform). We were looking for lower-level constructs - especially in the networking and P2P areas.

Qt is reasonably separated into modules; I've deployed stuff that only depends on QtNetwork, QtSql and QtCore and all the other stuff doesn't get linked in (it's not even in the #include search paths).

(I haven't used Chromium libs and have no opinion about them)

Re: Chrome Is The New C Runtime

#47

Earlier quoted context omitted.

> We were looking for a great cross platform library for native (c++) apps. Isn't that what Qt is for, with the added bonus that it's what Qt is actually for and thus e.g. documented and supported?

Qt is a higher-level application dev framework with UI support (like MFC but cross-platform). We were looking for lower-level constructs - especially in the networking and P2P areas.

I know that you are an ex-chrome dev so this is all moot as Chrome is the code you knew when you started, but really that is exactly what QtCore + QtNetwork is for. You don't have to use any of the GUI bits when you use Qt if you don't want to. I have written many "Qt" applications that were console apps simply to use the built in capabilities.

Edit: in fact just to highlight how similar it is, the way that QtWebKit works is that it is built on top of these modules in a [hand wavy] similar way that blink is built on top of the chrome development platform (I have hacked on Qt, WebKit, and Chrome).

Re: Chrome Is The New C Runtime

#48
post #36

Chromium, Gecko and Webkit codebases are huge, they are hard to compile. They are optimised for use in the browsers and nothing else. They are not universal runtimes yet! I like that idea but please don't make it sound like chromium runtime is ready for everybody to use for their projects.

I'm not sure what you mean by "optimized for use in browsers". I can't speak to the other 2, but Chromium is basically a vast collection of C++ cross-platform libraries that can be used in many applications.

"optimized for use in browsers" means that collection of C++ cross-platform libraries can segfault a production server simply because it was not enough tested in other environments.

Re: Chrome Is The New C Runtime

#49
post #14

Earlier quoted context omitted.

Are you making bets on Dart or (P)NaCl staying with the platform in the long run?

We aren't relying on Dart. (P)Nacl is a very interesting option which I'm willing to bet will remain with the platform.

Now that you're not a Google employee, can you give an opinion on Dart's chances of making it into Chrome. Thanks.

Re: Chrome Is The New C Runtime

#50

Chromium is _huge_. If I just wanted to use the HTTP library (with tls and spdy) then how would I build just that, and cleanly integrate the build into my own project in a way that won't require constant revisiting every time I update my chromium sources?

You would only link with the net library (and its dependent libraries - like base and crypto)

And what about source and binary compatibility. What are the current guaranties? (his second question)

Edit: to be clear after you get your app up and running with the current version how much time has to be spent on ongoing maintenance down the road?

Post reply on HN