Haiku编程学习
Have you ever wanted to learn to program for Haiku (or something else) but never had the money or the chance? Has something else gotten in the way? Even though I still don't have any real motivation to write code, right now I have plenty of motivation for writing about code.
--Darkwyrm
简介
Haiku编程学习(Learning to Program with Haiku)由DarkWyrm编写,主要目的在于,为Haiku爱好者和愿意为Haiku开发程序的新手提供一个渐进的学习教程,从简单的编概念的讲解,函数的认识和学习,基本的GUI掌握,最后到构建一个完整的程序。您会发现,它虽然讲解的很简单,每一章节都不是很长,但是它给你提供了一个思路,一个从零到构建完整的程序的思路,慢慢的引导您了解整个开发的过程,摆脱入门新手的混沌,渐渐走进编程世界的佳境。
目录
本教程分为五个部分,23个章节。下面将会给出每个部分以及各章节的简单介绍,同时给出相应的链接。由于其中文翻译还未完全完成,对于已经完成的章节,我们会给出相应的中文链接;而对于未完成的部分,我们会提供相应的英语原文下载。
- 第一部分
- 第二部分
- 第三部分
- 第四部分
- 第15课:首先简要介绍了Haiku的API,即各个接口套件,从Application套件到Translation套件;然后讲解了事件编程,Haiku/Beos的Application套件内部的消息机制,最后给出了一个实例,ClickMe。
- 第16课:讲解了我们之间未涉及到得内容,函数和操作符重载,复制构造函数,这两者都是C++中的重要特性,有弊有利,如果运用得当,必能事半功倍,请务必尝试最后的项目,须知“纸上得来终觉浅,绝知此事须躬行”。
- 第17课:继续Haiku GUI应用的内容,在程序中使用菜单,包括为程序添加菜单,添加视图等内容。对于我们喜欢图形界面的用户来说,学了这么久的东西,终于“柳暗花明”了,看到写界面,就看到了希望。
- 第18课:列出了其余的窗口空间类型,回访了类型转换,给出了一个小项目,其中使用到了列表控件。虽然动脑有益,动手可以多得哟。
- 第19课:程序中总会用到各种东西,包括漂亮的图标,动画效果等等,本节简要介绍了Translation套件的用法,以及程序资源的打包工具和方法,一如既往,最后一个小项目 - Emo,喜怒哀乐,方为人生。
- 第五部分
参考资料和工具
如果您是一个熟悉unix/linux的开发者,您可能对下面的内容有所了解,但是下面的资料包涵内容众多,多了解可以加深对编程理念的更深入的体会。如果您是一个开发新手或者是Windows下的开发者,您可能会发现Haiku下的编程非常的有意思,学习下面的资料,熟悉里面介绍的工具将会对您更快的接受Haiku的理念,更好的学习本教程非常有用。
- Bash和脚本
问题解决
随着Haiku开发的进行,可能本教程中所引用的部分代码在当前平台和版本下无法完成编译和运行,也可能由于您的硬件配置不同而导致问题的出现。如果您在学习本教程和尝试其中的代码过程中于到了问题,您可以通过一下方法解决:
- 操作问题
对于新手来说,如果无法正常的执行操作,通常可能是由于操作的失误造成的,例如,代码拷贝过程中出错,使用了错误的编译和调试命令。因此如果遇到问题,希望您可以参照我们提供的教程和参考资料仔细检查有关的代码和命令,如果仍然无法解决,您可以在我们论坛的应用开发版块提出自己的问题,详细的阐述自己遇到的问题。相信会社区中会有先行者为您很好的解决。
- 文档出错
如果出现错误,也不尽然全是代码或者原始文档的问题,也可能是我们翻译的质量问题。我们的翻译人员会尽量在遵照原文的前提下进行翻译,但是也可能会由于各种原因导致了翻译出错。如果是由此产生了不必要的失误,导致了您的错误,希望您可以将此问题尽快的反馈给我们,可以将有关的错误内容和修改的内容发送到我们的邮件列表或者在我们论坛的翻译汉化版块提出,如果确认是我们的失误,我们将会尽快的修复该问题,同时对给您造成的不便表示抱歉,对您的贡献表示感谢。
- 代码出错
作者在写作本教程时,难免仓促。所有的代码并未在所有的Haiku平台上进行过非常全面的测试,因此并不可能保证代码可以完整无误的,非常顺利的在您的测试下完美的运行。如果您是一个资深的开发者,您在测试这些代码时,发现了其中的错误,我们希望您可以及时的反馈给作者,以及我们的社区论坛的应用开发版块,让我们可以尽快的修复这些错误,为其他学习本教程的爱好者提供方便。如果您是一个入门人员,这也是对您的一个挑战,希望您可以通过自己的努力修复该问题,那也将是一种很有成就的感觉。我们也希望大家可以对本教程中的代码作尽可能多的测试,从而提高自己的水平,锻炼自己的能力。
- 系统配置问题
对于系统配置问题,以及发生的偶然错误,我们都是无法预见的。现在Haiku还处在开发之中,很多系统组件都还在测试之中,很多错误和漏洞都还未修复,而新的错误还在不断的出现。即使在我们的裸系统测试过程中,也可能会出现问题,何况是代码的测试之中呢。因此,如果遇到此类问题,请不要紧张。您需要首先检查是否是由前几项错误产生的,如果您确定是有系统错误导致,那么您可以在Haiku的错误跟踪系统中创建一个任务单来报告该错误。
作者小谈
Darkwyrm是Haiku项目的开发者之一。在Haiku项目创立之初,他就加入了开发小组,负责开发了早期的app_server组件,之后为Haiku移植了多个原BeOS下的软件至Haiku。他还开发了Haiku下有名的Paladin IDE集成开发环境,用于取代原BeOS下的集成开发环境——BeIDE。下面是他的一个Library:darkwyrm.beemulated.net。
