The application development Glossary
Your app development terminology guide, from basics to current trends
- A
- B
- C
- D
- E
- F
- G
- H
- I
- J
- K
- L
- M
- N
- O
- P
- Q
- R
- S
- T
- U
- V
- W
- X
- Y
- Z
A
Agile development methodology
Agile development methodology focuses on continuous, iterative development. Under the agile framework, every project is approached in a cross-team collaborative manner, where any product goes through multiple cycles of testing and feedback.
Unlike traditional approaches, Agile allows developers to get feedback from stakeholders—primarily end users—to understand and identify issues and bugs before they become too baked into the system.
AI/ML
AI/ML, an abbreviation for "artificial intelligence and machine learning," refers to the use of algorithms and computational models to enable machines to learn from data, identify patterns, make decisions, and perform tasks without explicit programming.
Artificial intelligence is the capability of computer systems to imitate and perform tasks that require human intelligence. Machine learning, a subset of AI, focuses on algorithms that enable machines to learn from data and improve their performance over time. AI/ML technologies are utilized in a wide range of applications, from predictive analytics and natural language processing to computer vision and autonomous systems.
Application programming interface (API)
An API is a set of rules and instructions that allows different software programs to talk to each other. It defines how they can request information, send data, or perform specific tasks.
API monetization
API monetization is when businesses use APIs to generate revenue. Various models exist, like freemium, subscription-based, and pay-as-you-go. These models are essential for sustaining API-driven business initiatives and ensuring a return on investment when developing and maintaining APIs.
Android application package (APK)
APK is the package file format used by Android OS for the distribution and installation of various applications. This file typically contains all elements of a program’s code, like assets, resources, certificates, and manifest files.
B
Back-end development
Back-end development is like the engine of a car. It's the part of a software that you don't see but makes everything work. Back-end developers create and manage the behind-the-scenes stuff, like databases, servers, and making sure data gets to the right places, so the website or app runs smoothly.
Beta testing
Beta testing is when a pre-release version of an application is made available to a limited group of external users for testing and feedback. It allows developers to gather real-world usage data, identify bugs, and collect user feedback to make necessary improvements before the official release.
Beta version
A beta, also known as a beta release, refers to a pre-release version of an application that is made available to a limited number of users for testing and feedback before the official release.
A beta offers users an opportunity to experience and provide feedback on an upcoming software application. It allows developers to gather real-world insights, identify bugs, and collect user feedback to make necessary improvements. It's an exciting phase where users can get a sneak peek into the future of the application and have a voice in its development.
Bug
A bug refers to an error, flaw, or unexpected behavior in an application. It's a deviation from the intended functionality and can cause the application to behave incorrectly or crash.
Bugs can occur due to programming mistakes, logic errors, or compatibility issues, and they need to be identified and resolved to ensure the proper functioning of the application.
C
Citizen development
Citizen development is a trend where companies encourage employees with little or no app-building expertise to build applications using low-code and no-code (LCNC) tools.
While citizen development refers to individuals building applications for smaller use cases and department-specific needs, citizen automation focuses on organization-wide automation. This involves a more complicated tech stack, and needs thorough scrutiny, since the implications are long-lasting and affect the future of the organization.
Composability
In the context of enterprise application design, composability is simply explained as the rapid assembly of new apps using prebuilt, reusable components from a library. Each of these components addresses a specific business problem or use case.
The individual components are selected and assembled (picture them stacked like bricks) to compose applications that satisfy unique business requirements while accelerating application development.
Cross-platform development
Cross-platform development refers to the process of creating applications that can run on multiple platforms using a single codebase. It involves utilizing frameworks and tools that enable developers to write code once and deploy it across various platforms, such as iOS, Android, and web.
Content delivery network (CDN)
In app development, a CDN is a globally distributed network of servers, computers, or other electronic devices that deliver web content and applications to users based on their geographic location. It reduces latency, improves load time, and enhances the overall performance of an app by caching and serving content from servers that are closer to the user's location.
Commercial-off-the-shelf (COTS)
COTS is an abbreviation of commercial-off-the-shelf software. It is readymade or prepackaged software that's readily available to install and use. These applications are made for a wide consumer base with generic features, so they're more affordable than custom-built software. Some good examples of COTS are productivity tools, emailing software, and office suites.
D
Database
A database is a structured collection of data that is organized, managed, and accessed in a systematic way. They enable efficient data access, data consistency, and data security, allowing applications to make informed decisions and deliver personalized experiences. In application development, a database serves as a central repository for storing and retrieving data.
Debugging
Debugging is the process of identifying and resolving errors or bugs in an application. It involves analyzing the code, tracing the execution flow, and using debugging tools to locate and fix issues that cause the application to behave incorrectly.
Debugging is like detective work for developers. It involves meticulously examining the code, setting breakpoints, and stepping through the program's execution to identify the root cause of the problem. Debugging tools and techniques help developers analyze variables, track function calls, and gain insights into the application's behavior.
Deluge
Data Enriched Language for the Universal Grid Environment, or Deluge, is Zoho's proprietary scripting language. It's a one-stop solution for performing actions and integrations across the Zoho suite. With built-in wrappers and a powerful execution engine, it has evolved into one of the fastest and most flexible scripting languages available.
Deployment
Deployment refers to the process of making an application available and operational for its intended users. It involves preparing the application, configuring the necessary infrastructure, and deploying the application onto servers or hosting platforms, to ensure it can be accessed and used by users.
DevOps
DevOps is a software development approach that combines development (Dev) and operations (Ops) teams to foster collaboration, communication, and integration throughout the software development lifecycle. It aims to automate processes, streamline workflows, and deliver high-quality software rapidly and reliably.
Development
The designing, building, and coding of the application, including managing the source code and ensuring that it's properly versioned and controlled, is collectively known as development. The development stage determines the quality of the application and how well it meets the requirements defined in the planning stage.
Selecting the relevant development methodology is essential in this stage, be it Agile, waterfall, or DevOps. Code review, testing, and continuous integration and delivery are also done, to ensure that the application is of high quality and meets the needs of end users.
Digital transformation
Digital transformation is a business strategy to improve a company's strategic direction or value proposition by leveraging digital technologies. Digital transformation involves organized shifts in culture, workforce, and technology.
Digitalize
Digitalization describes using digital technologies and information to transform individual business operations. For example, users can digitalize payroll, procurement, supply chain management, administrative operations, and much more.
Digitization
Digitization is the task of converting data from an analog to a digital form. For example, users can digitize paper records and store them online for archiving and retrieval.
Data decryption
Data decryption is the process of decoding an encrypted message into a language that can be understood by the current computer system. Encrypted data is also known as ciphertext, and unencrypted data is also called plaintext.
Data encryption
Data encryption is a method to ensure secure information transmission. Under this method, the message is shared in an encoded manner and can only be decrypted by a user with the matching encryption key. For instance, while having conversations on a messaging app, users can opt for end-to-end encryption, to keep their conversations safe.
Data type
In the world of computers, every piece of information is a specific type of data—words, numbers, dates, times, symbols. To help the computer understand and process different kinds of data, it's categorized. This categorization is known as a data type.
A data type defines the nature of data and how it can be used, ensuring logical and meaningful interactions within a program.
E
Emulator
An emulator is a device or software that enables a computer (referred to as a host) to behave like another computer system (referred to as a guest). For instance, by using an Android emulator, users can test their applications on various Android devices without actually needing these devices. This enables faster testing and fixing of issues on the application.
Extreme programming (XP)
Extreme programming (XP) is an agile methodology known for its emphasis on rapid development and responsiveness to change. Pioneered by Kent Beck, XP prioritizes simplicity, communication, feedback, and courage to deliver high-quality software quickly. This is achieved through frequent customer interaction, continuous testing, and collaborative practices like pair programming.
F
Front-end development
Front-end development, also known as client-side development, refers to the part of an application that users see and interact with. It involves designing and implementing the visual elements, interactive features, and overall presentation of an application. From responsive layouts and beautiful designs to seamless navigation and interactive elements, front-end development aims to create delightful user experiences.
Feature creep
Feature creep (or scope creep) is when new features are added to a product beyond what was originally planned. These extra features might not align with the main goal and can make the software bulky, complicated, and less user-friendly.
Framework
Frameworks offer a structured foundation for software development, defining the architecture and automating repetitive tasks. They provide a standardized approach to building and deploying applications across various platforms. Some examples of frameworks include Angular for web applications, React Native for mobile apps, and Django for web development.
G
Generative AI
Generative AI (GenAI) is a type of AI that can create content like text, images, music, or code. It works by learning the underlying patterns and relationships within a large dataset of existing content. Generative AI models are often powered by deep learning techniques and can be prompted by users to create specific outputs.
H
HTML5
HTML5 is a markup language that’s used for structuring and presenting content on the internet. It enables easy integration of multimedia and graphics to a particular website, without depending on third-party plugins.
Hybrid app
Hybrid apps are applications that are developed using multiple languages, like JavaScript, HTML, and CSS; they're a combination of both native apps and web applications. Hybrid apps are preferred by many developers, as they only need to write one set of code to make the application work on multiple platforms.
Hyperautomation
Hyperautomation is a business approach where organizations automate as many business processes as possible, to streamline and improve efficiency. It's achieved using multiple intelligent automation technologies, such as robotic process automation (RPA), artificial intelligence (AI), and machine learning (ML).
The goal is to automate complex processes, mimic human interactions, and minimize human intervention as much as possible.
I
Implementation
Implementation refers to the process of translating the design and specifications of an application into actual code and functionality. It involves writing the necessary code, configuring settings, integrating components, and creating the necessary infrastructure to bring the application to life.
Integrated development environments (IDE)
IDEs facilitate the easy development of applications. An IDE ideally consists of a source code editor, text editor, toolbar, and output viewer.
On low-code platforms, IDEs are available as developer tools that display a framework of forms, reports, schedules, workflows, and more. Application IDEs can be easily accessed by less experienced developers.
Integration
Integration refers to the process of combining different components, systems, or third-party services to work together seamlessly. It involves connecting and coordinating the flow of data, functionality, and communication between these components, to create a unified and cohesive application ecosystem. By integrating components, applications can leverage the strengths of different systems and services, enhancing productivity, efficiency, and user experience.
J
Java Native Interface (JNI)
JNI is a programming framework that's used for writing Java-native methods and embedding Java virtual machines into native applications. JNI can also be used to make an existing application written in a different language compatible with other Java applications.
JavaScript Object Notation (JSON)
JSON is an open-standard format that’s used for storing and transporting data objects consisting of attribute-value pairs. It’s a language-independent data format with a diverse range of applications.
K
Kanban
Kanban, an agile framework for collaborative task management, thrives in dynamic environments where tasks arrive unpredictably or a workflow already exists. It optimizes current processes while tackling new ones. A Kanban board visually tracks tasks, allowing team members to see progress and how each task contributes to the overall development cycle.
By limiting work-in-progress, developers can focus on new tasks while others are ongoing. This ensures a smooth development flow that maximizes the value delivered at each stage.
L
Legacy modernization
Legacy modernization is the process of upgrading or improving an existing digital platform with the help of modern solutions that can support future digital endeavors. Through modernization, organizations can unlock benefits like enhanced security and improved efficiency, scalability, and integration with modern platforms and services. It's a strategic investment that revitalizes existing assets, enables agility, and sets the stage for innovation.
Low-code
Low-code is a visual development approach to application development. It enables everyone from a project manager to an IT professional to develop and deploy multiplatform applications using drag-and-drop components, without having to write endless lines of code.
Libraries
Libraries are collections of prewritten code snippets that offer developers a quick way to perform common tasks. They can dramatically reduce the amount of code developers need to write, improving productivity and minimizing errors. jQuery for JavaScript, Pandas for Python, and Apache Commons for Java are a few commonly known libraries.
M
Migration
Migration refers to the process of transferring an application or its data from one environment to another. It involves moving the application, its infrastructure, and/or its data from one hosting platform, server, or system to another, typically to upgrade or enhance the application's performance, scalability, or functionality. Migration allows applications to leverage new technologies, enhance performance, and adapt to evolving needs.
Minimum viable product (MVP)
An MVP is the version of a new product that has the basic functionality and features that are required to gather feedback from users, and subsequently use it for future development. Taking feedback at this stage enables developers to understand customer expectations and keep it in mind while developing the final product.
Multi-factor authentication (MFA)
MFA stands for multi-factor authentication. It's a security method that requires users to provide two or more forms of verification to gain access to an application, system, or account. This adds an extra layer of security compared to using only a password.
The three main MFA authentication methods are things you know (PIN or password), things you have (smartphone or security token), and things you are (biometric data like fingerprints or voice recognition).
Middleware
Middleware is software that acts as a bridge (or layer) between applications by facilitating communication and data exchange. It acts as the glue that connects disparate systems, enabling them to work together seamlessly.
For example, Apache Kafka is a type of middleware that handles high-volume, real-time data streams. It enables applications to efficiently send, receive, and process data.
Mobile backend as a service (MBaaS)
MBaaS is cloud-hosted infrastructure that enables mobile app developers to link their applications to backend cloud storage and access APIs, storage, and social networks easily. Most MBaaS platforms provide extensive cross-platform support for mobile applications, and backend cloud storage is also offered on many low-code platforms.
N
Native app
A native app refers to an application developed specifically for a particular platform. It's designed and built using the platform's native programming languages and frameworks, ensuring optimal performance, compatibility, and integration with the device's hardware and features. Native apps have direct access to device functionalities, such as the camera, GPS, and notifications, enabling richer and more responsive interactions.
O
Operating system
An operating system (OS) is software that manages computer hardware and provides a platform for other applications to run. It acts as an intermediary between the user and the computer hardware, handling tasks such as memory management, process scheduling, and user interface interaction.
While often unseen, the operating system is the silent conductor that orchestrates the symphony of hardware and software on a computer. Whether it's Windows, macOS, Linux, or other specialized systems, the choice of operating system profoundly impacts the performance and capabilities of an application.
OAuth
OAuth, or open authorization, is a protocol that enables web applications to securely access and interact with each other.
OAuth uses authorization tokens to prove an identity between users and service providers, allowing you to approve one application to interact with another on your behalf, without giving away your password.
Open source
Open source refers to any entity that's publicly available and editable. In app development, open source software is code that can be inspected, altered, and enhanced by anyone. This model encourages collaboration, allowing developers to build upon each other's work.
Over-the-air (OTA)
OTA refers to the various ways in which new software can be distributed, settings can be configured, and encryption keys can be encrypted to support various electronic devices. On smartphones, an over-the-air update refers to updating software or applications over the internet, without a computer.
P
PaaS
PaaS is a cloud offering that provides infrastructure for development and deployment of applications. It provides the middleware, development tools, and artificial intelligence to create powerful applications. Like infrastructure as a service (IaaS), which saves you from buying and managing your own servers and data-center components, most PaaS services are bundled together with storage and network infrastructure.
Predictive analytics
Predictive analytics utilizes historical data and statistical algorithms to predict future outcomes. By analyzing patterns and trends, organizations can make accurate forecasts and anticipate potential opportunities and risks. Predictive analytics finds applications in various domains, such as sales forecasting, demand planning, and risk assessment.
Prescriptive analytics
Prescriptive analytics takes predictive analytics to the next level by providing actionable insights and recommendations. It suggests the best course of action based on predicted outcomes and desired objectives. Prescriptive analytics helps organizations optimize their decision-making processes by considering multiple scenarios, constraints, and goals.
Professional services automation (PSA)
Professional services automation (PSA) software is business software developed specifically to support service-based companies and provide a single source of real-time business data. PSA software offers features that allow professional service firms to manage their day-to-day operations efficiently and deliver customer projects on time and within budget, meeting customer requirements. These features include a combination of work automation , project management, resource utilization, time tracking, finance and billing, team collaboration, and reporting.
Q
Quality assurance (QA) testing
QA testing refers to the process of checking and evaluating various aspects of a project and making sure it’s on track, with respect to set expectations. The idea behind introducing QA testing is to build a high quality application with a great user experience.
R
Rapid application development (RAD)
Rapid application development is an agile software development approach that emphasizes quick prototyping, iterative development, and close collaboration between developers and stakeholders. By involving stakeholders early on and emphasizing user feedback, RAD ensures that the application meets user requirements and expectations.
RPA
Robotic process automation (RPA) refers to the use of software robots, or "bots," to automate repetitive and rule-based tasks within business processes. RPA bots mimic human actions by interacting with software applications, performing data entry, data extraction, and other manual tasks. This technology enhances accuracy, reduces errors, and accelerates process execution, leading to improved efficiency and cost savings.
S
Scrum
Scrum is a popular agile framework focusing on team productivity and iterative product delivery. Scrum utilizes short development cycles called sprints, where the product owner prioritizes and oversees tasks. A visual tool, the agile board, tracks these tasks, which can include feature building, API integration, bug fixes, and more.
Daily standup meetings within each sprint keep communication flowing and ensure smooth progress, with each sprint culminating in a demo to assess completed functionality and identify any need for further refinement.
Server
In the context of application development, a server refers to the hardware or software responsible for processing requests from client devices and delivering the requested data or functionality. Whether it's hosting websites, managing databases, or facilitating cloud computing, servers are at the core of our connected world.
Shadow IT
Shadow IT refers to the use of technology, software, or applications within an organization that are not officially sanctioned or supported by the IT department.
Shadow IT arises when employees seek alternative solutions outside of official IT channels to meet their specific needs or address perceived limitations. It can include using personal devices, utilizing cloud storage services, or adopting unsanctioned software applications.
Software configuration management (SCM)
Software configuration management (SCM) is a practice employed to ensure the stability and control of complex software systems.
Here, strategies are branched and merged, code is reviewed, and continuous integration is done to ensure that the source code is properly managed and controlled throughout the software development process. Using different tools and techniques—such as version control systems, build automation, and release management—contributes to a seamless SCM process.
Software development kit (SDK)
An SDK is a downloadable set of tools used by developers to build applications with advanced functionalities on different operating systems.
It ideally includes sample code, licenses, libraries, and more, and is specific for every platform. For instance, if you’re building your app for Android, you’ll have to use the Android SDK toolkit, and if you’re creating the app for Apple, you need the iOS SDK.
Software lifecycle management (SLM)
Software lifecycle management, or SLM, is a systematic approach to managing the entire product lifecycle, from its conception to its retirement. It consists of the strategic planning, development, deployment, maintenance, and eventual retirement of software products.
SLM aims to optimize the performance and longevity of software assets while ensuring alignment with organizational goals and user requirements.
Source code
Source code, or code, is a set of instructions a developer or programmer has written in a language that the computer understands, to get a desired output.
For example, if you want to instruct a website to respond in a certain way when a user clicks on a specific part of a webpage, like a button or hyperlink, the instructions you write will be the source code.
Software development lifecycle (SDLC)
The software development lifecycle (SDLC) is a continuous process of software development and maintenance that ranges from gathering requirements to creating applications, testing them, and conducting periodic upkeep.
The SDLC is integral to any software development project that wants to deliver high-quality applications within a stipulated timeframe and budget.
T
Tech stack
A tech stack refers to the combination of programming languages, frameworks, libraries, and tools used to develop an application. It encompasses both the front-end (client-side) and back-end (server-side) components of an application, as well as the infrastructure and databases that support it.
A well-designed tech stack is like a carefully selected set of tools for application development. It's called a "stack" because it visualizes the layered arrangement of technologies from the front end to the back end.
Tracking code
Tracking code is a code snippet that’s used to collect and send data to Google Analytics from an app, in order to get better performance insights. This tracking code can also be applied to applications created on several low-code platforms.
U
UI design
UI design, short for "user interface design," is the process of creating visually appealing and user-friendly interfaces for applications. It focuses on designing the layout, visual elements, and interactive components that users interact with to accomplish tasks and access information within an application.UI design is all about crafting interfaces that are not only visually stunning but also intuitive and user-friendly. By optimizing usability and creating engaging visual experiences, UI design plays a crucial role in capturing and retaining user attention.
UX design
UX design, or user experience design, is the process of designing and enhancing the overall experience that users have while interacting with an application. It focuses on understanding user behaviors, needs, and goals to create intuitive and satisfying experiences that fulfill those requirements.
UX design goes beyond just the visual aesthetics, and dives deep into understanding user behaviors and motivations. By considering factors such as usability, accessibility, and emotional engagement, UX design aims to create experiences that align with user expectations and goals.
V
Variable
Variables are used for data storage. A variable stores and manipulates whatever data is attributed to it.
For example, imagine a glass cup that holds whatever you pour into it. The glass cup is the variable, and the liquid you pour in is the data.
Version control
Version control in app development is the practice of tracking every single alteration made to source code. Using version control tools, you can track and manage changes, handle conflicts, and maintain different versions of the codebase, making it indispensable for team collaboration. Some examples of version control systems include Git, Mercurial, and Subversion.
Virtual machine
A virtual machine is software-based emulation of a physical computer. It runs an operating system and applications just like a physical machine but operates on a host system.
Virtual machines, or VMs, allow developers to create isolated environments for testing and development, enabling them to run multiple operating systems on a single physical machine.
W
White label software
Acquiring software developed by another enterprise for a specific use case and rebranding and monetizing it using your own unique elements—such as icons, text, colors, and visuals—is white labeling. The software customized in this way is white label software.
Widgets
Widgets are prebuilt, mini applications that can be easily integrated into a larger software program or web application. They provide specific functionalities or user interface elements that extend the core features of the main application.
Wireframe
A wireframe is a basic visual representation of an application's interface. It serves as a skeletal framework that outlines the structure, layout, and key elements of a user interface, without including detailed design elements like colors and graphics. Wireframes are typically created during the early stages of the design process, to conceptualize and communicate the layout and functionality of an application. By stripping away distractions and visual details, wireframes allow designers and stakeholders to focus on the core structure and user flow of the application.
Workflow automation
A workflow is the process of identifying and defining a series of activities to achieve a specific result. The process of automating this series of actions with minimal human intervention is called workflow automation. In essence, workflow automation is automating repetitive tasks to make your work easier.
Consumers today expect results fast, and digitization is the only way to deliver. By automating frequently occurring tasks, organizations can save time, effort, and money, and avoid human error.
Y
YAML
YAML is a human-readable data serialization standard for all programming languages. It's also a recursive acronym—YAML Ain't Markup Language. Designed to be easily readable and writable, YAML uses indentation to indicate structure, rather than delimiters, like curly braces or commas.
YAML's popularity stems from its use in configuration files, data interchange, and other applications where human-readable data representation is crucial.
Z
Z-index
Z-index is a CSS property that determines the stacking order of positioned elements on a webpage. It defines which element appears in front of or behind another, when they overlap. Elements with a higher z-index value are placed on top of those with a lower value.