Development Tools - What do you Use?

Hey All,

With the big release of V9 coming up, I thought it would be cool to start a conversation about what tools everyone is using to develop Concrete themes these days.

  • What software are you coding with?
  • Are you connecting to the live SQL database or running local? If local, using what software?
  • Are there any other tools you have found useful?
1 Like

I always like this topic.

  • I’m on a mac
  • My main IDE is PHPStorm. Worth every penny. Cross platform too, if I ever need to work from my PC.
  • Running Laravel Valet for my webserver
  • Running DBngin for a database
  • Running an old MAMP copy, for some older databases, but also to run PHP5.6 on a different port.
  • Also running MailHog to capture outgoing emails during development.
  • Using Sequel Pro for DB admin, manual backups, etc
  • Running CodeKit for Sass compiling.

So we do our dev locally, and then push up to dev and live servers when needed.

Some of my favourite little tools are:

  • Adminer - a single file mysql admin, similar to PHPMyAdmin. For times when we only have FTP access, or PHPMyAdmin is broken, this is fantastic.
  • Cyberduck - always handy
  • Archiver - I’ve struggled to find a good zipping program on mac, one that makes it easier to remove hidden files. I’ve ended up using this and it’s worked really well.
  • 1Password - absolutely essential running any kind of business
  • BBEdit - it’s old as rocks, but it’s my little editor I use when I have to open a huge text file, check log file, make some quick notes, etc. It’ll open 100MB text files without skipping a beat.
  • Codebox - an app to store code snippets, sits in the top bar.

There are lots of other apps we use, but those ones I’d say are critical to the way we work.

2 Likes

Fedora Linux, MariaDB and Apache.

PHP Storm - as @mesuva says, worth every penny (cent). Licence covers a desktop and laptop installation.

PHPMyAdmin and Adminer.

Occasionally SSH from the terminal or FileZilla for FTP. Though I rarely use either because I work in packages (rather than /application) and developed Package Magic - concrete5 to build clean packages from my dev sites and then upload them to customer sites. I typically use the host cPanel once to upload Package Magic Starter and I can bootstrap everything from there.

To keep my dev sites and databases clean and to clean up client sites for handover, I developed Extreme Clean - concrete5.

To keep track of what is where amongst many disparate sites and versions on my dev system I developed Site Sniffer - concrete5

For sending big files to customers I often use https://wetransfer.com/

2 Likes

We currently use:

  • Mac for development, some old Windows laptops for testing.
  • VS code is our editor of choice.
  • MAMP as a local server
  • Yemuzip for clean zip files, gets rid of Mac detritus.
  • Prepros for compiling SASS minifying and combining JS, we use to use gulp but there are so many moving parts we seemed to spend more time re-writing gulp files than we wanted to, so back to a good ol GUI.
  • Obsidian Use it for business planning and also use it to store code snippets, it has full syntax highlighting, and a plugin that gives you one-click copy, very handy.
  • Transmit for FTP

Some other less development oriented stuff we use:

  • Alfred with powerpack, all sorts of stuff you can do with Alfred, it has a snippet expander which is extremely handy for often used bits of code or letter and email templates, saves a ton of time.
  • Affinity Designer and Affinity Photo for all our graphic design, site mockups etc.
  • Skitch For annotating screenshots, helps when creating docs or answering support requests.
1 Like

Obsidian looks really interesting, I’m going to check it out.

+1 for the Affinity products, they’re great value. We also still use Sketch a lot still.

One other tool that I forgot to mention that we use all the time for planning and tracking projects is Kanboard. We used to use Jira for a Kanban board, but something about it didn’t quite flow right for us, and we couldn’t justify the on-going cost (even though it’s not expensive).

Kanboard on the other hand we just self host, and is actually surprisingly powerful once up and running, with lots of automated actions. It’s also actively maintained. We use it for keeping track of leads, quotes, work on the go, things to invoice, ad-hoc tasks, etc. Even though there’s just two of us, it’s pretty essential to keep on top of everything. It also works really well with multiple users, with it automatically updating when changes are made by others. It’s much more sophisticated than the screenshots suggest.

Its problem is that the default theme is arguably quite ugly, so I could imagine many being put off because of that. But you can easily install other themes and then customise it with your own CSS.

1 Like

@mesuva Obsidian really is a cornerstone for us now, everything ends up in it, one of the things I love about it is all “notes” are just markdown files that are stored in a vault, and the vault can be located just about anywhere, we have ours in a Google drive so it gets backed up there in addition to our regular system backup.

I will have to check out Kanboard, we currently use Trello but we only really use it for our roadmap for our Modena theme, we are probably missing out by not utilising kanban for more stuff.

I hadn’t heard of Obsidian so just had a look. Is the Obsidian Kanban plugin good enough to fill that role?

I haven’t used the Kanban plugin tbh, so couldn’t say, however, looking at it, it may be a bit clunky compared to a dedicated Kanban solution, as behind the scenes you would have to move boards via the editing interface all of which is done via markdown.

openSUSE Linux
local Apache, PHP, MariaDB
KDevelop, KWrite, phpMyAdmin
FileZilla
Gwenview, GIMP, digiKam, InkScape

1 Like

So we’ve pretty much always developed websites on a live server and just blocked access until the client was ready. Sometimes we would do a subdomain and then transfer the content to the primary…I know, that is probably not the best way to develop websites.

More recently, we’ve started thinking we should really switch to doing dev on a local system and then uploading to the live when we are ready. Especially since we have a number of clients that are on the legacy C5 platform that we will need to convert over. Reading through this post and a few others, it looks like there are a lot of tools people use for local dev.

We also have had a couple clients want WP sites, so I was researching dev tools for that as well and came across and interesting tool that seems to be an all-in-one package called “Local” https://localwp.com/. Is MAMP essentially the same thing as this “Local” program?

Right now we are just developing sites and not looking to develop any themes or add-ons. Any suggestions what what we should get to get us started would be great.

Thanks

I have used mamp and it works really well.

Also why not just setup a dev.url.com subdomain on the server. Works well and lets you create a site which you can then lock using folder passwords etc.

Yeah, that is what we typically do. Either build live on the client’s domain (if new), or set up a sandbox type dev site on our server.