Programming for Web Development
Overview
This guide primarily focuses on the skills necessary to work with YETI's software stack (TypeScript, Next.js/React, and PostgreSQL). With that being said, there are plenty of other commonly used frameworks. Below is a table containing some of the more popular choices:
JavaScript/TypeScript | PHP |
Java |
Python | Ruby | C# |
Next.js | Laravel | SpringBoot | Flask | Ruby on Rails | .NET |
Remix | Django | ||||
Astro | |||||
TanStack Start | |||||
Angular | |||||
Gatsby | |||||
SvelteKit |
JavaScript/TypeScript frameworks are currently very commonplace. One of the key driving factors of this is the choice of language. Browsers can only run JavaScript (and more recently, Web Assembly). JS/TS frameworks allow you to write your frontend and backend code entirely in one language. This allows these sites to get off the ground much faster, as developers need to spend less time learning new languages to work with the code. As a result, these frameworks are becoming increasingly common in industry (particularly Next.js and Remix). We
We chose Next.js due to our mentors' familiarity with the framework. Multiple YETI mentors use this framework for work or personal websites. We can provide substantial help with learning the framework and debugging issues that arise. Next.js is also a common framework to see in the industry, and several of the world's most recognizable sites (Nike, OpenAI, Claude, TikTok, Notion, Hulu...) currently use it (https://nextjs.org/showcase).
L1 Standards
Learning HTML/CSS
HTML and CSS are the building blocks for the web. HTML controls the general layout/blocks of the page, while CSS controls the appearance and how those blocks are displayed. These aren't programming languages in the traditional sense. HTML (or Hypertext Markup Language) is a "markup language," which essentially means it encodes the structure of the text/content it contains. CSS (or Cascading Style Sheets) is a "stylesheet" language. Stylesheets are files documenting how the page should be displayed. CSS is a way of representing these styles in a text-based format.
Codecademy has great (free) resources for learning both what HTML and CSS do. To get started, check out the following courses:
- HTML Fundamentals: https://www.codecademy.com/courses/learn-html-fundamentals
- Learn CSS: https://www.codecademy.com/courses/learn-css
After completing these two courses, congrats! You'll be able to build a static website.
Learning JavaScript
JavaScript is a language that lets you dynamically update content on websites. This is useful for forms and other interactive parts of websites. Together with HTML and CSS, it creates the traditional web development stack.
The course on Codecademy is great for getting started.
- Introduction to JavaScript: https://www.codecademy.com/enrolled/courses/introduction-to-javascript
After completing this, congrats! You'll be ready for the L1 web development test.