3 ms·
Im using the chromium codebase to build a sort of netxgen "browser" (not web browser).. but more akin to a application platform with p2p in mind (and other craz
by oscargrouch 13y ago
Im using the chromium codebase to build a sort of netxgen "browser" (not web browser).. but more akin to a application platform with p2p in mind (and other crazy ideas). While the idea proposed by the author may sounds cool, i think chromium is a huge codebase to be used like the author says so trivially..
Its ok; if you need multiprocess ipc + net + actor-based thread concurrency + gpu compositor + webkit.. (like i do)
But, dont know if it worth the trouble otherwise..
For instance, it takes a very long time to compile everything, it takes long to debug (the final chrome binary with debug symbols end with 2G.. all loaded in the heap) and you got a big codebase to know about.. so use it with care and in need.. otherwise you will waste your precious time trying to kill a fly with a canon
- chetanahuja 13y agoThis is the argument that resonates with me the most. Unless you're already intimately familiar with the codebase and build system (with all their attendant quirks), it could consume a huge amount of time and effort to tease apart the stuff you need from the vast chromium codebase. For the record, I'm working on a new C++ project where I ended up picking up small (very small) pieces of chromium codebase with the rest being in conservatively written C++ (but not as conservative as described in google code-style guide). In general, I'd say /base and /threading libraries are useful sources to raid at the beginning of your project. These are high quality implementations of basic things most programs would need and somewhat easier to disentangle from the rest of the code.
- oscargrouch 13y agoi think theres a safe threshold someone can use as a rule, before things get too much complicated.. first: know how to use gyp and ninja build tools then.. you can embed: base, crypto, net and ipc.. Anything more than that, things start to get more complicated.. for instance: if you want to use the 'ui'.. then you have to embed 'cc' and 'gpu'.. and to work right.. you will need the browser process + the gpu process.. and will have to create a custom-renderer, or adapt the renderer process to yourself.. so now you will realize you are doomed! The other Chrome components past the ones i've pointed out, will need to use the IPC and multiprocess logic from chrome.. so that part should only be used in very specific scenarios.. Edit: i think the 'cc' module, the chrome compositor, also has some sort of autonomy from the multiprocess IPC core.. so could also be used with: base, crypto, net and ipc
- icefox 13y agoAny more information about your project? Sounds interesting
- oscargrouch 13y agoCan i contact you in the email you are giving in your profile? I dont think exposing it directly here wont be very succint.. (i wish this was more simple to explain about) since there are some details about how the technology works (or should work) and since i dont wrote any docs about it besides my personal notes.. i was expecting to jump here at HN with a working prototype for us to play with in some months from now.. as it would be easier for people to wrap their heads around it Im glad to talk about it to anyone interested, and if anybody else is curious, just drop me some mail at fabiokaminski at gmail dot com With more people interested and involved, of course i can just stop coding and write a doc or paper about it in more detail.. i know theres a lot of pressure out there for something like this.. as the journey for me to get into this formula was driven by my own needs, and the lack of something already real that i could use... (couldnt do it for web browsers and app platforms wasnt really there) It wasnt easy to get into this formula.. and i can say that this engine is REALLY cool, once its a reality i have no doubts, it will be a much more heavy-weight sucessor of what the browser could have been if it was reimaginated and designed to be more powerful than it is.. (and with the things we do know now :))