User Level: 

Developers use a wide range of different tools to get the job done. Following are some common ones that all developers should have at their disposal.

  • A basic, working familiarity with the operating system of choice
    • You'll also need administrator access to your computer
  • Some familiarity with using your operating system's terminal and file system
    • Understanding and navigating your file system is absolutely critical
    • Having a degree of comfort with your terminal will make your life a lot easier in many cases
  • A good code editor
    • Don't try to develop using a plain text editor like Notepad - you'll be eternally frustrated
    • Here are some good options you might want to explore:
      • Atom (GitHub, Free, Windows/Mac/Linux)
      • BBEdit (Bare Bones Software, Not Free, Mac Only)
      • (Adobe, Free, Windows/Mac/Linux)
      • Notepad++ (Don Ho & Community, Free, Windows Only)
      • PHP Storm (Jetbrains, Not Free, Windows/Mac/Linux)
      • Textmate (Allen Odgaard, Free, Mac Only)
      • Vim (Vim community, Charityware, Windows/Mac/Linux)
      • VS Code (Microsoft, Free, Windows/Mac/Linux)
  • A local development environment
    • These can take many forms, depending on the developer and operating system
    • For Drupal development, Web Services suggests, and can help you with, Acquia Dev Desktop
  • Up to date versions of all major browsers for cross-browser testing

In addition to the "must-haves" above, there are also some "good-to-haves":

  • Some type of version control system
    • Web Services suggests GitHub
  • Some type of local testing environment
    • Web Services suggests Behat - ask us for our OSU Drupal Behat package or experiment with building your own by following these instructions.

There are also more specialized tools that the different developer types will employ as needed. For example, a theme developer may use some type of accessibility testing tool, such as WAVE, to find and correct accessibility issues.

Please note that Web Services is happy to assist you with these advanced topics during Open Lab sessions. These are not topics that we provide regular support for.