In former times, people usually used one workstation to work and all the other devices (if they had one or more) for something different. Today, the situation is changing because of the amount of 'other devices' and the way they are used. Internet access is available in many places and it is often not that easy to distinguish between work and 'the rest'.
You probably have a kind of personal computer and that is your 'workstation'. This doesn’t have to be the latest version. Even if you have an older PC, it is easily possible to develop for Joomla!.
Joomla! extensions consist of source code. Source code is text written in a computer programming language. It needs to be written and it needs to be edited. Therefore you need a source code editor. It can be a standalone application or it may be built into an integrated development environment (IDE).
Source Code Editors
Many people start their career as a developer with easy code in simple editors. Each operating system comes with a plain text editor. So often the 'hello world' example is created with
You can use these editors for your very first steps. It is also useful to know the basic behaviour and commands of these editors if you have to edit source code on another machine than yours (e.g. your live server). Especially in the case of VI it is important to know how to insert and delete text and how to save the edited file (Basic VI Commands).
After the first steps, you'll notice that it would be nice to have more features like splitting the screen to see more than one file, 'fold' the source code to have a better overview or search in all files of a folder and more unlimited other features.
When you are in that stage, have a look at more advanced editors like
Integrated Development Environments (IDE)
Joomla! is using the model view controller (MVC) concept as the key concept in developing extensions. Using that concept, you have to write a lot and, therefore, you soon wish to have something which enables you to be more productive. Thus, an IDE like Eclipse or Komodo can be useful.
This is a 45 minutes webinar about using Eclipse http://community.joomla.org/blogs/community/828-webinar-using-eclipse-for-joomla-development.html
What are professional developers using?
I asked a question in Facebook and got lots of answers (Figure 1)
A few quotes from Joomla! developers:
Most Notepad++ and Netbeans (Brian Rønnow, Denmark)
Switched almost completely to PHPStorm but some smaller things I still do in TextMate. Some older projects are still under Coda control. (Achim Fischer, Germany)
For dev I use eclipse, for quick edits I'll use Coda. (Chad Windnagle, USA)
notepad++ and Eclipse (Ronni K. G. Christiansen, Denmark)
Notepad++ and Netbeans :) (Jeremy Wilken, USA)
I find Quanta Plus awesomely handy. Mind that I mostly use it for web page editing. Of all the editors I could find in the Canonical repositories I liked Quanta Plus the most. It would take much time to list all that I like about it so I won't do it here. :-) (Alexey Baskinov, Russia)
For development basically only Eclipse. For quick edits also, Komodo Edit (Radek Suski, Germany)
It depends on which file / which purpose of editing. Zend Studio and Notepad++ are my choice. (Viet Vu, Vietnam)
Lamp Software Bundle
LAMP is an acronym for a solution stack of free, open source software, originally coined from the first letters of Linux (operating system), Apache HTTP Server, MySQL and Perl/PHP/Python, principal components to build a viable general purpose web server.
The exact combination of software included in a LAMP package may vary, especially with respect to the web scripting software, as PHP may be replaced or supplemented by Perl and/or Python. Similar terms exist for essentially the same software suite (AMP) running on other operating systems.
Suitable for beginner's are XAMPP, available for Windows, OSX and Linux, WampServer for Windows and MAMP for OSX. They are all easy to install Apache Webserver distributions containing the latest MySQL Database and PHP script language and they are really very easy to install and to use - just download, extract and start.
As browsers, you need the usual suspects: Internet Explorer, Chrome, Firefox, Opera, Safari. You need to verify your results in all these web browsers.
What do I need?
As already mentioned before, start with the editor of your choice and install a Lamp Software Bundle that fits your needs. Install a fresh copy of Joomla! without example data.
- Lamp Software Bundle
- Joomla! 1.7
For this book I am using OSX as the operating system, TextWrangler and MAMP. As a browser, I use mainly Firefox with the plugin Firebug.