Posted by cliff98109 on August 27, 2013 at 5:05pm
Looking to buy a new laptop and I'm wondering what OS to load on it, what are most people running for Drupal development? So far I've just been using my windows 7 box which seems to work fine for what I've been doing so far, are most people using linux?
Comments
I ran Winx for 13 years and
I ran Winx for 13 years and it did my career well, tried OSx for about 1year and it was abysmal. I've been using Linux lately now 100% of the time (on my Dell laptop) and havent looked back, its a fantastic experience. Give Linux Mint a try (Im using Mint 15), its friendly, eaisy to use and doesnt have the sleezy amazon stuff in it that Ubuntu has. You can even run Oracle Virtual box for any Winx virtual images you need if you still have some legacy apps/services that you need to develop for.
If you want to read up more on distros try this http://tuxradar.com/content/best-linux-distro-2012
OS X or Linux
Its a pretty personal preference kind of decision but for my part I prefer Mac OS X. For me much of the UI and features are soooo much easier than windows 7. I spent the last year+ on a windows 7 laptop and while working was fine, I'm way more productive (and happy) now that I've switched back to a Mac. I'm pretty happy with my current dev setup; Acquia Dev Desktop, Komodo IDE, SourceTree and Terminal. They all worked out of the box without any weird fiddly work arounds like I had to do on the laptop.
I really liked Ubuntu when I used it a year ago, but there are other advantages I like in the Apple eco-system.
I'll just never use Windows again :) Not my cup of tea.
Drupal is largely platform
Drupal is largely platform agnostic and a Windows, Mac, or Linux machine are all fine for doing dev work on. So pick whichever OS you're most comfortable with and fits your budget. That said, Drupal is most optimized out of the box for Apache servers, but there are out of the box distros set up for IIS servers.
f you get Windows, I recommend using WAMP Server or some other Apache set up. You will also want to install Putty so you can do command line stuff (i.e. Drush). Also be sure that you buy a quality computer and not a discount brand.
I personally use a Mac because I like the UI along with developer features, and I also have Windows and Ubuntu VM's installed for occasional dev work in those environments. It's also what my work provides me. I've seen Drupal devs do good work on all three, so no one OS is inherently better than the other per se.
Raises another question...
Your comment about running wamp raises another question. I'm current using Drupal installed under my account on Arvixe* so I don't have to explicitly start Apache. Do people typically do their development locally on their own machine and only export it to it's final location later?
*I started out using Drupal and lamp (Ubuntu) inside a virtualbox on my windows machine but I switched over after I got my Arvixe account.
Deving locally is a matter of
Deving locally is a matter of personal preference and/or company policy, but for a lot of folks who work with business level sites and applications, the workflow process typically goes local machine ->test server -> production server. If you are happy with using remote hosting for your work like Arvixie, then there's no real need to change. But you might find that deving local has a lot of advantages. As a good example, I've begun using a lot of Git and GitHub for versioning control and automatic publishing as of late,. While I can't speak directly about Arvixie, lots of shared hosting servers limit or outright forbid SSH command line accesss, so that would mean no using Git for publishing. This is never a problem on a local dev machine.
And if you are using an application like WAMP Server or XAMPP, both have GUI controls that will start and stop Apache at will. I personally use XAMPP on my computer and it's cake to start and stop the server any time I want.
Dev -> Stage -> Production
I can say for my part I've finally gotten myself in the habit (mostly :) of following the Dev -> Stage -> Production workflow. I have a server with Omega8.cc that runs Aegir for site management. I start by creating a basic (platformed) Stage site. Push the theme to a BitBucket git repo. Download the same platform on my Dev machine which is running Acquia Dev. Pull the DB using Backup & Migrate and use SourceTree to pull the theme repo.
That way I can do my work on the dev machine, which is quite a bit faster, and doesn't risk bringing the stage site down if others are using it (like the content creators). When i have something to commit, SourceTree is crazy easy. I pull (via Terminal) the theme/other commits to my Stage site, flush the cache and I'm good. If others have made any changes to the Stage site its easy to pull the sites Files and Backup & Migrate down the database.
I'm not doing this 100% but I'm trying to get there. :) I don't know if its the 'right' way, but it has saved my butt a few times already.
OS X at Drupal Con...
I can tell you that at Portland Drupal Con, Macs were far and away the largest group of computers at the co-workings. I've used both, and I completely agree with Jeremy's post above.
Mark Squire
Director of Technology
Center for Educational Leadership
University of Washington
VS.PHP
Sorry if this sounds like a product pitch, but I am pretty happy with a tool called VS.PHP and nobody has mentioned it. For me the choice was less about the OS and more about the tools.
I do a small amount of module development and need a PHP debugger. A few years back I tried Eclipse and the XDebug debugger on an Ubuntu machine but, after two days of struggling with it, could not get the debugger to work for me. I could eventually set a few breakpoints but the debugger did not always stop at every breakpoint. I then tried a product called VS.PHP which runs on Windows (It is a plug in to the Visual Studio IDE). It costs about $100 and IMO is totally worth it. I installed it and it just worked out of the box. By default, it installs and launches an Apache server on my dev box so I can simulate pretty much any hosting environment on my local machine: Apache or IIS, MySQL or SQL Server, multiple versions of PHP.
I am sure somebody with better knowledge of XDebug could have gotten the Eclipse thing going, but for me, two days of frustration was my limit.
If you go this route, I suggest you put your development database and web code on an SSD drive because performance is miserable on a traditional hard drive.
Netbeans on Windows with cheap hostgator account
I have both a laptop and windows box. I use netbeans on both and connect to sub-domains that are easily created on hostgator. When you create a sub-domain, create an ftp account for it as well. Then in netbeans, create a new project and choose PHP Application from Remote Server. The first screen is where the remote files will be stored and synced locally. You also name the project and choose your php version. The second screen is for the remote location information. This is where you enter the url to load into your browser when running the application (the sub-domain you created earlier). Under Remote Connection, click Manage and enter the ftp credentials you created when you created your sub-domain.
That's it. You are now ready to go. Netbeans will keep all the files synced up for you automatically.
The best part is when you do the same thing on a second machine (or a friends machine anywhere in the world). Netbeans will keep everything all synced up based on timestamp between the machines. Git without using Git!
Netbeans works on Windows Mac and Linux so the operating system doesn't really matter.
To add the Drupal specific code hinting, click here