Best tips and development tools from the full-stack Joomla developer - Emerson Rocha Luiz
This month, we had a great interview with Emerson – a full stack developer as well as a Joomla evangelist, a veteran Joomla Forum Moderator and a Joomla Bug Squad member. He shared with us how his chemistry with Joomla started almost a decade ago. Also, we got the chance to ask him about his favorite tools and tips working with Joomla.
I hope that these tools and tips will give you guys out there more options in building your Joomla website much better.
Do you have your personal favorite Joomla tools to work with, or any other website development tools to build Joomla website?
If yes, it would be great if you could share with us your list!
If you develop extensions or templates, use Git (the best version control system), to save the versions of your work. It works even when you do not use a remote site like github.com, just your local folder. But if you want, you can have free private repositories at bitbucket.com and gitlab.com.
SSH is your friend. If your host supports SSH, use it. A very good GUI for Windows (and also Linux with Wine) is WinSCP. With WinSCP you can right click to compress or uncompress – it’s something that on most hosts you would need to use CPanel or Plesk. It’s very useful after your learn it.
Some people like Akeeba Backup. Others like the copy and paste with FTPs. Want something really nice? RSync. It’s not a new tool, but is very good for larger deploys, or even backups, and it consumes way less bandwidth after the first synchronization.
And what are your top tips for Joomla developers to work with Joomla more efficiently?
- Use PHP7. Joomla 3.5 and most extensions work well. It is faster and uses fewer resources. I saw sometimes the improvement goes up to 40%;
- If you have guaranteed RAM (VPS, Cloud, dedicated server) and only one or few Joomla or other PHP application, turn on PHP OPcache. Check OPcache hits and choose the best cache memory size.
- mod_pagespeed: for those who know how to configure very well, is a must. With good cache, you will not waste CPU, and will improve your end user experience, and, for sure, search engine rankings;
- Varnish-cache: also for experienced developers, it is a must for big sites or if you just want spend less using only Amazon nano instances;
Do you have anything else to share with our Joomla readers?
Sure. Joomla is so good at allowing site builders to make a complex site without the need of a full team. However, at least in Brazil, when there’s a big project which is usually custom CMSs, it will always special Drupal specialists take it. Because they already have by default a big team, and a more “enterprise mind”.
So, I think for Joomla developer as an individual, should learn that: a lot of people sell site, some sell a project, and some sell a dream. The only difference between them is just more zeros at the end of the price number.
You “sell a site” when your advertisement says "we make sites in Joomla" and your price list is comparable to competitors who advertise exactly the same thing. You see other Joomla developers as competitors. You avoid partnering, and prefer smaller jobs, which are easier to manage. That's not bad you're getting in the website development. I started to like that.
You "sell a project" when the software you have is just a mean, and it’s not the final goal. You no longer install an extension just because it looks cool or it will impress your customer. You study what the end user wants, and everything related to that, even if it means that the client may not hire you. You focus more on how to make a business succeed, and less on being the one that makes the software. This requires more knowledge beyond the use of softwares but it gives you more in financial return. I recommend this way to grow for all those who have good knowledge about Joomla.
Professionals should have more business vision, and be less restricted by the software.
So, what I would end this interview saying to you is, if you can, stop selling sites, and start selling projects.