This introductory tutorial is aimed at those who are into web development on servers running free server software (For instance a combination of Linux, Apache, MySQL and PHP, or LAMP in short), and wants a brief overview of what applications and tools are available on Ubuntu for this.
For trivia, this Howto's author's main reason for switching from Windows to Ubuntu was the vast number of free productive applications in this area. For the last 1,5 years, he has found Ubuntu to be a great platform for web development.
Writing your markup / scripts
This first section focuses on software that helps you actually develop your web application.
Integrated Development Environments
An IDE is a single program into which all the aspects of coding a web page, or a web application, is done. This includes coding, previewing, debugging, and transferring files to a remote server.
Two main applications are available in Ubuntu with these features integrated:
A modern IDE based on Eclipse that focuses on modern web development. Since it is written in Java it will run in Windows or OS X just as well, and may be a strategic choice for multi-developer projects where the developers wants to use the same development tools. On the downside it is rather resource intensive. SFTP support is available here: http://aptana.com/plugins/
Web Development Editors
WYSIWYG HTML Editors
Screem / NVU
Lightweight General Purpose Code Editors
When Gedit just isn't cutting it, but you want a quick and fast application for editing a couple of files.
Controlling and interacting with web servers
Outline: No need for Putty or similar - gnome-terminal and ssh is all you need. Port forwarding. -unfinished-
FTP/SFTP - Simply use Nautilus -unfinished-
Rsync Unison -unfinished-
Subversion tools: Subclipse plug-in for Aptana/Eclipse CLI NaughtySVN
Essential plug-ins in Firefox
IEs4Linux Windows in VirtualBox / VMWare Konqueror for some safari compatibility testing - Or buy a Mac... -unfinished-
Use the online W3C validators or install local versions for quicker validation.
Firefox's Web Developer Tool can also be used for Validation
Testing your server-run scripts
XAMP Server packages Virtual Server -unfinished-
Synchronize files to a test directory on the server. Use the Synchronization tools mentioned above or an IDE with this feature built-in (Aptana, Quanta Plus for instance). -unfinished-
Web Graphics - Image Processing
Can I run Photoshop in Ubuntu?
In short, Adobe currently doesn't release Linux versions of Photoshop. This means we either need to either:
- Use an alternative Image Editing program like The GIMP
- Run an older of Photoshop using WINE
Use Virtualization software like VirtualBox or WM-Ware to run the Windows version of Photoshop therein.
GIMP should already be installed by default in Ubuntu, just navigate to Applications -> Graphics -> The GIMP.
Ubuntu Gutsy users have reported that CS2 works fine over WINE. Head over to http://appdb.winehq.org/objectManager.php?sClass=application&iId=17 to get a heads up on what versions works and how to get others to work if they don't already.
- There are plenty of tutorials on this subject. Google on "virtualbox ubuntu windows" or similar to find them.
Personally, I have found The GIMP to be sufficient for most routine graphics editing tasks, but then also many times have I missed the increased level of productivity and quality obtained when using Photoshop. Depending on the current project's needs, I use a combination of The GIMP, Photoshop CS over WINE and eventually use a later Photoshop version in VirtualBox.
Web Graphics - Flash
In short: Flash 8 Studio runs over WINE if installed on a Windows Computer and then moved over to a Ubuntu computer. Takes some work but works. Instructions for various version of Flash are over att http://appdb.winehq.org/objectManager.php?sClass=application&iId=23 -unfinished-
Common Questions & Caveats
http://ubuntuforums.org/showthread.php?p=4055765 - Post on the very same subject that inspired to this wiki entry