Cross Platform App Development for Connected Devices, Delivered With the Backend

    Cross-Platform Mobile App Development

    Service Overview

    Professional mobile app development services supporting iOS and Android platforms. Using native development and cross-platform frameworks to provide high-performance, excellent user experience mobile app solutions.

    XTELL is a cross platform app development company building apps for connected devices: Flutter on iOS and Android, handling pairing, video and push, with the backend written by the same team.

    Who this app development service is for

    • Companies whose product includes a device and needs a companion app - sensors, cameras, controllers, instruments. The app is the device's remote control and its display.

    • Clients who do not want generic app outsourcing. The hard parts of a device app are provisioning, reconnection after a dropped link and push delivery, not applying a UI template.

    • Teams caught between an app vendor and a device vendor. The app side says the device sent nothing, the device side says the app never connected, and nobody can inspect the whole chain.

    • Clients who need iOS and Android together, with matching features and release cadence. Cross platform development is the natural fit.

    What we deliver: the app and its backend together

    XTELL does not sell mobile app development as a front end on its own. The app and the server behind it are designed, built and integrated by one team. The Flutter app and NestJS backend of the 433MHz security linkage system were delivered this way: every app feature has a matching API and message path on the backend, and pairing, device state and alarms are defined as a whole at the design stage. The reason is practical. Most device-app problems sit on the boundaries between the app, the backend and the device, and when front end and back end belong to different vendors, a boundary problem is an orphan nobody can fix alone.

    For most cross platform app development companies the phrase means one thing: one codebase across iOS and Android. At XTELL it means a second thing too - the device your app talks to runs firmware written by the same team. Cross platform on the software side, and across the hardware boundary as well. A mobile app development company can build the screens; how they behave depends on the device.

    Case one: the Flutter app for the 433MHz security linkage system

    The mobile side of the 433MHz security linkage system is a Flutter app for iOS and Android. go_router handles routing, provider handles state and dio handles networking. QR code provisioning binds the device, WiFi scanning guides it onto the network, video plays RTSP and HLS streams through VLC, and alarms are pushed in real time. The project structure and plugin choices are organised around identical behaviour on both platforms, so the same business logic behaves the same on iOS and Android and needs one test standard, not two.

    Case two: the ultrasound touch control system, an Android interface on medical equipment

    The ultrasound touch control system uses Android for touch interaction on a medical device. It talks to the equipment over the M8 Touch communication protocol, a systematic set of UI mockups and slice assets keeps the interface consistent, and TouchControl handles touch input. The challenge was a stable, responsive ultrasound imaging interface with reliable touch on medical hardware. This is native Android work: medical use sets a higher bar for interface stability and response determinism than a typical consumer app.

    Case three: the Apollo2 low-power display terminal, device interface working with the app

    The Apollo2 low-power display terminal is the other end of the link. The device uses an Apollo2 MCU as main controller, sleeps in low-power standby, uses an optimised SMX layout for its display, and supports different feature sets through multi-version BSPs built across Keil, IAR and GCC. What the terminal shows locally and what the phone app shows were divided at the design stage - including how each behaves when the network drops - and decided by the same team. In a connected product, the app is never an island.

    Cross platform or native: where Flutter's limits are

    XTELL defaults to Flutter for cross platform work: one codebase for iOS and Android, shared business logic and consistent behaviour on both, which is how the 433MHz system app was delivered. The limits are clear too. Interfaces that depend heavily on platform capabilities, or need very high response determinism, are better native - the ultrasound touch system uses native Android for exactly that reason. The choice is made on feature requirements and maintenance cost rather than preference, and the reasoning is written down at the design stage.

    Device provisioning is the first hurdle for a connected app

    Provisioning decides whether users keep a device. If a customer cannot get it online within ten minutes of unboxing, nothing else matters. The 433MHz system app binds devices by scanning a QR code and guides network setup with WiFi scanning, removing the error-prone step of typing an SSID and password by hand. The design rule for provisioning: every failed step must give clear feedback and a way forward. The app should tell the user whether a failure is on the device or the network, and the logs should pinpoint it.

    Video: how RTSP and HLS play inside the app

    Video in a camera product's app is not a matter of calling a player. The 433MHz system app plays RTSP and HLS streams through VLC, with ZLMediaKit relaying the streams on the backend. The real problems are start-up latency, whether to resume a stream after returning from background, how to drop resolution on a weak network, and whether the video or the push notification arrives first at the moment of an alarm. Video experience is the core metric of a security product, and because every link from camera through server to app is ours, problems do not have to be traced across vendors.

    Push notifications and alarm delivery rate

    The value of a device alarm equals the probability that it reaches the user. In the 433MHz system, the device reports to the backend over MQTT through an EMQX broker, and the backend triggers the app push once it has confirmed the device state. The backend guarantees the ordering between push and device state, avoiding the mismatch where the notification arrives before the state has updated. Delivery rate is threatened mainly by system power-saving policies and permission settings, so the in-app guidance flow and the backend retry strategy are designed together - another way a connected-device app differs from an ordinary one.

    Who handles integration between the app and the device

    XTELL does. Firmware, app and backend sit with one team, so when the app cannot reach a device we open the firmware and check what the device actually advertised and whether the backend received its registration. A symptom like "the device didn't report" gets narrowed to a specific message and timestamp. On device-app projects, integration often takes longer than development itself, and whether integration can cross layers directly sets the delivery pace.

    Engineering choices: routing, state and the network layer

    The foundational choices in a Flutter project set its long-term maintenance cost. The 433MHz system app uses go_router for routing and deep links, provider for state and dio for requests and interceptors. The rule is mainstream, stable and replaceable - no maintenance risk taken on for a niche library's newest feature. The codebase is organised by business domain, so a new engineer can read the feature breakdown from the directory structure.

    How we work together and how delivery scope is agreed

    1. Requirements review: share the device type, communication method and app feature list, and we confirm whether the route is cross platform or native.

    2. Proposal and contract: screen flows, interface definitions and milestones are written down. Whether app and backend source code is delivered, and under an open or closed model, is agreed item by item in the contract. Nothing on this page constitutes a blanket commitment.

    3. Development and integration: app, backend and device side progress in parallel, and provisioning, video and push are verified end to end.

    4. Delivery: scope follows the contract. Timeline and price are given after assessment; this page does not fix numbers.

    About XTELL

    XTELL (Shenzhen XTELL Future Technology) was founded in Shenzhen in 2016. Over the ten years since, it has delivered more than 100 projects, with clients predominantly western B2B companies. Its work covers every layer from circuit board to cloud: PCB design, FPGA, embedded firmware, Linux BSP, device interfaces, mobile apps, backends and IoT platforms.

    Service Features

    iOS App Development
    Android App Development
    Cross-Platform Development
    UI/UX Design
    App Store Publishing
    App Maintenance & Updates

    Technology Stack

    iOS: Swift, Objective-C, Xcode
    Android: Kotlin, Java, Android Studio
    Cross-platform: React Native, Flutter, Ionic
    Backend: Node.js, Firebase, AWS
    Tools: Git, Jenkins, Fastlane

    Related Project Cases

    What You Receive

    Flutter or native Android application, iOS and Android builds
    Device pairing and WiFi provisioning flow
    Live video playback (RTSP / HLS) where the product has a camera
    Push notification integration
    API integration against the device backend
    Localisation and theming
    Store submission support

    Frequently Asked Questions

    We only need the app - we already have a backend. Is that fine?

    Yes, but the interfaces need checking first. Send the existing backend's API documentation and the device communication protocol, and we will assess how the app connects to your existing chain. One caveat: when the backend is not in our hands, we can help locate some integration issues but cannot fix them directly, so response time is slower. This is written into the proposal.

    How do we choose between cross platform and native?

    On the requirements. A business app that must behave the same on both platforms goes Flutter, as with the 433MHz system's provisioning, video and push. Interfaces tightly bound to platform capabilities or needing high determinism go native, as with the Android interface of the ultrasound touch system. XTELL has delivered both, and the reasons and trade-offs are written down at the design stage.

    Are you experienced with device features like video and push?

    Yes. The 433MHz security linkage system app delivered the full set: RTSP and HLS video through VLC, QR code provisioning and WiFi scanning, and alarm push, backed by an EMQX and ZLMediaKit server chain. These are standard capabilities for a device app, and they are the difference between this service and general app outsourcing.

    Do you handle app store publishing?

    We deliver store-ready builds and the list of required assets. The store accounts and review process are led by the client - the account is the client's asset and we do not hold it on your behalf. The common rejection causes, permission declarations and privacy policy, are handled to store requirements during development to cut down on back and forth.

    Do you deliver the app source code?

    We work under both open and closed models. Whether app and backend source code is delivered, and how it is licensed, is agreed per project in the contract and written down before signing. This page makes no blanket commitment; tell us your preferred model at the quoting stage.

    Who handles integration between the device and the app?

    XTELL does. When firmware, app and backend are delivered by one team, integration is internal: if the app cannot reach the device, we check the firmware's advertising and registration messages directly. Where the firmware comes from a third party, the three parties need to agree an integration window and an owner for each interface, and this is set out in the contract.

    Need Professional Services?

    Contact us for customized solutions and quotes