Here is the situation. You are building the app, working with software developers, discussing new features and designs. And once there is an error or something and you ask them what the heck happened? And the answer is “!@#$%^&*()”. When the conversation is over, you think: What language was it? English or something else?
Would you start googling? I definitely would! And here you gonna find a tone of the information full of tech slang and jargon. Time to grab your head.
No worries. We have tried to figure out all the strange words that you can meet on your way and have prepared the glossary. In English, with human explanations. So that you can be on the same page with these geeky guys.
General Terms
Technology stack
The list of programming languages and tools that are used to develop and run web and mobile applications.
There are 2 components of the app – client-side and server-side, that are also known as frontend and backend.
Frontend
Responsible for the interaction with the user. Basically, it is everything that users can see and experience. It is the part users see and can interact with in order to receive the backend capabilities of the system.
There are main frontend technologies: HTML, CSS, JavaScript
It’s possible to build an app that has only backend or frontend. Some apps don’t request the visible part as they don’t provide direct communication with users. Others can manage all the tasks with the frontend. The reason lies in the fact that the frontend also can provide an application logic. And responsible for it is JavaScript. It is the reason we are able to trigger changes on the website by clicking on a button, typing the text and making some specific movement with the mouse.
While HTML and CSS are responsible only for visual parts. HTML – the layout of all elements (inputs, buttons, etc) and CSS for their outlook.
Backend
A part of the website or application that allows it to operate, though users can’t see or interact with it. This is a server-side which communicates with the frontend to make everything work.
Most common backend languages: Java, Python, Ruby, .Net
Database
A large amount of organized information or data stored electronically in a computer system so that computer applications can easily access selected information.
Data Center
A group of networked computer servers used to store, process and distribute a large amount of data.
Server
A computer that responds to the request made by a computer or a client program.
Host
Store on a server or other computer that can be accessed by a user at a remote location (over the Internet).
Third-Party
A separate organization or individual other than two main involved. It is a company that provides a product not supplied by the primary organization to the user. (Typically there are 2 main parts – organization and the end-user).
VPS (Virtual Private Server)
It is a virtualized instance created within a server that functions as a physical one. One physical computer can run multiple operating systems. A cloud-based VPS can be hosted on multiple servers.
API
Or Application Programming Interface is a code that lets two software programs to communicate with each other. It is an interface between a client and a server that helps to simplify the building of client-side software.
Git
A version control system that lets you track any changes in computer files and manage work on those files among different people. Basically, it lets you work with other developers using the same codebase without the necessity to copy code from one computer to another. With git it’s possible to see what others are working on, review the code and check previous changes, return to the previously written code and a lot more.
Cache
A short-term computer memory where certain information is stored to make the load time faster. You can hear about it from developers when they made some changes on the website which you can’t see. It means that your cache holds an older version and hasn’t cleaned the space for a new one.
Deployment
It covers the processes that are responsible for preparing a software app to run in a specific environment. For example, it covers installation, configuration, testing, making changes, and software optimization.
Pull
This term is used to describe data sent over the Internet and the act of requesting data from another computer. For example, when browsing the Internet, you need to request a web page before it is sent to your computer.
Push
Opposite to pull. The term is used to describe the act of sending data to a client without the client’s request.
WYSIWYG
WYSIWYG, or What You See Is What You Get, is a content editing tool that lets developers see how the final interface will look like while the document is still being created. Developers can deal with a convenient editor and operate design elements instead of writing the source code.
Native code
A code that is written in a way to run only on a specific processor. If use it on another type of processor, it will not function.
Responsive website
A regular website that is designed to work on any platform and looks great on any device. So, whether you use your phone, tablet, or PC, the website will look perfect.
Widgets
An application that allows accessing frequently used information easily and provides visual information about it. It can be calendars, notes, calculators, etc.
Network
Domain
A part of an Internet address. This is a set of addresses that represents, for example, the geographical area or the category of the internet address.
IP (Internet Protocol) address
A unique address of every device on a network (computers, routers, gaming consoles). It consists of four combinations of numbers from 0 to 255 separated by points. For example, 255.255.255.255.
There are two main types of IP address – IP version 4 and IP version 6.
- IP v4 is one of the main protocols of the standards-based interworking methods on the Internet that routes most Internet traffic.
- IPv6 is the most recent version that was developed to deal with the long-anticipated problem of IPv4.
Domain Name System (DNS)
This is an internet service that translates domain names (for example, productcrafters.io) into IP addresses (255.208.3.211). So that routers can find Web sites on the Internet.
VPN
It connects your PC (or mobile phone, tablet) to another computer (server) somewhere on the Internet and lets you use that computer’s internet connection. For example, if the server is in a different country, it will show that you are in that country and you can access things you couldn’t normally.
Cloud computing
A term that means the delivery of hosted services (applications, storage, processing power) over the Internet and on a pay as you go basis. It lets companies rent access to anything from a cloud service provider instead of owning personal data centers.
Proxy
A server that works as an intermediate link between a real server and client app. While using proxy service, Internet traffic goes through the proxy on the way to address the request. Then the request comes back through the same proxy service, and the proxy sends received data to the user.
Development Process
UI
Or User Interface is responsible for the screen look and layout. Generally, it is everything that users can interact with, starting from screens and touchscreens to keyboards, buttons, and lights.
UX
Or User Experience is responsible for the way everything works and users interact with elements. So designing a UX means defining the way a product will operate and how it will fit users’ requirements.
Wireframes
A layout of the main page that shows what elements will be displayed on the page. It is the tool to design the website interface at a structural level. They are used at an early stage of product development to define the page basic structure before adding the content and design.
Mockups
A full-sized model of a product that shows how its design will look like. Usually, mockups represent the overall design including design of color schemes, layouts, iconography, navigation.
Prototype
An early model of a product to show how the product will look like, what it will do and how it will operate. This is not a final version, it’s only a draft of the product, that helps to get an idea of what the product will be without the implementation of the full functionality. The main goal of the prototype is to test a concept. A prototype can help to attract investors and then build MVP.
MVP
A version of a new product that is developed with only core features to satisfy early adopters. The final set of features is developed only after considering users’ feedback. This is Eric Ries’s concept, which was popularized in his book The Lean Startup.
Types of Applications
Applications can be divided according to different criteria, one of the main is up to the type of platform. Basically, the platform is hardware on which all the applications run. There are three kinds of platform applications.
Web Applications
Applications that run online or are types of cloud computing. Usually, they are stored on a remote server that performs tasks over the Internet.
Desktop Applications
Applications that run on the desktop operating systems, such as Mac OS, Windows OS, Linux OS, etc.
Mobile Applications
Applications that are developed specifically for mobile devices, such as smartphones or tablets and run on different mobile operating systems, such as Android, iOS, Blackberry OS, etc.
Mobile applications, in their turn, can be of different types too. It is based on the way they are created.
Native Mobile Apps
The apps that are built only for specific platforms and in languages that these platforms accept. There are two main types of mobile platforms: iOS and Android. To build native iOS apps, there are Swift and Objective-C languages, and for native Android apps – Java and Kotlin.
Cross-platform Apps
The development of mobile apps which can be used on multiple mobile platforms.
If we missed a term that’s been making you scratch your head, ping us on Facebook. We would love to explain more terms in plain English words.