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.
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.
Back-end development Writing code that runs on the server. Examples of back-end languages include Java, Ruby, Python, and PHP.
Full-stack development Includes front-end and back-end development.
APIs 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.
Frameworks 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.
Cookies 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.
Command line A desktop application for directing your computer (or a remote computer) to do many things, including downloading code and managing git.
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.
Refactoring Rewriting code to be simpler to understand or more easily maintained. Similar to editing an essay to be more clear and concise.
Sprints 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
HTML A markup language that defines the content (text, media, forms, etc.) of every webpage. HTML5 is the latest version.
CSS 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.
Bootstrap 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.
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