A voice for startups

Web tech in plain English

Do your eyes glaze over at the mention of an API? Have no idea if cookies are good, bad, or just delicious?

Web development is complicated. And there’s a lot of confusing terminology surrounding it. So here’s a short list of concepts, tools, and languages written in plain English for designers, PMs, and other non-tech folk.

This is primarily for those who want to become more comfortable talking about web tech and to developers. If you want to learn how to code, take a look at this extensive guide.

The Basics

Web apps
Run in a browser (Chrome, Safari, etc.) on your computer or mobile device. Examples include Google via google.com and Facebook via facebook.com.

Mobile apps
Are downloaded from an app store. Mobile apps don’t run inside a browser. Examples include Snapchat and Candy Crush.

Desktop apps
Are downloaded onto a desktop or laptop computer. Desktop apps don’t run inside a browser. Examples include your browser itself, iTunes, and Word.

Native apps
Can describe mobile apps or desktop apps.

Client & Server
The client (aka client-side) is the user’s computer. The server (aka server-side) is a remote computer where your application is running.

Front-end development
Writing code that runs on the client, including HTMLCSS, and JavaScript.

Back-end development
Writing code that runs on the server. Examples of back-end languages include JavaRubyPython, and PHP.

Full-stack development
Includes front-end and back-end development.

Application program interfaces are how applications communicate. APIs can be free or paid, public or private, well documented or not at all. APIs can communicate with other apps in the same organization (e.g. your mobile app communicating with your database) or across organizations (e.g. pulling data from Facebook using their API). An example is a simple weather app that takes the user’s current location and sends it to a third-party weather API. This API returns forecast data which is processed by your app to tell the user the current temperature and if they need an umbrella.

Code templates used to save time and benefit from established conventions. Frameworks are like pre-made pasta sauce you can customize to your own taste. They exist for the front-end and back-end.

Small pieces of data that websites store on your computer. Each time you visit a new page on the same site, this data gets sent back to the site. One helpful use for cookies is to persist items in a shopping cart, even when you’re not signed-in. Another helpful use is letting you to avoid reentering your password once you sign-in. Cookies are (more nefariously) used by advertisers to track behavior and target ads.

Content management systems
CMSs are applications used to create and edit the text and media on your website. Their visual interface let users edit a site without writing a single line of code, after the initial setup. WordPress is the most popular CMS.

Open-source software
Software that can be used free of charge. This includes everything from operating systems (e.g. Linux), to programming languages, to small bits of code. Companies that rely on proprietary software (e.g. Twitter) often still contribute to open source (like Twitter’s Bootstrap framework).

Responsive design
The ability to alter the contents of a page based on the viewing device. This is most often done using CSS and the browser’s current width. For example, a wide screen (desktops & large laptops) may show 3 columns of content and 1 column of ads, a medium screen (small laptops & tablets) may show 2 longer columns of content and 1 column of ads, and a small screen (phones) may show one long column with content and ads combined.

Common Tools & Activities

Text editor
Where most code is actually written. Can be as simple at TextEdit but many developers like the customization available in tools like Sublime Text and Atom.

Browser inspector
Allows you to inspect the HTMLCSS, and JavaScript on a page, as well as insert your own code for testing. The inspector is primarily used for debugging.

Command line
A desktop application for directing your computer (or a remote computer) to do many things, including downloading code and managing git.

A version control system for code. This allows people to work on the same files simultaneously and smartly combine their edits. It also provides a comprehensive store of all changes and versions for every file in a project. GitHub is the most popular service for hosting version-controlled projects.

Pair programming
When two programmers code side-by-side, taking turns typing. This extra set of eyes can help spot errors and improve the quality of the code.

Rewriting code to be simpler to understand or more easily maintained. Similar to editing an essay to be more clear and concise.

Typically a 1–3 week development cycle with a list of tasks to accomplish set from the start.

Stack Overflow
A free Q&A site for programming-related questions. Many searches for programming-related questions will lead you there.

Languages, Libraries, & Frameworks

A markup language that defines the content (text, media, forms, etc.) of every webpage. HTML5 is the latest version.

A styling language that defines the look (fonts, colors, layout, etc.) of every webpage. It can also be used for simple animations. CSS3 is the latest version.

A popular CSS framework. Defines styles for things like the layout grid, form elements, and common components. These basic styles can be overwritten to fit your brand and specific needs.

A unique language since it can be used both client-side and server-side. JavaScript is often used for sending or receiving data, animation, and responding to user input (e.g. validating form inputs as you type).

A method of using JavaScript to communicate with a server. One use is to keep users from waiting. For example, here on Medium, your feed loads with several article in it, but waits to load the next “page” until you’ve scrolled near the bottom. Another use is to avoid unnecessarily reloading a page. For example, when writing a blog post on Medium, they autosave as you type without reloading the page each time.

A popular JavaScript library. Provides methods to make AJAX calls, edit the content of the page, and detect user actions.

Has no relation to JavaScript. Can be used as a server-side language and is the only option for creating native Android applications.

Objective-C & Swift
The two language options for programming native iOS applications.

Ruby, Python, & PHP
Just a few of the many server-side languages. Ruby on Rails is the most popular framework for Ruby.

Originally posted on Medium

Stelios Constantinides

UX Designer/Engineer at Truth Labs