Cellular — a wireless voice and data transmission technology through a network of base stations (BS) covering the territory with cells ranging from 200 meters (microcells) to 50 kilometers (macrocells). In mobile applications, cellular internet is the primary channel for downloading content outside Wi-Fi zones. According to the GSMA Mobile Economy Report, 2025, more than 5.6 billion unique mobile users worldwide, and the average download speed in 5G networks has reached 240 Mbps.
Key Takeaways
Cellular communication — a mobile radio communication standard based on dividing the territory into cells, each served by a base station (BS). When the device moves, a handover occurs — automatic switching between cells without connection interruption. Cells vary in size: macrocells (10–50 km) for rural areas, microcells (200–2000 m) for cities, femtocells (up to 50 m) for indoors.
The cellular network architecture includes three main components: User Equipment (UE) — a smartphone or modem; Radio Access Network (RAN) — a set of base stations with antennas; Core Network — routing, authentication, billing, and internet connection. Different generations differ in Core Network structure and radio signal modulation methods.
Unlike Wi-Fi, cellular networks use licensed frequencies — each operator receives exclusive bands at auctions. This guarantees no interference between operators but limits the speed of new standard deployment due to the need for frequency reallocation.
Each cellular generation (N-G) brought exponential speed growth and new use cases. 2G (GSM) first digitized voice and introduced SMS. 3G (UMTS, HSDPA) opened mobile internet to the mass user. 4G LTE fully switched to IP packets, abandoning circuit switching. 5G NR focused on ultra-low latency and network division into virtual segments.
| Generation | Standard | Max Speed | Latency | Year |
|---|---|---|---|---|
| 2G | GSM / GPRS / EDGE | 384 kbps (EDGE) | ~300 ms | 1991 |
| 3G | UMTS / HSPA+ | 42 Mbps (HSPA+) | ~100 ms | 2001 |
| 4G | LTE-Advanced Pro | 3 Gbps | ~30 ms | 2009 |
| 5G | NR (New Radio) | 20 Gbps | <5 ms | 2019 |
| 6G | In development | 1 Tbps (forecast) | <0.1 ms | 2030 (planned) |
Mobile OSes determine the current network generation through the radio interface. On Android, TelephonyManager.getDataNetworkType() is available, returning NETWORK_TYPE_LTE or NETWORK_TYPE_NR constants. iOS provides CTTelephonyNetworkInfo with the serviceCurrentRadioAccessTechnology property.
4G LTE is based on a flat all-IP architecture divided into Evolved Packet Core (EPC) and Evolved Node B (eNB). eNB is a base station combining radio communication and basic routing functions. EPC consists of MME (Mobility Management Entity), SGW (Serving Gateway for data exchange with eNB), and PGW (Packet Gateway to the internet).
OFDMA (Orthogonal Frequency Division Multiple Access) — the key LTE technology: frequency resources are divided into subcarriers, each assigned to a specific user. 4×4 MIMO allows sending up to 4 independent data streams on one frequency. Carrier Aggregation combines up to 5 carrier frequencies, increasing bandwidth by 5 times.
Overlay networks — LTE-Advanced and LTE-Advanced Pro — added CoMP (coordinated transmission from multiple eNBs) and LAA (LTE in the unlicensed 5 GHz band). For developers, these improvements are transparent: the modem driver automatically uses available technologies without changing application code.
fun getCellularType(context: Context): String {
val tm = context.getSystemService(Context.TELEPHONY_SERVICE)
as TelephonyManager
return when (tm.dataNetworkType) {
TelephonyManager.NETWORK_TYPE_NR -> "5G"
TelephonyManager.NETWORK_TYPE_LTE -> "4G LTE"
TelephonyManager.NETWORK_TYPE_HSPAP -> "3G HSPA+"
else -> "2G/Unknown: ${tm.dataNetworkType}"
}
}
The function obtains TelephonyManager and determines the active network type. On Android 10+, accessing dataNetworkType requires the READ_PHONE_STATE permission, and starting from Android 11 — only for apps installed as a call or SMS handler.
5G NR (New Radio) — a radical physical layer upgrade compared to LTE. The standard operates in two frequency ranges: FR1 (Sub-6, 1–6 GHz) for mass coverage and FR2 (mmWave, 24–52 GHz) for ultra-high speeds over short distances. mmWave requires a direct line of sight to the antenna — even tree foliage causes attenuation of up to 30 dB.
Two deployment modes: NSA (Non-Standalone) — 5G NR works with an LTE Core to accelerate launch, and SA (Standalone) — a fully autonomous 5G Core Network with Network Slicing support. Network Slicing divides physical infrastructure into virtual segments: one slice for IoT (low speed, ultra-low power consumption), another for autonomous vehicles (latency < 1 ms).
For mobile applications, 5G means not only speed but also new power consumption behavior: mmWave modules consume up to 2 W in active mode (versus 0.5 W for LTE). When developing for 5G, it is recommended to consider that frequent data transmission in mmWave quickly drains the battery — it is optimal to buffer data and send it in batches in the Sub-6 range.
import CoreTelephony
func check5GStatus() -> String {
let info = CTTelephonyNetworkInfo()
guard let tech = info.serviceCurrentRadioAccessTechnology
?.values.first else { return "No cellular" }
if tech == CTRadioAccessTechnologyNRNSA {
return "5G NSA"
} else if tech == CTRadioAccessTechnologyNR {
return "5G SA"
} else {
return "LTE or 3G: \(tech)"
}
}
iOS via CoreTelephony reports the active connection type: CTRadioAccessTechnologyNR for SA (pure 5G) and CTRadioAccessTechnologyNRNSA for NSA (5G with LTE core). This information helps adapt app behavior — for example, loading heavy content only in SA mode with low latency.
A mobile app can adapt its behavior based on the type and quality of the cellular connection. ConnectivityManager (Android) and NWPathMonitor (iOS) notify the app about network changes — switching from Wi-Fi to Cellular, signal loss, or 5G availability.
Key handling scenarios:
RSSI (Received Signal Strength Indicator) — the main cellular signal quality metric. Values range from -50 dBm (excellent signal) to -120 dBm (almost no network). Android provides RSSI access via SignalStrength.getLevel(), iOS — via CTCarrier (limited access).
import Network
let monitor = NWPathMonitor()
monitor.pathUpdateHandler = { path in
if path.usesInterfaceType(.cellular) {
print("Cellular network active")
if path.isExpensive {
print("Metered connection — limit traffic")
}
}
}
monitor.start(queue: .main)
NWPathMonitor from the Network framework monitors the connection type (cellular, wi-fi, wired) and the isExpensive flag, indicating a metered connection. On iOS, this is the primary way to adapt app behavior to the current network type without direct access to the radio interface.
Although the app does not control carrier selection, understanding different plan characteristics helps the developer make decisions. APN (Access Point Name) — a gateway between the cellular network and the internet. Different APNs (internet, ims, mms) provide different QoS — the voice APN (IMS) has priority over internet traffic.
Modern operators are introducing DNN (Data Network Name) in 5G SA — an APN analog with the ability to segment by requirements: ultra-reliable low-latency (URLLC), enhanced mobile broadband (eMBB), massive IoT (mMTC). The developer does not choose the slice directly, but the app can request a specific QoS through 5G QoS Identifier (5QI) when using Network Slicing.
Recommendations for the developer: check connection availability via NetworkInfo.isConnectedOrConnecting before sending data; set request timeouts to at least 30 seconds for cellular networks (TCP session establishes more slowly under weak signal); use background tasks (WorkManager, BGTaskScheduler) for synchronization only when connected to Wi-Fi or an unlimited plan.
Frequently Asked Questions
5G NSA (Non-Standalone) uses 5G New Radio for data transmission and 4G LTE Core for connection management and mobility. 5G SA (Standalone) uses a full 5G Core with independent authentication. SA is mandatory for Network Slicing and latency under 10 ms, NSA — for early 5G launch on existing infrastructure.
On Android — ConnectivityManager.getActiveNetwork().getNetworkCapabilities() with hasTransport(TRANSPORT_CELLULAR) check. On iOS — NWPathMonitor with usesInterfaceType(.cellular) check. Additionally, iOS provides isExpensive to determine a metered connection.
Carrier Aggregation — a technology that combines up to 5 component carriers to increase bandwidth. If each carrier provides 20 MHz of bandwidth, aggregating 3 carriers delivers 60 MHz — speeds up to 450 Mbps. For the app, Carrier Aggregation is transparent: the modem handles combining automatically.
Millimeter waves (24–52 GHz) have a very short wavelength (5–12 mm) and are heavily attenuated when passing through walls, windows, and even tree foliage. mmWave requires a direct line of sight to the antenna — losses through glass are 10–30 dB. Therefore, mmWave is used in open spaces: stadiums, squares, shopping centers with transparent domes.
It is recommended to subscribe to ConnectivityManager (Android) or NWPathMonitor (iOS) notifications. On signal loss, the app should: cancel current network requests, show a no-connection indicator to the user, save state to local storage (Room, CoreData), and schedule reconnection with exponential backoff delay (retry after 10s, 30s, 60s, 300s).
Summary
We will develop a mobile application turnkey
IT Sectr creates iOS and Android applications for startups and businesses since 2017. We will advise you and propose the best solution.
Read also