My Workflow

29
Jun
2014

As a part of my portfolio I wanted to share my web application development workflow and most of the tools I use on daily basis.

Lets start with hardware.

Nowadays I mostly make responsive websites and in my opinion if you see more you will make less bugs. I work on late 2013 13" MacBook Pro, which is hooked to 27" quad HD monitor. MacBook uses a little program called QuickRes to run in little higher resolution than it can out of the box. By default max resolution is 1680x1050 px, but I like to use it at 2048x1280 px. But external monitor is 2560x1440 px. Both together give huge workspace for IDE, browser, terminal and other usefull tools used in development process.

Next to them is my Samsung Galaxy S3 plugged in dock and iPad mini 2nd generation. Ipad is placed in Logitech Ultrathin Keyboard, because I sometimes use it for chat or ssh/terminal.

Backups are very important, and sometimes with just version control is't enough, behind mobile phone hides 2x Western Digital My Passport Ultra 1TB hard drives, one of them is just for cold storage, other is divided in 2 partitions- 500GB each. One of them runs Time Machine backups hourly, other half is just for storage. Both along with Razer Blackwidow TE keyboard are connected through USB 3.0 powered hub.

My workspace/battlestation

My man cave is a mess, but it is functional, though I would love bigger table and another 1920x1080 monitor for portrait mode and VESA desk mount to hold them, but that is in my near future upgrade plans.

Now the fun part, all the software I use every day about 12+ hours a day.

Lets start with IDE.
For quick edits through FTP client or quick edits in general I use Sublime Text 3
But all the regular work is done through phpStorm, which is extremely powerful php IDE, highly configurable and with a lot of built in features, such as shortcuts to methods, version control, debuggers, and much more. If you are not familiar with it, check out their site and videos jetBrains team has posted, definately one of the best IDE for php. PhpStorm has 30 day free trial.

Local server.
For local environment I use MAMP pro. It has almost all php extensions, very easy to add new virtualhost or change php version. Runs flawlesly, working on about 20 projects I only had 1 issue with memcache, but that was because I really didn't know how to set it up. MAMP pro version isn't for free, but totally woth the money, also it has 30 day free trial.

SQL client.
For pretty long time I was using myPhpAdmin. It get the job done, but was a little bit slow. Few months ago collegue shown me Sequel Pro, very powerfull database client, which is extremely fast and can work on local and remote databases as well including SFTP connections with keys.

Version control.
For version control I use Git (as most of developers) combined with bitbucket. While I feel very comfortable using Git from terminal, recently I finally moved to Git with GUI- the powerfull Tower app. There is nothing much to tell about Tower app, it is very powerfull, can handle many repositories at the same time, displays changes in files, has shortcut keys, can manage staging and many more features icluding 1 click push/commit/pull options and many more features. Unfortunately it costs about 70 USD (49 EUR).

FTP client.
I use panic - transmit app for FTP conections. I was using FileZilla for long time, but it was painfully slow. Transmit app has many cool features as mounting FTP conection as disk, so I can browse files from terminal app. It is also very fast and definately one of the best file managers / FTP clients for Mac.

Development process.
My favourite helper app is CodeKit. It works as sass compiler, file watcher, browser refresher and many more things. Best feature about it is browser refreshing on file changes, CodeKit refreshes all devices if source code is changed, so I almost never have to touch my iPad or phone or desktop browser while styling elements and writing sass. It also have a lot of usefull features such as javascript files merge and minigying, bower framework inports and many more. Definately check it out.

Notes, screenshots, organizer and music.
I use Evernote and Skitch (both are from evernote team) for taking notes and fast screenshots, combined with img.urls app for fast upload to imgur.com.
I use sunrise callendar app on mobile devices, default OS X callendar on desktop. All of them are synced to my Google Calendar.
And for music I use Spotify premium. It is great music service, which synhronizes music to all my devices, so I don't have to deal with playlists, file transfers and stuff like that.