c ++开发人员的开源项目? [英] Open source project for c++ developer?
问题描述
我是一个vc ++开发者(但是像Qt)有兴趣通过贡献和阅读代码从开源项目学习。我使用windows作为主要开发平台。哪个项目适合我开始?
是 chrome 是个不错的选择?
铬是一个不错的选择吗?
我相信是的。 >源代码是IMO写得很好,它是一个非常活跃的项目,有很多工作要做,也有很多不同的方式。显然,浏览器本身只是一个特定的库的组合,因此Chromium给你一个很好的条目,以了解更多关于他们,希望有助于显然。但最重要的是它有一个大的社区,由一个大公司赞助,并在其核心团队有许多有才华的软件工程师。
- 了解如何整合
V8 JavaScript引擎?
- 想要通过 Skia 了解在屏幕上呈现/绘制的内容?
- 想要了解如何整合 Webkit 吗?
- 想要详细了解 HTTP协议/网络堆栈吗?
- 想要了解如何沙盒应用程式吗?
- 想要了解多进程架构和IPC吗?
有很多事情要做,所以你甚至可以在学习不需要的东西时提供你所知道的东西。
我想添加;选择要加入的开源项目应基于:
- 您的专业水平
- 复杂性(不要与可读性混淆)
我只是在这里说话,但我喜欢从太复杂的项目(文件系统,RDBM等)我发现那些项目由于压倒性的复杂性而不那么有用。
只是我的2c - YMMV
如果您想尝试使用Chromium,请参阅设计文档的链接:
- 遍历源代码非常详细地解释了项目树结构是如何构建的。
- chrome.org/user-experience\">用户体验设计文档提供了触及用户的所有内容(即行为和外观)。
- Tech Talk视频,这对理解一些关键的工程问题和决策非常有帮助,即使您不打算加入铬项目。
上述链接全部来自 Chromium
无论如何,祝您好运,找到符合您需要的项目!
I am a vc++ developer (but like Qt) interested in learning from open source project by contributing and reading the code. I use windows as primary development platform. Which project will be right for me to start?
Is chromium a good choice?
解决方案Is chromium a good choice?
I believe so, yes!
The source code is IMO very well written, it's a really active project with a lot of work to do and is also interesting in many different ways. Obviously a browser is in itself just a combination of specific libraries, and thus Chromium gives you a nice entry to learn more about them and hopefully contribute evidently. But most importantly it has a big community, is sponsored by a big corporation and has many talented software engineers on its core team.
- Want to learn how to integrate the V8 javascript engine?
- Want to learn about rendering/drawing on screen via Skia?
- Want to learn how to integrate Webkit?
- Want to learn more about the HTTP protocol / network stack?
- Want to learn how to sandbox applications?
- Want to learn about multi-process architecture and IPC?
There are so many things to do, so you could even contribute things you know while learning stuff you don't.
I'd like to add; The choice of an open source project to join should be based on:
- Your level of expertize
- What you'd like to learn
- Quality of the code
- Maturity of the project
- Code complexity (not to be confused with readability)
I only speak for myself here, but as much as I love learning more from too complex projects (file systems, RDBM etc) I find those projects to be less rewarding because of the overwhelming complexity. Try not to learn everything at once, take smaller steps and finish what you start rather than taking larger steps and give up.
Just my 2c - YMMV
In case you'd want to try Chromium out, here are links for the design documents:
- Getting around the source code explains in great detail how the projects tree structure is built.
- The Engineering design docs explain the architecture, most under the hood and future work
- The user experience design docs provide insight to everything that touches the user, that is behavior and look.
- Tech Talk Videos that are very helpful for understanding some key engineering issues and decisions, even if you don't intend to join the chromium project.
The links above are all taken from the Chromium developer documentation, where even more details can be found.
Anyway, good luck finding a project that fits your needs!
这篇关于c ++开发人员的开源项目?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!