Editors of choice for php, xhtml, css, jquery, and mysql
A little less than 3 months ago I outlined my editors of choice(see ‘original post’ section below) for my work and low and behold it didn’t take me 6 months to review that list! it actually only took me one heh. Back in May, I started looking at a few tools out there after hearing some great reviews from some fellow devs. I ended up substituting Coda and NetBeans with Transmit and TextMate.
Everyone has always raved about TextMate but at first glance it didn’t look all that great… but then I discovered it’s real power. The way it handles Language Support Plug-ins. Bundles, as they called in TextMate, are extremely powerful! I am able to switch between auto-complete and syntax highlighting for languages on the fly with keyboard short cuts (I still haven’t figured out however, how to add a keyboard shortcut to access php bundle though..). but really the best part of it all is the ability to use and create keyboard shortcuts for virtually anything very easily and quickly.
Here’s an example of html keyboard short cuts and tag usage that I found on YouTube:
Now.. imagine this kind of power with not only HTML but also any language that you can find a bundle for. mind you, all these tags and shortcuts are fully editable and customizable, so if you need a new tag.. you can fairly easily add it.
For a long time I felt that an FTP client on it’s own was not very useful to me (especially when I already had Coda which was an editor and ftp client in one), but Transmit has become my FTP application of choice because it is simply by far one of the best ftp/remote file management and file synchronization tools I have found. It gives me all the power of opening remote files with any of my editors and then saving them back to the server automatically that Coda gives me, as well as give me an effective method of synchronizing my local and remote files or transferring files from one server (development) to another (integration or production) as simply as drag and drop. Transmit also has (of course) permission control options for remote files and directories, which is something every FTP program either has, or should have.
Finding the best tools for development can be tricky. There is so much out there, and gets more difficult when you need an IDE that can work with all the languages you use.. Ideally you would like to have 1 tool that does it all! (wouldn’t that be great?) Unfortunately that’s not the reality we live in.
I have gone through many editors, and IDEs trying to find the right ones to use for my needs. It took me some time but I think I found a solid combination. I say I think because if history repeats, I will probably find a new tool to replace an older one 6 months – a year from now if that long.
For Initial site and XHTML I use Coda, for PHP-jQuery I use NetBeans, for CSS I use CSSEdit, and for mysql I use Navicat.
Now here’s why.
It does so much more though. It has a built in terminal allowing you to ssh into any site you have set up, it has a built in reference guide area were you can add and use reference guides from anywhere online directly in the editor, it has a preview tool that allows you to preview your sites, and probably one of the most useful tools for setting up wordpress themes especially, but really can be used for any commonly used site frame is the Clips feature.
Coda Clips allow you to save code clips to use later. What i do is have code clips for my wordpress page layouts that already include all the most commonly used tags. I do the same for my common website frames (one column, two column, sticky to the bottom footer, fixed width, dynamic width, etc).
So as you can imagine, initial setup of a site before adding it’s logic is very effective and quick in Coda. once I am done with the file structure, XHTML structure, and CSS, I switch over to NetBeans for the functional programing. Though for most of my simple wordpress themes (that don’t have extensive custom functions) all I need is Coda for the entire build.
For a long time I used Komodo Edit, great tool, not very stable. crashed on me A LOT and on many occasions it would be unusably slow.. not to mention the ftp functionality for it is not very solid either.. I then went to Coda. I will always have love for Coda, it’s an absolutely awesome tool, unfortunately it doesn’t have the PHP IDE features that I need for the large majority of my development work (I do hope they change that).. by the way, I tried Eclipse, hated it. So then finally I found NetBeans. NetBeans does everything I need from an IDE plus some.
Syntax highlighting, all the editors i have ever used have Syntax highlighting.. it’s one of those things where an editor simply isn’t one without it (in my opinion anyway).
Code completion not just for the languages being used but also any libraries you are using with a project!! it will automatically read the library (in my case jQuery) and give you auto complete. Now this is a feature that has been lacking in other editors and IDEs.
Code navigation, most IDEs have Code Navigation so this is nothing new really. except where Coda only had limited code navigation for the current file being edited/viewed, NetBeans allows you to navigate code for your entire project. handy when placing functionality in different files.
Syntax errors and warning highlighting is also something most IDEs have. the nice thing about NetBeans though is that it does this for both html, and php. Instead of just php. not a big deal since I don’t really need it for html anymore, but noteworthy.
There are many other features packed in NetBeans but I decided to only cover the ones I use the most.
CSSEdit is one of those CSS editors that if you don’t use.. you should. OS X only though (sorry Windows users..). CSSEdit gives you complete control over your stylesheets, as well as allows you to organize your styles in groups. these groups appear as folders in your tag navigator, very cool because you can basically have categories (global tags, header tags, footer tags, etc) and sub categories as well all nicely organized. very good for finding style sections that you need to work with! now CSSEdit is not just an editor.. it also allows you to essentially dissect the css of any website by using it’s preview mode. Every wonder how something was done in css? not a problem. I have never been able to work with css faster.
To be honest I haven’t tried any other database management tool other than phpmyadmin, which is well.. not that great. and you can’t really compare the two. One of the tools I use often is the Data Transfer feature. it allows you to transfer data from one database to another, great for transferring structures and data from test databases to production. There is also a data import/export feature that allows you to work with a variety of different file types (csv, text, xml, excel, and DBase) which comes in handy.