Web 开发者使用哪些工具与 PHP、Ruby on Rails、Python 等?
我一个好朋友刚给我发了一封邮件
我父亲正在为当地的一所大学准备一个提案,想要建立一个创新和技术中心。作为这个提案的一部分,他建议他们开设网页设计和网页开发的课程。我的问题是,在你看来,网页设计和网页开发的“行业标准”工具是什么?我觉得我对网页设计(html、flash、photoshop、dreamweaver)有一定了解,但我想听听你的看法,并需要一些关于网页开发的指导(.net、ajax、visual C++、rubyonrails)。你有什么想法?
我能告诉他在微软的技术栈中主要使用哪些工具(Visual Studio + Expression Studio),但我不太确定使用ruby on rails、python或PHP等语言的人在用什么。
我在这里问这个问题是因为:
- 问开发者谁比他们更合适呢
- 那些想要学习这些语言的人可能会发现这些工具非常有用。
所以,使用这些技术栈的朋友们,你们在开发中使用什么工具呢?
总结
数据库
版本控制
编辑器
集成开发环境(IDE)
框架
- Zend Framework(PHP)
- Code Igniter(PHP)
- CakePHP(PHP)
- Django(Python)
- TurboGears(Python)
- Rails(Ruby)
调试工具
26 个回答
我用TextMate来开发Rails、PHP和Python,觉得它非常好用。
看到其他人的回答后,我觉得有必要多说几句。我现在主要用MySQL作为数据库,Apache作为网络服务器。在写PHP代码时,我更喜欢用CodeIgniter,而不是直接用“原生”的PHP。
不过,最重要的是我使用SVN,从一开始就应该用这个(或者任何版本控制工具)。SVN可以让我跟踪代码的不同版本。比如说,如果我把原本在第10个版本中正常运行的东西搞坏了,我可以回到第10个版本,看看我改了什么,然后修复它,等等。
Ruby on Rails其实有一个默认的技术栈,这个栈主要是由使用这个框架的社区决定的。虽然有些组件随着时间的推移有所变化,但与其他社区相比,有些东西的差异并不大,这可能既有好处也有坏处。不过,对学习者来说,这种一致性是很有帮助的。
- 编程语言: Ruby,用于应用开发和系统管理
- 版本控制系统: Git
- 应用框架: Ruby on Rails(这点显而易见)
- 部署系统: Capistrano
- SQL数据库: MySQL
- 网络服务器: 目前使用Apache和Passenger,虽然一些旧的选择仍然在使用中
- 服务器操作系统: Linux发行版(Ubuntu可能是最受欢迎的)
很多专业的Rails开发者使用Mac OS X作为桌面系统,文本编辑器则是TextMate。剩下的大多数人使用Linux(同样,通常是Ubuntu),还有各种不同的文本编辑器。在Windows上开发Rails目前有点麻烦,不是很多开发者愿意这样做。
目前集成开发环境(IDE)并不太流行,但Netbeans是个不错的选择。使用Netbeans进行教学的一个好处是,你可以通过一次安装就获得完整的Rails开发环境。另一个好处是它在Windows上运行得很好。
这里有一些建议的工具和技术:
- 可以选择使用svn或者现代的分布式版本控制系统,比如git、mercurial或者bazaar。
- 通常不推荐使用集成开发环境(IDE)。在Mac上可以用TextMate,在Windows上可以用Notepad++,而在Linux上则推荐使用真正的编辑器(emacs或vim)。
- 了解MySQL和SQL这类数据库知识是很重要的,可以单独作为一个学习内容。