Python中的敏捷软件开发

时间:2009-09-07 20:33:03

标签: python database open-source frameworks

我一直在努力学习具有快速学习曲线的跨平台语言,因此很明显Python是合乎逻辑的选择。我以前从未编程,但我已经阅读了一段时间的实用编程和敏捷开发。问题是,“创建一个大量使用python构建的桌面软件,可以处理SQL注入的灵活性,以及​​丰富的界面报告,这是最好的选择吗?”例如SQL Alchemy,ReportLabs。

我一直在寻找在sourceforge.net中找到的pyHed。但是,它处于早期开发阶段,仍然没有很好的文档记录。我从Appcelerator检查了Titanium Desktop,这个概念看起来令人兴奋,但它还没有稳定的状态。

目前正在使用的任何建议,意见或想法?还是新技术呢?

6 个答案:

答案 0 :(得分:3)

对于跨平台的基于GUI的桌面软件,我的偏好是Qt - 稳固,成熟,丰富,出色的工具,强大的基础事件式方法(信号和插槽)。当然,拥有诺基亚背后并没有伤害。

成熟的Python接口是PyQt,但如果GPL或付费许可的替代方案对您来说是个问题,那么PySide即将出现(在这方面没有像PyQt那样成熟)时间,但是当GPL'你的软件可能成为一个问题时,PySide应该为你做好准备;-)。根据{{​​3}},PySide也由诺基亚赞助。

除了您选择的基于GUI的跨平台桌面应用程序开发框架之外,当然还有许多其他选择的工具和方法 - 但它们对于单独开发而言不如有效的团队合作那么重要所以,直到团队合作对你来说,使用你发现的最简单的工具(例如,svn而不是DVCS)不会有什么坏处:我强烈建议使用DVCS,如hg,git或bazaar供团队使用,但是一个独立的开发人员,我猜svn仍然是完全可以接受的,也许安装和使用起来更简单。)

答案 1 :(得分:2)

您的问题有很多答案,因为您提出了许多问题:

敏捷开发是一种方法论,与语言或软件平台关系不大。它是软件团队自我组织的一系列原则。有关详细信息,请参阅Kent Beck的作品。

您是否拥有现有的Python代码库?如果你有一个现有的Python代码库,你可以使用pyHed相对较远。否则你可以看看像Java Swing或C#这样的东西。

但实际上您可能需要考虑将应用程序迁移到Web平台 - 这似乎是几乎所有桌面应用程序正朝着的方向发展。 Django是众所周知的Python框架。或者任何数量的Java,C#,Ruby平台,如果它真的很棒。

jquery JavaScript框架是提供丰富Web界面的好工具。

答案 2 :(得分:2)

你可以看一下camelot框架http://www.conceptive.be/projects/camelot/

它在sqlalchemy映射类之上提供了一个pyqt gui。如果您有疑问,可以随时 发布在我们的邮件列表中。

埃里克

答案 3 :(得分:1)

值得一提的是,上周没有python本身的经验..我设法在大约4天内构建了一个基本的MVC应用程序..我使用了wxpython& wxglade

我认为,如果你知道你的功能需求是什么,可以通过谷歌搜索&一堆阅读其他人的代码,你可以在很短的时间内产生非常有用的东西。

http://www.wxpython.org/

答案 4 :(得分:0)

您可能也想结帐http://dabodev.com/,我没有亲身经验,只知道它存在并且有几个爱好者。

我建议你不要过于专注于敏捷或XP编码,特别是当你开始时,前面好的旧设计会在用无头黑客攻击它之前保存你的皮肤。

话虽这么说,我通常在实际设计它之前开始编写原型/概念验证,然后为第一个版本编写单元测试。

但我想给你的最重要的建议是,保持自己的积极性和快乐: - )

答案 5 :(得分:0)

我是pyHed的开发人员之一。我们知道pyHed的文档还不是很好,但我们正在努力工作(它是1.1版本的主线程)。 如果对pyHed有任何疑问,请通过forum与我们联系,您的问题将立即得到解答......

Vinicius Berni - pyHed Team

相关问题