Are you still using XAMPP or LAMPP as your main development environment? Are you writing raw PHP? It’s time to change, start using Open Source projects, free services and boost your team’s productivity and quality.

Here is a list of tools that we use on a daily basis:

Docker (https://www.docker.com)
Kitematic (https://kitematic.com/)
Yii2 (http://www.yiiframework.com/)
Composer (https://getcomposer.org/)
PhpStorm (https://www.jetbrains.com/phpstorm/)
Xdebug (http://xdebug.org/)
Git (https://git-scm.com/)
GitHub (https://github.com/)
Bitbucket (https://bitbucket.org/)

Docker & Kitematic

Docker is our standard tool for running virtual machines, we use a base image that has Apache and MySQL installed on it. Every project has it’s own Docker machine so we can easily share it with the whole team. We have chosen a simple approach with Docker, our images have Apache and MySQL in the same container, so for development we don’t need to have them running on different containers.

dockerFor managing Docker containers we use Kitematic, it’s a very intuitive tool that allows us to start and stop containers easily and quickly.

kitematic
In Mobile Jazz we have created a bash script that creates the Docker container and run a few setup tasks, enabling us to start a new project in a couple of minutes.

Yii2

Yii2 is our standard web framework, we like its design. The data access layer is easy to use and flexible, the code generator save us time and the RESTful support is excellent.
The main downside about using Yii2 is that it’s still somewhat new and it’s community isn’t as big as Yii 1 or other projects. However it is big enough and growing everyday.
We have also spent a lot of time with Symfony, but overall we like more Yii2 and how is designed, especially the code generator. If we compare the Crud generator with Sonata Symfony project, we have found that Sonata is not flexible enough and the documentation lets it down when you need to do a few custom things!

yiiframework2

Composer

If you use Yii2 you already using Composer for package management. Composer and Yii2 works perfectly together and you can use almost any existing PHP library within your Yii2 project.

composer

There are a few libraries we use in any project:
Oauth: almost all our projects are complementary to a mobile app, so we use this library as an oauth2 server.
Parse: we use this service to send push notifications to the mobile apps.
Cloudinary: for image upload and management.This works like a charm, especially for mobile apps as you can adapt your images to the device resolution.
Mandrill: if you don’t want or need to setup a mail server you can use this service to send emails to your customers from the server.

PhpStorm & Xdebug

We have tried a lot of IDEs (Atom, Brackets, Sublime Text, Eclipse…), but we have found that PhpStorm is the best for PHP development. It’s the only paying tool we use and it’s totally worth the price (is not expensive at all).
One of the main reasons to go with PhpStorm is its support for Xdebug, so far it’s the easiest tool we have found to use with it. If you are not using Xdebug or a similar debug tool, you should start,  you may be wasting precious  time and money! Being able to debug your code really helps save time.

jetbrains

Git, Bitbucket & GithHub

I guess you are already using Git, if not you should start immediately (unless you are using another control version system such as Mercurial).

gitAs we are a consultancy company we often handle a large number of projects over the year, so we use Bitbucket as our main repository server. We prefer it over GitHub because it’s cheaper to pay for users than for repositories.
Even if you use Bitbucket you should have a GitHub account, almost all the modern Open Source projects are hosted there and if you have an account there, you can easily fork a project or contribute to it.

At Mobile Jazz, we believe in ideas and we will help you develop them. We strive to be at the top of what’s happening in technology, digital marketing and design. We continuously educate ourselves, and experiment with the latest trends to stay ahead of everyone else. That’s why we’re able to give you a competitive advantage in the market. Simply drop us a line and we’ll take your project one step ahead!

Jordi Giménez

Jordi Giménez

Jordi has worked as a project manager, developer and security analyst in web, iOS and Android. He’s worked for companies big and the small in government, banking, insurance, healthcare and IT.