I have been developing websites and applications since quite a while now (since I was 12) and have used various applications from NotePad to DreamWeaver through PHPEdit, etc.
When I made the switch to « the better operating system », I needed quite a while to adapt properly. I wasn’t having a really hard time, but I couldn’t find the same quality web development tools I was used to with Windows. Today, however, I am really happy with the development tools that I use (which, for most of them, can also be found on Windows by the way) and thought I’d share them with anyone that would maybe want to use them but doesn’t know they exist.
For anyone who’s seriously into developing, an IDE can make you save a lot of time (and money). I have been a long-time fan of Notepad++, but it’s no match for a full-blown IDE if you know how to use it.
Linux had a very small choice of IDEs, especially in web-development. For me, there actually wasn’t any that managed to have all the functions I required and was used to coming from Windows. After quite some research, I found Eclipse PDT and it’s professionnal counterpart Zend Studio.
Eclipse PDT is a framework on top of the Eclipse IDE (which is known especially for JAVA development) that supports many web development features. Some of the key features include :
On top of that, it has a healthy repository of plug-ins written by the community which enable you to build some other features on-top.
Zend Studio is Eclipse PDT with a layer on top. It has very nice code-completion features, nice FTP integration and tends to be a little faster. On top of that, it comes with pre-configured installers for different Linux flavors, which is very straight-forward.
With Zend Studio, you’re basically paying for peace-of-mind. If you do not want to go through the hassle of looking for different plug-ins and need your development environment to just that extra bit faster and stable, you should definitely go for Zend Studio, it’s the best PHP IDE I have been able to find, lucky for me it is cross-platform.
This is magnificent tool to get your database analysis work done in a visual way. You can set it all up with a nice UI, connect to your local DB and the application automatically replicates your model into an existing database. On top of that, if you need to change anything later on, it has the possibility to “ synchronize” both your model and your development database.
I have been late in discovering this tool, but it has become completely indispensable since I got used to it.
Zend Studio has an integrated FTP; but I have found myself often wanting more anyways. FileZilla enables you to connect to different sources at the same time, synchronize without any problems and get your work uploaded without hassle. It is a cross-platform and very stable, mature program.
One big disadvantage of coding on Linux is the absence of the most popular Internet browser “Internet Explorer”. I know, I don’t like it either, but as a professional web developer you have to make your site compatible with Microsoft’s Internet navigator.
For this reason, I use a web-based service named “Litmus”. It costs quite a lot (49$ / month), but if you develop a lot, it is surely worth it. What it will do is simply take a screenshot of your website in different Internet navigators and on different operating systems. It enables yo to win the extra 30 minutes on every CSS you have to deal with.
Very often, forums are too slow to be of actual help when you’re under time-pressure (which is usually the case when you’re working on professional projects).
Sometimes, however, you are able to finish your day with a problem that you cannot seem to deal with in an easy and quick manner. In that case, it is always a good idea to leave a quick message on a forum for someone who might be able to give provide a solution to your problem. That way, when you get back the following morning, you’re able to use the solution directly and not lose another 2 hours only to find out it could have been done in 2 minutes worth of work-time.
The forums I use are www.dreamincode.net . They are not the most active, but a very helpful community that know what they are talking about. You can check them out and use whatever forum you prefer, but this is a nice start-point.
Any suggestions ?
I am a professional web developer, knowing my way around the existing applications, but I am not perfect. If you have any suggestions and / or comments, please do not hesitate to contact me. I am always looking forward to find ways to cut development time (without cutting on quality) !