Posterous theme by Cory Watilo

Web Developer Starter Kit for OSX Lion - Part 1

Getting into web development can be difficult, here are some quality, native Mac apps for beginners to web development to help get them off the ground. With OSX Lion just released many of these apps will be adding new Lion functionality to their apps and I've posted links accordingly if there is relevant information about it.

Text Editor
Textmate

A favourite among many Mac users, TextMate offers developers a quick and nimble text editor with the ability to add some pretty powerful functionality through bundles & plugins.

Personally, I've been using TextMate for over 18 months and I'm still finding out new quirky shortcuts for HTML/PHP/Javascript tags.

With bundles for most of the major frameworks including CakePHP, Zend Framework, Lithium; it makes developing for certain frameworks very easy and manageable. Not to mention other features such as SVN support, macros and user submitted themes.

For developers that use multi-screen environments or feel they would benefit from the Full Screen functionality that OSX Lion providers, here is a TM plugin that adds native FS functionality.

https://github.com/downloads/enormego/EGOTextMateFullScreen/EGOTextMateFullScreen.tmplugin.zip

Similar
1) Coda
2) TextWrangler
3) Sublime2

Source Control (SVN)
Versions

If you aren't using some type of source control yet for your development, well... you should be. A GUI to handle the process of using source control makes it that much easier. While it's hard to create something comparable to TortoiseSVN on Mac, Versions certainly goes a long way to creating a great interface to interact with your SVN repositories.

One of the things I love about Versions, which I mentioned above is the interface. It's so clean and simple which makes even the most beginner of source control users able to commit/rollback with ease.

Similar
1) Cornerstone

Source Control (GIT)
GitHub for Mac

I've gone with GitHub for Mac (GHFM), but I would just like to flag that obviously because this was built by the team at GitHub it obviously only supports its repositories. So with that in mind, lets get started. With GHFM you will be able to do all the basics such as pull/merge/fork/commit, from a clean smooth UI.

For a version 1.0, it does what it says it does very well. I'm yet to come across any large flaws/bugs, if you are using GitHub as your git source control provider I would definitely look at GitHub for Mac over other offerings

If you are using one of the many other git providers, here are some alternate apps that you could use.

1) Sprout
2) Tower

Note on source control: GUI's are not essential for using source control systems such as git or svn, the most powerful source control tool you have in my opinion is Terminal, many times when using clients such as Versions etc I find a piece of functionality which doesn't work the way I expected it to, yet just running back to Terminal and doing via commands can often make things much simpler.

That is it for part 1, in part 2, I will look at Database Management apps (for both RDBMS and Document oriented databases), FTP & Dev Environments.

Is sprintf() underappreciated?

In the never ending hunt for clean code, I find code such as

$out .= 'Hello ' . $data['name'] . ', I am ' . $data['years'] . 'old';

... rather troublesome, while this example is relatively readable, when you're generating large blocks of HTML it can turn into a nightmare.

For me, this chunck of code above, causes me many headaches, I, like many developers on Mac use TextMate, while this is an awesome app it is certainly no IDE. Up until recently I had no idea it had any syntax checking (love a good shortcut). So missing a single quote or concatenation operator became a nuisance that I didn't want to have to deal with.

sprintf() to the rescue!

When you compare this code example to the code above, you start to see how much more readable this is.

$out .= sprintf('Hello %s, I am %i years old', $data['name'], $data['years']);

Check out the documentation for sprintf(), it handles many datatypes, as well as location swapping etc

GitHub for Mac Application Released

GitHub, the current czar of source control system, git has released an application for Mac, allowing easy management of repositories stored on their servers.

Coming in at a whopping $0, this native OSX app should be a welcome upgrade to developers using tools such as git-gui or gitk. It will also be interesting to see how this application weighs up against the other native Git apps available for OSX, you can see relatively current comparison of such tools here.

Currently there are two very good native OSX apps that I've used for SVN repositories, Versions and Cornerstone. While neither has expressed any desire to release a Git equivalent of their applications it will be interesting to see how they tackle to rise of Git in comparison to SVN.

The obvious drawback for this app is if you have repos on other providers such as Assembla, then this tool won't be of any use to you.