从哪里开始学习开发ubuntu?[关闭]


17

嗨,我是一名计算机科学专业的学生,​​目前正在大学学习,并且对开发开源软件特别是ubuntu非常感兴趣。

例如,我仔细阅读了Python的官方教程和文档,并且很高兴能写有用的应用程序。Ubuntu或unity是否有等效的产品?我尝试下载alpha 2,put每5分钟崩溃一次。我在IRC中被告知,这是由于Xorg堆栈发生了变化。

现在我什至看不到新的Unity,更不用说帮助开发它了。

任何帮助或指导表示赞赏。


你会哪种语言?由此,我可以提供更好的答案。
Manish Sinha


我精通python,可以使用C,C ++进行编码。具有pyqt和pygtk绑定的经验。
疯狂科学家,

1
如果您了解Python,那么Quickly可能对您来说是小菜一碟。如果你知道C / C ++,那么你可以得到你的手脏与团结
马尼什·辛哈

Answers:


12

为Ubuntu开发

感谢您的关注。只是一些澄清。没有什么比Ubuntu软件更好(我知道您不是故意的)。所有特定于Ubuntu的更改也可以在其他发行版中使用。他们的包装商必须包装它。

Alpha 2崩溃

Natty仍在开发中,并且仍在进行Xorg转移。我建议您开始研究稳定版本。采用Maverick (10.10)您的开发工作。这样,您将花费更多的时间来开发应用程序,而不是遇到alpha错误。

如果您想为Natty或做贡献Unity,那么您肯定需要运行Natty Alphas。

统一开发

如果您想为Unity开发,那么您需要获得Natty并签出源代码。

bzr分支lp:unity

在checkout分支中有一个文件,用于解释其依赖项以及如何构建它。

如果要将代码放入统一主树中,则需要签名。Canonical Contributer Agreement不需要每次提交代码时都对其进行签名。一旦足够

Unity Bitesize错误

参与其中的最佳方法是修复Unity中的小错误。豪尔赫·卡斯特罗(Jorge Castro)会定期发布Bitesize摇滚明星的名单。这是一个咬过的bug列表,您可能想Jorge Castro与之交谈(IRC上的jcastro在#omg!ubuntu!等频道上-他还经常在Ask Ubuntu聊天中闲逛),如果您需要其他帮助,可以在开始之前进行讨论。

这是参与Unity开发文档

在Ubuntu上开发

正如伯利指出的那样, Quickly是开发的绝佳工具。它照顾很多事情。在Ubuntu上使用它非常容易,因为它已与Ubuntu开发平台(如Launchpad,PPA等)集成在一起

快速处理样板代码并为您提供模板。就像包装一样。由于每LWN文章

Released template is ubuntu-project, which automates working 
with Ubuntu-compatible code (using Bazaar for version control, 
Debian packaging, and Launchpad.net Personal Package Archives (PPA) 
for releases).

您也可以在Ryan Paul的Ars Technica文章中阅读有关此内容的信息

选择语言

如我所见,Python是最著名的开发选择。我可能是错的,因为许多人也喜欢在Gtk / C或Boost / C ++上进行开发。

还有其他语言,例如Vala,可以使用它们使用本机应用程序,但使用高级语言。

如果您知道的话C#,您可以使用它来使用Gtk#for UI创建应用程序。



1
@Gaurav:它正在开发中。可能需要一些时间
Manish Sinha

1
我发现最好的学习方法是开始做。参与一个您认为有趣的项目(或开始您​​自己的项目),然后弄湿自己的脚。您会遇到很多问题,但您也会学到很多。祝好运!
折纸2011年

3

这有点相关,我在讨论是否发布。

学生进入开源开发(并查看您在Ubuntu中显示的代码)的最简单方法之一就是参与Google Summer of Code。在现有软件中添加新功能是您不会在学校获得的一种体验,但是它将改变您看待编程的方式。学生参与者与来自开源项目的导师配对,他们将帮助他们入门并帮助他们解决难题。

另外,您获得报酬,履历表上看起来不错。很好的经验。我强烈建议您检查一下。


我听说过,但是听说很难做到。
疯狂科学家,

竞争比以往任何时候都要激烈,尤其是对于像Ubuntu或Mozilla这样的大型项目。但是,如果您找到一个较小的项目,请事先与开发人员联系(并阅读他们的Wiki!),以了解他们正在寻找的内容,并且撰写的内容非常好,您的机会就不错。您可能需要尝试一些项目;我查询的第一个没有成功。带上一些补丁也有帮助,尽管我想这就是这个问题。:-) FWIW,除了基本的C ++和一些数据结构外,我所知不多
James

您的Gsoc在哪里?
疯狂科学家,

AbiSource。我的一位同学,鼓励我进入GSOC的人,做了一个有关CMS Made Simple的项目。
詹姆斯

2

一个很好的起点可能是Ubuntu Wiki。特别是对于Unity来说,请看Ayatana项目

https://wiki.ubuntu.com/Ayatana

[编辑]如果您喜欢Python,还可以快速查看

https://wiki.ubuntu.com/快速

这是一个项目管理系统,具有一些特殊功能,例如在launchpad.net上打包和分发源代码,这也是查找信息的好地方


1

好吧,我的答案可能没用,但是我唯一的遵循的是:开始阅读unity(以及诸如compiznux等相关项目)的源代码,然后尝试着手研究自己感兴趣的内容。grep在进行简单修改时也可能是个好朋友。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.