Tuesday, May 22, 2007

My set of development tools

I have put together this post to help readers who are thinking of what tools should they use for php/webdeveloment. I have started with notepad, continued with Macromedias Dreamweaver. So had my learning curve & would like to help you make yours steeper.
After 5 years of php/web development I am using the following tools, found them extremely useful. It is good to choose the right tool for the right job, will save you time and money. Of course everything can be done with notepad/vi but these are my favorites.

PHP IDE`s

Zend Development Environment: real productivity booster. Developed by a company that stands behind php language it has almost everything you can need for php development. Their code completition is rather good. What I miss here is better support for css, for html they have support, but for merely php programming it is great.

Eclipse
: Open source IDE, the biggest +. Interesting one for those who are working with more languages & want to put together their own flavour IDE (put in java,c++,php,uml support). It is great tool because you only need to know one IDE for all your languages. There are lot of high quality free plugins for it. Just to mention that Flex2 IDE also comes as eclipse plugin. So you wont regret using it. There is also phpeclipse plugin for you.

PHP libraries

PEAR : the ONE but not the only. It is the real php power unleashed. You get access to quality code written by few of the best php programmers out there. It can help you with almost every issue you can face in development (templating, sessions, auth backends). Just put together your favorite selection of packages and you are almost done with project. It is well supported and documented. It helps you avoid low level php programming. There are multiple sites out there that offer php classes, but most of them arent well supported/maintained/documented. Avoid usage without deeper code inspection. After a while you will be able to differentiate between good and bad coding style.

PHP Frameworks

There are quite a few out there. They help you build reusable code. Also it makes a difference that after 6 month when you completely forgot your own code, how fast will you find your way around. Have tried a few of them like Zend Framework, CakePhp, Geeklog. My framework of choose is definitely Seagull. The community is great, its a light framework where you will easily find your way after 1 month. That sacrifice is worth believe me.

Database IDE`s

DBDesigner : great tool for planing Mysql databases, you can visualize your ideas, no more papers & it can synchronize the db layout with database engine

Navicat: extremely useful for writing more complex queries, mysql5 ready, sql code completition is comming with next release, has advanced backup features, supports triggers & stored procedures, I use it for remote/local access for my databases. Its not free but worth every cent of the price.

Versioning software

TortoiseSVN : I am using it all the time, even in projects when I work alone, no more lost files, untracked modifications. It has updatehooks, so the live deployment of the code could be done with a bit more advanced setup as well. If you need to choose between SVN and CVS , always go with first..


Hope that somebody will find this recommendations useful, and I am interested in your used environments as well!

cheers

No comments: