smalpierre
New member
I'm primarily a PHP developer (at least for web apps), and I'm frequently pressed into service as a front end developer.
I don't do ANY graphic design - I have GIMP and Inkscape since I'm not paying for Photoshop / Illustrator - I rarely use them, and even then I'm resizing, or exporting to change formats ... nothing creative.
So here's the tools I use:
IDE / dev tools-
PHPStorm
MySql Workbench
Toolchain-
Git
Ruby with the following 4 gems:
Sass - which is needed
Susy 2
Compass - only because it's easier to set up the compass transpiler than the scss one in PHPStorm
Haml - which I'm starting to use, but might drop it later.
FileZilla - if you consider it part of the toolchain. It's not used in development, only deployment so ...
Of the 3 Ruby gems, I'd really like to only have the Sass compiler, and I'd rather use LibSass - a C++ library that is MUCH faster but it's a pain, and Haml - which I have no idea if there's a non-Ruby transpiler. I think there's a PHP one, but I want a compiled binary like LibSass.
When I'm done with my current project, I'm going to be looking into getting rid of Ruby and Compass in favor of using LibSass for Sass, and something else for Haml.
My workflow goes something like this right now (and I hope to change it when I get rid of Ruby!):
Create a directory, and populate it with my skeleton backend system then point the local dev server at it.
Create a PhpStorm project out of it, and a Compass project, then initialize a Git repository there, and exclude the PhpStorm project directory (.idea folder) and the ruby config file. Then I set up the config.rb file to include things other than compass - like Susy that I might be using in that project. At this point, I set up the PhpStorm projects file watchers for Sass and Haml, and set up Git in the ide.
On the test server (external LAMP server) I create a new site for it, and I have a procedure to setup Git repos for 3 tier deployment. At this point, I can start working and make git commits to the local repo, and when I've got it to where I want a client to start testing it I use git to push to the test server, and send them a link. They can play with that now, as I work on more stuff locally.
Then begins a cycle of features being added, changes being made, and pushes to test. At some point, they tell me to go live and I git push the site up to the production webserver. When database changes have to be pushed, I replicate with MySql Workbench. If I can't get direct database access, I'll output the sql to make the changes, log into their hosting account and run it with phpmyadmin ...
It sounds a little crazy - but git is WAY faster than ftp - and if I bork something I can reverse it easily! usually I exclude things like image directories from git and FTP them up - at least I do if they're heavy.
And that's all there is to it - cut dry and simple right?
Oh, and if they don't have git on the production server, I backup production, and ftp up from test the old school way.
I don't do ANY graphic design - I have GIMP and Inkscape since I'm not paying for Photoshop / Illustrator - I rarely use them, and even then I'm resizing, or exporting to change formats ... nothing creative.
So here's the tools I use:
IDE / dev tools-
PHPStorm
MySql Workbench
Toolchain-
Git
Ruby with the following 4 gems:
Sass - which is needed
Susy 2
Compass - only because it's easier to set up the compass transpiler than the scss one in PHPStorm
Haml - which I'm starting to use, but might drop it later.
FileZilla - if you consider it part of the toolchain. It's not used in development, only deployment so ...
Of the 3 Ruby gems, I'd really like to only have the Sass compiler, and I'd rather use LibSass - a C++ library that is MUCH faster but it's a pain, and Haml - which I have no idea if there's a non-Ruby transpiler. I think there's a PHP one, but I want a compiled binary like LibSass.
When I'm done with my current project, I'm going to be looking into getting rid of Ruby and Compass in favor of using LibSass for Sass, and something else for Haml.
My workflow goes something like this right now (and I hope to change it when I get rid of Ruby!):
Create a directory, and populate it with my skeleton backend system then point the local dev server at it.
Create a PhpStorm project out of it, and a Compass project, then initialize a Git repository there, and exclude the PhpStorm project directory (.idea folder) and the ruby config file. Then I set up the config.rb file to include things other than compass - like Susy that I might be using in that project. At this point, I set up the PhpStorm projects file watchers for Sass and Haml, and set up Git in the ide.
On the test server (external LAMP server) I create a new site for it, and I have a procedure to setup Git repos for 3 tier deployment. At this point, I can start working and make git commits to the local repo, and when I've got it to where I want a client to start testing it I use git to push to the test server, and send them a link. They can play with that now, as I work on more stuff locally.
Then begins a cycle of features being added, changes being made, and pushes to test. At some point, they tell me to go live and I git push the site up to the production webserver. When database changes have to be pushed, I replicate with MySql Workbench. If I can't get direct database access, I'll output the sql to make the changes, log into their hosting account and run it with phpmyadmin ...
It sounds a little crazy - but git is WAY faster than ftp - and if I bork something I can reverse it easily! usually I exclude things like image directories from git and FTP them up - at least I do if they're heavy.
And that's all there is to it - cut dry and simple right?
Oh, and if they don't have git on the production server, I backup production, and ftp up from test the old school way.