In this post, I’ll be taking a look at some of the tools that I use in the process of software development that I swear by. It’s not all about Delphi 😉
Before around 2011, I used to be a bit of a “it’s Windows or nothing” kind of person. When I started down the path of developing for iOS and macOS, all that changed; I needed a Mac to be able to develop for those platforms, so I started using one and have never looked back. Most of the tools I use I prefer the Mac version, because it means not having to fire up a Windows VM to run the tool. Today I’m presenting a list and a summary of some of the tools I use. In future I’ll revisit some of these and cover them in more detail in terms of how/why I use them.
Here’s a list of those that I use most:
Of course to use Delphi I still need Windows, so for the most part I have been using VirtualBox to create Windows VMs to run Delphi on.
When a new release of Xcode and/or macOS comes out, as many of you may know, Delphi has not always “played nice” with them, so having a VM of macOS to test out Xcode has been essential. Unfortunately, VirtualBox has not always been able to keep up with changes in macOS, so a while ago I decided to use Parallels for running macOS VMs, on my Mac 🙂
Whilst Delphi is an excellent product for creating back-end applications, PHP applications are relatively easily deployed on any platform (including Raspberry Pi running an ARM Linux variant), and my PHP framework of choice is Laravel. I stumbled upon it around the beginning of 2017 and was very impressed. It can be used to create the front-end part of the application using its Blade templating engine, however it also plays very well with Vue. Laravel is quite mature now, and has a large thriving community.
I’ve just recently come across this one, after being a long time user of Sequel Pro. TablePlus supports a number of databases, has a much nicer UI and supports dark theme.
As with TablePlus, I’ve just recently come across Insomnia, which is an awesome REST testing tool. I find it is much “cleaner” and easier to use than PostMan.
Any editing that I need to do outside of Delphi, I use Visual Studio Code, including all my Laravel work, editing of Java source for jars included in my Delphi projects, and a whole bunch of other files.
Fork is a graphical git client that runs on macOS or Windows, and is the best one I’ve come across. It’s also free!
Slack is a collaboration tool that is probably used mostly for chat, however it also allows integration of many other applications such as Github, JIRA, Google Calendar, Outlook, Zoom, Trello and more. You and your team can receive notifications right in the Slack channel that subscribes to those applications. One of Slack’s biggest drawbacks is that usually someone who is already on the “team” needs to invite others. Fortunately there are ways of having people “invite themselves”, including using a small PHP application that automatically sends the invite, such as the one I use where you can invite yourself to the Delphi Worlds Slack team 🙂
Here’s a list of tools that I have developed myself:
An add-in (or expert) for Delphi that adds functionality that I use all time, including
- Building a jar from Java source, so that it can be included in Delphi projects
- A front-end for Java2OP, to help import Java classes into Delphi units
- Image assets manager for easily configuring splash screens and icons for mobile projects.
..and it also includes (amongst other things) some “tweaks” for the IDE.
Mosco (MacOS COmpanion) is a combination of an add-in for Delphi and an application that runs on the Mac. It supplements what PAClient and PAServer do.
A tool for displaying logs emitted from mobile devices. Presently, it supports viewing logcat output from Android devices, however support for viewing iOS device logs (via Mosco) is in the works.