1. Home
  2. Portfolio
  3. Cross-platform apps for IoT solutions using Kotlin Multiplatform

Cross-platform apps for IoT solutions using Kotlin Multiplatform

Kotlin app development

PNN Soft has many years of experience in developing cross-platform applications. We use modern frameworks, tools, and proven technologies to implement complex and at the same time universal software solutions.

Context

A leading marketing company approached PNN Soft with a need for an advanced IoT solution to streamline its operations and enhance its service offerings. The company, specializing in cutting-edge marketing strategies and data analytics, required a robust and versatile application to manage and configure IoT devices used in their extensive campaigns across various platforms. Their goal was to have a unified solution that could work seamlessly on Android, iOS, Windows, macOS, and web platforms, providing their team with the flexibility and efficiency needed to maintain a competitive edge.

Solution

Our team of experts created a complex solution based on the Kotlin Multiplatform (KMP) for IoT device configuration. The app provides access to customization solutions for IoT devices on various platforms: Android, iOS, Windows, macOS, and web. The main advantage of solutions on Kotlin is versatility. Instead of several native parts, Kotlin Multiplatform and Compose Multiplatform allow us to write one code that will work reliably on different platforms.

We favour the development process on KMP due to its multifunctionality and ease of use. Our preference for a consistent approach has resulted in an exceptional framework that streamlines the development process and encourages closer interaction between the various components of software development. The development team uses Kotlin as one language to make the IoT solution work well on any platform.

Process

We developed a cohesive business logic that works in mobile (Android, iOS), desktops (Windows, MAC), and web apps using a single codebase. Our team developed one intuitive user interface, enhancing user interaction and ensuring a high-quality experience across all devices. Our Kotlin cross-platform application allows different types of users to maintain and configure IoT devices on different levels. For example, depending on the level of access, users can diagnose, test and adjust the processes of the software configuration of devices. The end user can customize the device to personal needs, depending on the frequency and purpose of using the IoT device.


IoT system based on Kotlin

Our team successfully passed the challenges to thinking over and developing a convenient solution. To sum up, mentioned above, we realized the following advanced features:


Technologies we used

Our developers have the fundamental knowledge and experience to implement projects based on KMP. Common logic is shared with web application by compilation Kotlin libraries into WASM (web assembly). Mobile and desktop apps used shared UI developed using KMP, while web used React technology to build Web UI.


Kotlin Multiplatform:Central to sharing backend logic across all supported platforms, enhancing the coherence and reliability of the application.
Compose Multiplatform:Enables the sharing of UI components across various platforms, ensuring a consistent and engaging user experience.
React Technology:Applied for responsive and dynamic development of web interfaces for Progressive Web Apps, enhancing web user engagement and satisfaction.

Results

The development of the IoT solution was a highly collaborative effort, involving multiple teams spread across different locations. At PNN Soft, we worked concurrently on the continuous enhancement of the web application while frequently updating the device firmware. This process necessitated intense collaboration with teams in the US and Europe, who were responsible for the web portal development, mobile applications, and firmware updates. During this workflow, we developed and rigorously tested the desktop application using various firmware versions, ensuring smooth data extraction and integration with the web UI.


Our development process focused on creating a seamless and intuitive user experience. The application’s user interface was designed to be highly responsive and adaptable, ensuring a consistent and engaging experience across all platforms, including mobile, desktop, and web. The UI dynamically adjusts to the specific requirements of each device, making it easy for users to navigate and interact with the IoT solution regardless of their preferred platform.


The application achieved exceptional performance metrics across all supported platforms. By utilizing Kotlin Multiplatform and Compose Multiplatform, we ensured that the codebase was optimized for speed and reliability. This resulted in fast load times, smooth transitions, and minimal latency, providing users with a high-quality, efficient experience when managing and configuring their IoT devices.


The application was designed to take full advantage of the native capabilities of each platform. For mobile devices, we utilized native Bluetooth libraries to ensure robust and reliable device connectivity. For the web version, we employed Web Assembly and React technology to create dynamic and responsive user interfaces. This approach allowed us to deliver a comprehensive solution that leverages the strengths of each platform to provide the best possible functionality and user experience.


By using a unified codebase with Kotlin Multiplatform, we ensured that the business logic was consistent across all platforms. This uniformity not only enhanced the coherence and reliability of the application but also simplified the development process. It allowed us to share common logic between native and web apps, reducing the complexity of maintaining separate codebases and ensuring that all versions of the application operated seamlessly together.


The use of Kotlin Multiplatform significantly reduced the effort required to support new features. With a shared codebase, adding new functionalities or updates could be done simultaneously across all platforms, ensuring consistency and saving development time. This streamlined approach allowed us to quickly respond to user feedback and market demands, continuously improving the application and delivering new features without extensive overhead.

Collaborate with us

PNN Soft is an expert in developing reliable and effective web solutions for business. We are your partners in your success. PNN Soft specialists implement custom cross-platform solutions considering the needs of your business. If you want to order a ladder project created using Kotlin Multiplatform, leave your request by filling out the form below and PNN Soft will contact you.