An application (commonly called an app) is software built to help users accomplish specific tasks. Applications range from browser-based tools to native mobile apps and large enterprise systems. The type you choose shapes your architecture, your team composition, and your ability to scale.
Types of application
Web applications
A web application runs in a browser and requires no installation on the user's device. Built with technologies such as HTML, CSS, JavaScript, and various backend frameworks, web apps can be deployed and updated centrally, which removes friction around distribution and version management. They connect readily to databases, APIs, and third-party services.
The main constraint is a dependency on internet connectivity and browser capabilities, which can limit performance for compute-heavy workloads.
Mobile applications
A mobile application runs on a smartphone or tablet, typically installed via an app store. Mobile apps can access device hardware (GPS, camera, push notifications, sensors), creating experiences that browser-based tools cannot easily replicate.
Mobile apps are built as native (iOS or Android), cross-platform (React Native, Flutter), or hybrid. React Native has its own trade-offs worth examining before committing to a stack. Mobile development requires more platform-specific expertise and carries app-store review cycles, but the depth of user engagement often justifies the overhead.
Desktop applications
Desktop applications run directly on a workstation and can access system resources, local file systems, and other installed software without routing through a browser. They remain the environment of choice for resource-intensive professional workflows: video editing, engineering tooling, complex data analysis. The question to ask is whether your users' workflows really require the performance and integration that only a local runtime provides; whether desktop applications are still relevant in general matters less.
Enterprise applications
Enterprise applications are built for large organisations with complex workflows, multiple user roles, and integration requirements that consumer apps never face. They must address user management, data governance, security compliance, audit trails, and connections to legacy systems. CRM platforms, ERP solutions, and supply-chain management tools all belong here. The design goal is to reduce organisational complexity rather than to optimise a single user's experience.
How applications relate to the systems around them
Modern applications rarely operate in isolation. They function as components within larger digital ecosystems, sharing backend services and data across web, mobile, and desktop surfaces.
Common patterns include:
- Backend-as-a-service: platforms such as Supabase or Firebase provide database, authentication, and storage so teams can focus on product logic rather than infrastructure. Understanding the difference between Firebase and Supabase matters when selecting a backend approach.
- APIs and gateways: applications expose or consume functionality through APIs, and AI gateways are increasingly part of that picture when AI features are involved.
- AI and retrieval layers: applications embedding AI capabilities often rely on retrieval-augmented generation and vector databases to surface relevant context to a model.
The SDLC model a team follows (waterfall, agile, continuous delivery) also affects how an application evolves over time.
Choosing the right application type
The decision between web, mobile, desktop, or enterprise should be driven by a few concrete factors:
- Audience behaviour: where and how do users want to interact? This determines platform priority more reliably than any technical preference.
- Business model: engagement-driven models, transaction-volume models, and subscription models each favour different application approaches.
- Scalability requirements: the architecture decisions made early become the constraints or advantages that govern later growth. An application built for a thousand users needs different foundations from one targeting a million.
- Resource reality: development cost is only part of the picture. Ongoing maintenance, platform expertise, and update cadence all carry weight.
Good UX and UI design cuts across all application types and is not an afterthought: it directly affects whether users adopt and retain the product.
In an AI-native team
Coding agents can generate scaffolding for a new application type (a Next.js web app, a React Native mobile shell, an enterprise API layer) faster than was previously possible, but the architectural decisions still require an engineer who understands the trade-offs. Teams using agentic coding need engineers who can verify generated code rather than accept it at face value, and who understand how much production code is AI-generated at any point. The choice of application type, and the contracts between services, remains a human judgement call that agents inform rather than make.
What we test for
When assessing engineers for application work, we use the two-session structure described in how we vet: a fundamentals assessment without AI tools, covering architecture, data modelling, and platform trade-offs; and an AI-native assessment where candidates work with coding agents and are assessed on their ability to review AI-generated code and reason about code they did not write themselves. Strong candidates can explain why a given application type fits a problem, not just scaffold it.
Need engineers for this?
We place senior engineers who work with this every day: full-stack engineers, mobile engineers and frontend engineers. You'll have a shortlist in five working days.
Short answers
What is the difference between a web app and a mobile app?
A web app runs in a browser and needs no installation, making it easy to distribute and update centrally. A mobile app is installed on a device and can access hardware features like GPS and push notifications, enabling deeper engagement but requiring platform-specific development and app-store distribution.
Is an application the same as software?
Not quite. Software is the broader term covering everything from operating systems to drivers. An application is a specific category of software built to help end users accomplish tasks, whether that is editing a document, processing payments, or managing a supply chain.
When should a business choose an enterprise application over a standard web app?
When the problem involves multiple user roles, complex approval workflows, compliance requirements, or integration with legacy systems, an enterprise application is the appropriate choice. Standard web apps are better suited to simpler, more uniform user needs without heavy organisational complexity.