Skip to Main Content

Course & Subject Guides

Web Development for Scholarly Projects and Portfolios @ Pitt

A guide for getting started with web development projects, including listings of tools for creating websites, recommendations for hosting services, and helpful resources.

Methods & Tools

There are many methods and tools for building websites. The pages in this section of the guide provide tool recommendations for the following methods: 

  • Hard-coding: Hard-coding is a development process that requires writing HTML, CSS, and sometimes JavaScript (and/or some other programming language) code directly into the file that comprise the website—i.e., developing the website from scratch. This approach affords  maximum control over the appearance and functionality of the website, but it has the steepest learning curve. You can build a website entirely by hard-coding, or you can use hard-coding in addition to using another web development method (e.g., in the case of using SSGs or adding HTML or CSS code into a website builder or CMS).
  • Static Site Generators (SSGs): An SSG is a software engine that automates the process of coding individual HTML pages by processing input text files (e.g., Markdown, reStructuredText, AsciiDoc) and using templates to create the HTML, CSS, JavaScript, and other files necessary to render a website. From there, you can modify the files, and the folders into which they are organized, as needed.
  • Content Management Systems (CMSs): A CMS is a program or platform that helps you to manage the content of your website by coupling the front-end (website) and the back-end (database and control panel) in a simple, user-friendly package. CMSs can either be built into a service platform that also offers web hosting (e.g., WordPress.com, Omeka.net, Scalar) or installed on a server (e.g., WordPress.org, Drupal, Joomla, Omeka Classic or Omeka S, self-hosted Scalar). 
  • Website Builders: A website builder is a program or platform that enables you to create a website without any coding knowledge, though many allow you to use code to override default configurations and customize your site. Website builders tend to be the most beginner-friendly option because they offer everything you need to create a website, drag-and-drop interfaces, and pre-made templates.

Choosing a Web Development Method

The best approach for your web development project will depend on a number of factors, including the following:

  • Project requirements: You should first consider the functionality and features that will be required for the website.
    • Static or Dynamic: There are two main ways in which a website might be generated and displayed to a user, static or dynamic, which affect the functionality, complexity, size, performance/speed, and cost of your site. 
      • Static websites are served to users as HTML, CSS, and JavaScript files that do not change unless they are updated through hard-coding. Because they pages are prebuilt, static websites don't require a lot of processing power and are relatively fast. These are great if your project requires a simple site that won't change very frequently.
      • Dynamic websites, on the other hand, are made up of files that are created using a combination of HTML, CSS, JavaScript and programming languages (e.g., PHP, Python, Node.js). The web pages are processed on-the-fly each time a user accesses them with content that is retrieved from a database. The general design of web pages are the same, but the content displayed may vary from user-to-user and depending on how a user interacts with the page. For this reason, dynamic websites tend to be more demanding of the server and run comparatively more slowly. Dynamic websites are great if your project requires interactive features or data that needs to be added, modified, or viewed by users.
    • Customizability and Flexibility: Determine whether the necessary features and functionality of your project are simple or commonly supported by existing platforms and tools or whether they are unique and require customized development.
  • Technical and coding skills: If you don't already have skills with coding, working with servers, or designing websites (and don't plan to develop them or hire someone who does), then you should use a web development tool that doesn't require those skills. Developing those skills will take additional time, and hiring a web developer will cost more.
  • Time constraints: Building a website takes time, and the amount of time varies by method. For example, using a website builder or CMS usually takes less time than hard-coding a website, especially if you have to learn how to use the required web development languages.
  • Budget: The cost of building a website can vary widely. There are many free options, but lower costs usually comes with less flexibility and control. You may have to pay a subscription for a platform/service that bundles the domain name, hosting, and content management, or pay for each separately. 

The table below summarizes some of the factors to consider by method/tool type.

Tool  Domain Hosting Content Management Type of Website Customization & Flexibility Technical/Coding Skills Required
Hard-coding Not included Not included Not Included Both Highest Yes
Static Site Generators Not included Not included Not Included Static Moderate to High Yes
Open-source CMSs Depends (if included, could be free and/or paid) Depends (if included, could be free and/or paid) Included Dynamic Low to Moderate Sometimes
Website Builders Included (free and/or paid) Included (free and/or paid) Included Dynamic Moderate to High No
Online Notebooks Depends  Depends Included N/A Low No (at least not for web development)