I’m slightly prejudiced here as I’ve been using BBEdit for pure text editing since the mid 90′s. Habit breeds comfort. The big brother of TextWrangler, BBEdit costs $99.99, and has been around a long time. In areas it clearly shows its age, especially in the UI. It can be somewhat intimidating for the new user, and debugging errors can take time, indicating the need for better debugging tools, a topic for another time.
BBEdit has a vast array of keyboard shortcuts, and you can add your own. You also can create text clippings that can be invoked by typing the first characters of the file name in which you saved the clipping, which saves considerable time. Code intelligence speeds up development, but some of the word suggestions can be annoying (though this can be turned off). Balanced braces are not added automatically, but you do get hints when they are balanced, and you can select them to make sure they do balance.
Sometimes when writing a function in FileMaker with nested brackets, I’ll bring the function into BBEdit to verify the “(” are all balanced with a matching “)” – a feature I wish FileMaker had in the calculation dialog. BBEdit lets you either open documents in a drawer – no tabs – or independently. The latter is nice when you want to stack documents to compare them side by side. You can do this manually or have BBEdit show differences between the frontmost two documents. Although compared to new apps and IDEs, BBEdit seems somewhat old school, it remains my go-to tool for clean editing with lots of power, but minimal frills.
Only one of many available preference options. This shows a fraction of the editing tools available and keyboard shortcuts. Though the interface is bare bones, the underlying power is world class.
Costing $99 (about the same as BBEdit), Coda looks and feels far sleeker than the venerable Bare Bones product. Created by the same people who make Transmit, Coda bills itself as an all-in-one development environment, with text editing, project management through what it calls “sites,” CSS design, Terminal access via SSH or local shell, and reference books. Coda’s UI is seemless. The Clips palette floats on the screen. You can split the main editing window multiple times, not just once like in BBEdit, and you can split vertically or horizontally.
The code completion comes with the reflexes of a cheetah. Adding new styles to CSS documents is a breeze. You can work locally or remotely, or work locally and publish to a remote host through the Sites. I wish it would default to open the site files in the navigation panel, and not just the last stored open tabs, but this is quickly fixed in the preferences.
Once adjusted in the preferences, opening a site from the Sites icon opens all files in that site, app icons included.
I believe that the app you choose will generally reflect your personality. People with PHP experience who already have their favorite app won’t be swayed by any opinions above. After going through each of these six apps side by side I found some that complement each other, and some that make me consider my current choices. I’ve listed the version numbers next to each app, as things change over time as new versions are released.
Some other editors worth mentioning include SubEthaEdit, a great collaborative tool; the Java based jEdit ; Smultron, formerly free and now available at the Mac App Store for $4.99; Gnu Emacs a cross-platform tool based on Lisp; Bluefish Editor, with both native and Macports flavors.
TextWrangler is the minimum app one should have for any text editing. KomodoEdit, for the amazing cost of $0, is the next choice for day-to-day work. Coda’s UI is modern and self-contained, and for a relatively new app it is hard to resist. BBEdit works well for heavy lifting – searching multiple documents, comparing data, but shows its age. I’ve used it so long, I always held the belief that you could take it away when you pry it from my cold, dead fingers. I know people who feel the same way about EMACs and other text editing apps.
Whatever your ultimate choice, writing PHP code can be frustrating, time-consuming, and yet ultimately rewarding as you see patterns and discover shortcuts. Taking the time to become familiar with one or two text editors ultimately will save you hours of effort over time. Creating code snippets and storing these for further use via BBEdit, for example, almost makes me blush every time I call them with five or fewer keystrokes.
To learn more about building web pages to display FileMaker data using PHP, check out my PreCon session at FileMaker DevCon, Core Elements of PHP for FileMaker, Tuesday, August 2nd at 1:30pm.