Local Production Environment Choices for WordPress: DesktopServer

Photo of Man at Computer

DesktopServer

This product is essentially a WAMP / MAMP application that has been extended to include some additional WordPress oriented functionality.

In its free version the customizations that stood out to me are

  • its inclusion of Xdebug,
  • support for Domain Name Mapping,
  • auto-creation of Apache Virtual Hosts,
  • and its auto-install of WP.

I was surprised to note that they list PHP 5.5 as being included but no mention of PHP 7.

When one moves up to their premium product ($100) one receives

  • a trace utility for PHP debugging (which one?),
  • LAN sharing for mobile testing,
  • a few plugins (bypass login, airplane mode, enhanced Coda2 preview, Adobe Dreamweaver),
  • “blueprints for automated WordPress configurations”,
  • the ability to direct deploy to a live server,
  • and the ability to import (from BackupBuddy, Duplicator, BackWP Up, BackUp WordPress, InfiniteWP, ManageWP), export, and archive sites.

I didn’t spend a ton of time with it, as at the time I was looking for something that was virtualized – e.g., using Vagrant or Docker.

I’d want the premium version –  but $100 is quite pricey, imho, especially when much of the product consists of open source components.

Don’t get me wrong, I understand this has had some significant time and effort put into it, but I’ll blog about a few other solutions available that are free and open source and you’ll see how they can stand shoulder to shoulder with DesktopServer.

Geeking Out: I Love Cloud9!

Introduction

LOVE Cloud9.

For the unGeeky

Me: Cloud9 is a development environment.

You: Great, that was singularly unhelpful.

Me: A development environment is the way one configures one’s computer to run the various applications used in programming (writing an application).

You: And this is so great because?

Me: Because setting up a development environment can be time consuming. There are usually a number of different applications you need to install and configuration changes that need to be made before the development environment is ready to use. For example, if you want to develop a PHP application (Wikipedia and WordPress are built on this) you’ll need an application to write code in as well as a web server to run the application. Most likely you’ll also need a database server to store all the data your PHP application works with.

In addition, programming can be messy and you may mess up your development environment and want to reinstall your Operating System (e.g. Windows, Mac OS X, Linux) – in which case you’ll have to do a bunch of work all over again to setup your development environment.

Personally, I like to have separate “workspaces” (aka development environments) for different projects. I may be writing a WordPress plugin in one development environment, experimenting with Node.js (currently one of the “hot” technologies), and have another project or two floating around. It helps me to keep things organized when my “workspace” only has the files related to the project I’m working on currently – and if I make any changes to configurations (e.g. to the web server) they will only effect this one project and not any other projects I am working on.

If you are looking to try out programming I’d recommend codeacademy and once you’ve got the swing of things, use Cloud9.

For the Geeky

Cloud9 provides a dockerized instance of Ubuntu preconfigured for development and a web-based IDE. It has prebuilt configurations for Node.js, LAMP, Python/Django, Ruby, C++, WordPress, Meteor, and HTML5.

Cloud9 IDE Screenshot
Screenshot from the Cloud9 IDE. Don’t be scared, you don’t have to have this many windows open at once.

For free you can create multiple workspaces, each workspace having 1 CPU, 512 MB of RAM, and 1 GB of HDD.

The IDE includes code completion, a JS/Node.js debugger, and a number of other features you can read about on their site.

It integrates seamlessly with Github and Bitbucket, allows you to share workspaces with others, provides a publicly accessible URL (if desired) so you can show off your application, and so on.

Looking to do a little WordPress development? You can have a workspace setup in under five minutes!

Ohh, and did I mention that the Code9 IDE is available via GitHub?

Learning and Brushing Up On Web Programming.

December 2008 Browser Usage
December 2008 Browser Usage (Photo credit: Elliott P)

There are a bazillion options out there for learning web programming. One I recommend (and still use) is W3Schools. No, you won’t learn everything by using

W3Schools, but you can learn a lot and its more systematic than googling for articles piecemeal as you go along. I also find W3Schools a useful reference tool when I need to refresh my mind on some technique or language I haven’t used in a while.

They have tutorials available on HTML, CSS, JavaScript, AJAX, SQL, PHP, ASP.NET Web Forms, XML, and a bunch of other technologies I didn’t mention. If you are brand new to web programming start with the HTML tutorials then move on to CSS followed by JavaScript. It is also likely that you’ll need to do database work at some point, so learn SQL and then you can choose what sort of language you want to program interactive applications in – two of the most popular are ASP.NET and PHP.