# mobile-development

Published articles for mobile-development.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## The Death of the Static UI: Building Context-Aware Mobile Apps in 2026

DevFeed: [The Death of the Static UI: Building Context-Aware Mobile Apps in 2026](<https://devfeed.tech/articles/the-death-of-the-static-ui-building-context-aware-mobile-apps-in-2026-23054.md>)

Original publisher: [Read original article](<https://medium.com/flutter-community/the-death-of-the-static-ui-building-context-aware-mobile-apps-in-2026-ddd06d25a473?source=rss----86fb29d7cc6a---4>)

Author: Rudraksh Shukla

Published: 2026-09-14T17:02:27Z

Content type: tutorial

Language: en

Sources: [Flutter Community - Medium](<https://devfeed.tech/sources/flutter-community-medium.md>)

Topics: [Mobile](<https://devfeed.tech/topics/mobile.md>), [ui](<https://devfeed.tech/topics/ui.md>), [User experience (UX)](<https://devfeed.tech/topics/ux.md>), [personalization](<https://devfeed.tech/topics/personalization.md>), [Flutter](<https://devfeed.tech/topics/flutter.md>), [real-time](<https://devfeed.tech/topics/real-time.md>)

Tags: [agentic-ai](<https://devfeed.tech/tags/agentic-ai.md>), [artificial-intelligence](<https://devfeed.tech/tags/artificial-intelligence.md>), [dark-mode](<https://devfeed.tech/tags/dark-mode.md>), [flutter](<https://devfeed.tech/tags/flutter.md>), [machine-learning](<https://devfeed.tech/tags/machine-learning.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [mobile-development](<https://devfeed.tech/tags/mobile-development.md>), [personalization](<https://devfeed.tech/tags/personalization.md>), [real-time](<https://devfeed.tech/tags/real-time.md>), [recommendations](<https://devfeed.tech/tags/recommendations.md>), [ui](<https://devfeed.tech/tags/ui.md>), [ux](<https://devfeed.tech/tags/ux.md>)

### AI overview

This developer article argues that mobile interfaces are evolving from fixed layouts into context-aware surfaces that adapt navigation, touch targets, color, density, and surfaced actions using on-device signals. It discusses motion, location, time, usage history, and device or network state, with Flutter examples and references to patterns associated with Spotify and Netflix.

### Source excerpt

Every app you've ever shipped made the same quiet assumption: the interface is a fixed thing. You design a screen, you lay out the widgets, and every user sees the same arrangement in the same order -- a 22-year-old on a commuter train at 8am and a 60-year-old at home on a Sunday get pixel-identical layouts. For thirty years that was simply what a UI was. That assumption is dying. In 2026 the leading mobile apps treat the interface as a live surface that reshapes itself in real time -- reordering navigation, resizing touch targets, shifting color and density, surfacing the one action you're most likely to want next -- driven by on-device signals about who you are, where you are, and what you're doing right now. The static screen is becoming the exception, not the default. Here's what's actually driving it, what it takes to build, and what it looks like in code -- with Flutter examples throughout. From static layout to living surface The old personalization playbook was recommendation, not adaptation. Netflix reordered a content row; Spotify built you a playlist. The chrome around those recommendations -- the navigation, the layout, the visual system -- stayed frozen. Context-aware UX pushes personalization down into the interface itself. Concretely, an adaptive UI reacts to signals like these: Motion and activity -- accelerometer and gyroscope tell you the user is walking, driving, or still. A UI can enlarge touch targets and simplify layout when it detects movement, cutting mis-taps. Location and environment -- outdoors in bright light, boost contrast and switch to a high-legibility mode; on a known Wi-Fi network at home, load richer media. Time and calendar -- automatic dark mode at night, a leaving-for-a-meeting layout when the next calendar event is 15 minutes out. Usage history -- promote the three features this user actually touches, demote the ones they never open. A finance app foregrounds transfer for a power user and check balance for a casual one. Device and networ

## Как мы мигрируем навигацию на Compose в Android-приложениях с 400+ экранами

DevFeed: [Как мы мигрируем навигацию на Compose в Android-приложениях с 400+ экранами](<https://devfeed.tech/articles/compose-android-400-30667.md>)

Original publisher: [Read original article](<https://habr.com/ru/companies/hh/articles/1044842/>)

Author: horseunnamed (hh.ru)

Published: 2026-06-09T08:00:40Z

Content type: article

Language: ru

Sources: [HeadHunter RU](<https://devfeed.tech/sources/headhunter-ru.md>)

Topics: [Compose](<https://devfeed.tech/topics/compose.md>), [Android](<https://devfeed.tech/topics/android.md>), [ui](<https://devfeed.tech/topics/ui.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-development](<https://devfeed.tech/tags/android-development.md>), [compose](<https://devfeed.tech/tags/compose.md>), [hh-ru](<https://devfeed.tech/tags/hh-ru.md>), [migration](<https://devfeed.tech/tags/migration.md>), [mobile-development](<https://devfeed.tech/tags/mobile-development.md>), [modo](<https://devfeed.tech/tags/modo.md>), [navigation](<https://devfeed.tech/tags/navigation.md>), [refactoring](<https://devfeed.tech/tags/refactoring.md>), [tag-08a48a9394c3](<https://devfeed.tech/tags/tag-08a48a9394c3.md>), [tag-ae979152fd5d](<https://devfeed.tech/tags/tag-ae979152fd5d.md>), [tag-f538878e20ff](<https://devfeed.tech/tags/tag-f538878e20ff.md>), [ui](<https://devfeed.tech/tags/ui.md>), [vj](<https://devfeed.tech/tags/vj.md>)

### AI overview

An Android tech lead at hh.ru describes the ongoing migration of two Android applications from Fragment-based navigation toward a Compose-first approach. The article explains the scale of the migration, the hierarchy of navigation containers, nested navigation flows, and multistack navigation between main application sections.

### Source excerpt

Привет, Хабр! Меня зовут Константин Дубинко, я -- Android-техлид в hh.ru. Сейчас мы заканчиваем большой переезд навигации в двух Android-приложениях -- для соискателей и работодателей. В этой статье я покажу, как у нас там устроена навигация, почему мы решили отказаться от Fragment-навигации и как превратили хаотичную миграцию с "островками" новой архитектуры в управляемый процесс с метриками и понятным планом работ. Заодно расскажу, какие решения сработали, какие -- нет, и что я сделал бы иначе, если бы начинал заново. Читать далее

## Background Work, Push Topics, And Richer Notifications

DevFeed: [Background Work, Push Topics, And Richer Notifications](<https://devfeed.tech/articles/background-work-push-topics-and-richer-notifications-19210.md>)

Original publisher: [Read original article](<https://www.codenameone.com/blog/background-execution-and-push/>)

Author: Shai Almog

Published: 2026-06-09T00:00:00Z

Content type: tutorial

Language: en

Sources: [CodeName One](<https://devfeed.tech/sources/codename-one.md>)

Topics: [Mobile](<https://devfeed.tech/topics/mobile.md>), [Development](<https://devfeed.tech/topics/development.md>), [Android](<https://devfeed.tech/topics/android.md>), [iOS](<https://devfeed.tech/topics/ios.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [background-work](<https://devfeed.tech/tags/background-work.md>), [development](<https://devfeed.tech/tags/development.md>), [ios](<https://devfeed.tech/tags/ios.md>), [mobile-development](<https://devfeed.tech/tags/mobile-development.md>), [network](<https://devfeed.tech/tags/network.md>), [notifications](<https://devfeed.tech/tags/notifications.md>), [permission](<https://devfeed.tech/tags/permission.md>)

### AI overview

This article describes Codename One updates for constraint-based background work, foreground services, push topic subscriptions, shared-content handling, richer local notifications, and simulator support across Android and iOS.

### Source excerpt

Constraint-based background work, foreground services, push topic subscriptions, shared-content handling, and a much richer local notification API, all with full simulator support.

## The future of mobile development

DevFeed: [The future of mobile development](<https://devfeed.tech/articles/the-future-of-mobile-development-39309.md>)

Original publisher: [Read original article](<https://kt.academy/article/future_of_mobile>)

Published: 2026-06-01T00:00:00Z

Content type: opinion

Language: en

Sources: [Kt. Academy](<https://devfeed.tech/sources/kt-academy.md>)

Topics: [Mobile](<https://devfeed.tech/topics/mobile.md>), [Compose](<https://devfeed.tech/topics/compose.md>), [Jetpack Compose](<https://devfeed.tech/topics/jetpack-compose.md>), [multiplatform](<https://devfeed.tech/topics/multiplatform.md>), [Development](<https://devfeed.tech/topics/development.md>), [SwiftUI](<https://devfeed.tech/topics/swiftui.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>)

Tags: [compose](<https://devfeed.tech/tags/compose.md>), [css](<https://devfeed.tech/tags/css.md>), [ios](<https://devfeed.tech/tags/ios.md>), [jetpack-compose](<https://devfeed.tech/tags/jetpack-compose.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [mobile-development](<https://devfeed.tech/tags/mobile-development.md>), [multiplatform](<https://devfeed.tech/tags/multiplatform.md>), [react](<https://devfeed.tech/tags/react.md>), [workshop-learning-programming](<https://devfeed.tech/tags/workshop-learning-programming.md>)

### AI overview

This video transcript examines how mobile development has changed, arguing that declarative UI frameworks--especially Jetpack Compose and SwiftUI--have improved the development experience. It emphasizes Compose's multiplatform support across Android, iOS, desktop, and web, along with responsive design, animations, and Kotlin-based concurrency features.

### Source excerpt

What the future holds for mobile development, and how it changed in recent years.

## Why Waiting Feels Slow -- and How We're Using Real-Time Signals to Change That

DevFeed: [Why Waiting Feels Slow -- and How We're Using Real-Time Signals to Change That](<https://devfeed.tech/articles/why-waiting-feels-slow-and-how-we-re-using-real-time-signals-to-change-that-23985.md>)

Original publisher: [Read original article](<https://medium.com/mcdonalds-technical-blog/why-waiting-feels-slow-and-how-were-using-real-time-signals-to-change-that-754cb13fdab1?source=rss----3bac42476d27---4>)

Author: Global Technology

Published: 2026-03-31T14:17:27Z

Content type: article

Language: en

Sources: [McDonald's Technical Blog - Medium](<https://devfeed.tech/sources/mcdonald-s-technical-blog-medium.md>)

Topics: [iOS](<https://devfeed.tech/topics/ios.md>), [User Experience](<https://devfeed.tech/topics/user-experience.md>), [user experience design](<https://devfeed.tech/topics/user-experience-design.md>)

Tags: [customer-experience](<https://devfeed.tech/tags/customer-experience.md>), [digital-experiences](<https://devfeed.tech/tags/digital-experiences.md>), [ios](<https://devfeed.tech/tags/ios.md>), [ios-development](<https://devfeed.tech/tags/ios-development.md>), [mobile-development](<https://devfeed.tech/tags/mobile-development.md>), [real-time](<https://devfeed.tech/tags/real-time.md>), [technology](<https://devfeed.tech/tags/technology.md>), [user-experience](<https://devfeed.tech/tags/user-experience.md>), [user-experience-design](<https://devfeed.tech/tags/user-experience-design.md>)

### AI overview

McDonald's product, design, and engineering teams describe using iOS Live Activities to provide real-time order updates on the Lock Screen and Dynamic Island. The backend-driven platform aims to reduce uncertainty during waits and support reusable trackable experiences across the digital ecosystem.

### Source excerpt

A look into how our team turned uncertain wait moments into confident, glanceable experiences for guests in iOS using Live Activities. by: Maitree Shukla, Product Manager, Menu Browse, Alex Timmler, Director, Product Management, Nick Wilczynski, Sr Manager, Engineering Tech Lead, and Connor Sheehan, Software Engineer Quick Bytes: Digital transparency directly shapes perceived speed -- and uncertainty can make even fast experiences feel slow Live Activities provide customers with real-time order updates directly on the iOS Lock Screen and Dynamic Island Built as a reusable, backend-driven platform, this work unlocks future innovation across McDonald's digital ecosystem In a digital experience, speed isn't just about how fast an order is prepared -- it's about how fast it feels. When customers lack visibility into what's happening with their order, uncertainty creeps in, and even short waits can feel longer than they are. Our Product and User Experience Design teams set out to reduce that uncertainty by delivering real-time, glanceable updates through iOS Live Activities. The concept of Live Activities stemmed from one guiding question the team asked ourselves: How might we make the ordering experience feel as frictionless as possible? From there, that question naturally led to others. How do we make waiting feel faster? How can we be more transparent with customers? And how can we reduce moments of uncertainty along the way? To address those questions, we turned to Live Activities -- a capability built into iOS -- that enables real-time order updates on the Lock Screen and Dynamic Island, using premium screen real estate to provide reassurance without opening the app. It's a simple but powerful way to reinforce McDonald's reputation for leadership in convenience and speed, across both physical and digital experiences. To deliver this experience, we needed strong foundations: updates must be timely, flows can't disrupt restaurant operations, edge cases must be handled gra

## How to Make Software Demos More Effective by Focusing on User Stories

DevFeed: [How to Make Software Demos More Effective by Focusing on User Stories](<https://devfeed.tech/articles/demo-why-not-what-27338.md>)

Original publisher: [Read original article](<https://blog.mmckenna.me/demo-why-not-what>)

Author: Matt McKenna

Published: 2026-03-23T13:00:00Z

Content type: tutorial

Language: en

Sources: [Matt McKenna](<https://devfeed.tech/sources/matt-mckenna.md>)

Topics: [Demo](<https://devfeed.tech/topics/demo.md>)

Tags: [demo](<https://devfeed.tech/tags/demo.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [mobile-development](<https://devfeed.tech/tags/mobile-development.md>), [technical](<https://devfeed.tech/tags/technical.md>)

### AI overview

This article presents a framework for making software demos more effective by explaining why a feature matters, grounding it in a user story, showing a clear happy path, highlighting the moment of value, and closing with the outcome.

### Source excerpt

Intro This year at Square we started shipping aggressively. Powered by a completed migration, new feature roadmaps, and AI adoption, we shifted into a build, demo, iterate, ship cycle. My team was sho

## Custom Claude Code Status Lines for an Android Development Workflow

DevFeed: [Custom Claude Code Status Lines for an Android Development Workflow](<https://devfeed.tech/articles/claude-status-lines-are-the-new-terminal-prompt-27336.md>)

Original publisher: [Read original article](<https://blog.mmckenna.me/claude-status-lines-are-the-new-terminal-prompt>)

Author: Matt McKenna

Published: 2026-01-05T21:50:14Z

Content type: tutorial

Language: en

Sources: [Matt McKenna](<https://devfeed.tech/sources/matt-mckenna.md>)

Topics: [Claude Code](<https://devfeed.tech/topics/claude-code.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Android](<https://devfeed.tech/topics/android.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [android](<https://devfeed.tech/tags/android.md>), [claude-ai](<https://devfeed.tech/tags/claude-ai.md>), [claude-code](<https://devfeed.tech/tags/claude-code.md>), [ios](<https://devfeed.tech/tags/ios.md>), [llm](<https://devfeed.tech/tags/llm.md>), [mcp](<https://devfeed.tech/tags/mcp.md>), [mobile-development](<https://devfeed.tech/tags/mobile-development.md>), [terminal](<https://devfeed.tech/tags/terminal.md>)

### AI overview

The article describes a custom Claude Code status line for an Android development workflow. It explains how visible details such as the working directory, model, context-window use, changed-line count, cost, branch, MCP connection status, and connected devices help the author manage sessions and development work.

### Source excerpt

If you've spent time tweaking your shell prompt or configuring Starship, you know the feeling, there's something nice about having the right information visible when you need it. Claude Code supports custom status lines, so I put one together for my ...

## Using an AI Agent to Investigate Mobile Regressions with Git Diffs

DevFeed: [Using an AI Agent to Investigate Mobile Regressions with Git Diffs](<https://devfeed.tech/articles/git-bisect-for-mobile-is-dead-27340.md>)

Original publisher: [Read original article](<https://blog.mmckenna.me/git-bisect-for-mobile-is-dead>)

Author: Matt McKenna

Published: 2025-10-29T11:00:22Z

Content type: opinion

Language: en

Sources: [Matt McKenna](<https://devfeed.tech/sources/matt-mckenna.md>)

Topics: [Git](<https://devfeed.tech/topics/git.md>), [AI Agent](<https://devfeed.tech/topics/ai-agent.md>), [debugging](<https://devfeed.tech/topics/debugging.md>), [Language models](<https://devfeed.tech/topics/language-models.md>)

Tags: [agent](<https://devfeed.tech/tags/agent.md>), [agentic-ai](<https://devfeed.tech/tags/agentic-ai.md>), [ai](<https://devfeed.tech/tags/ai.md>), [ai-agent](<https://devfeed.tech/tags/ai-agent.md>), [android](<https://devfeed.tech/tags/android.md>), [debugging](<https://devfeed.tech/tags/debugging.md>), [git](<https://devfeed.tech/tags/git.md>), [ios](<https://devfeed.tech/tags/ios.md>), [mobile-development](<https://devfeed.tech/tags/mobile-development.md>), [regression](<https://devfeed.tech/tags/regression.md>)

### AI overview

The article argues that AI agents can help investigate difficult mobile regressions by analyzing the diff between a known-good and known-bad commit. This can reduce the need for repeated builds required by git bisect, while still requiring developers to test and confirm suspected causes.

### Source excerpt

I love git bisect If you don't know it, git bisect is basically a binary search for bugs. You have an issue that did not exist before, so you grab two commit hashes, one good and one bad, and build, repro, build, repro until you find the exact commit...

## How Blinkit's Droid Dex Adapts Android App Performance to Device Capabilities

DevFeed: [How Blinkit's Droid Dex Adapts Android App Performance to Device Capabilities](<https://devfeed.tech/articles/how-blinkit-cracked-android-s-performance-puzzle-with-droid-dex-20084.md>)

Original publisher: [Read original article](<https://lambda.blinkit.com/droid-dex-1f807901626f?source=rss----42df4a1e8725---4>)

Author: Karan Gourisaria

Published: 2025-06-26T07:03:41Z

Content type: article

Language: en

Sources: [Grofers](<https://devfeed.tech/sources/grofers.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [Optimization](<https://devfeed.tech/topics/optimization.md>), [Development](<https://devfeed.tech/topics/development.md>), [real-time](<https://devfeed.tech/topics/real-time.md>), [Caching](<https://devfeed.tech/topics/caching.md>), [User experience (UX)](<https://devfeed.tech/topics/ux.md>)

Tags: [adaptive](<https://devfeed.tech/tags/adaptive.md>), [android](<https://devfeed.tech/tags/android.md>), [android-development](<https://devfeed.tech/tags/android-development.md>), [anr](<https://devfeed.tech/tags/anr.md>), [app-performance](<https://devfeed.tech/tags/app-performance.md>), [caching](<https://devfeed.tech/tags/caching.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [fragmentation](<https://devfeed.tech/tags/fragmentation.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [mobile-development](<https://devfeed.tech/tags/mobile-development.md>), [performance](<https://devfeed.tech/tags/performance.md>), [real-time](<https://devfeed.tech/tags/real-time.md>)

### AI overview

This article describes Blinkit's Droid Dex, a system that classifies device performance and adapts Android app behavior accordingly. It presents device fragmentation as a source of out-of-memory errors, slower screen rendering, and ANRs, and describes adaptations such as concurrency limits, caching levels, power-saving mode, and simplified animations.

### Source excerpt

How Blinkit Cracked Android's Performance Puzzle with Droid DexAdaptive real-time performance tuning -- fewer ANRs, smoother UX, and smarter device-specific optimization Picture this: Your app runs buttery-smooth on Pixel 7 Pro while throwing ANRs on a Redmi Note 4. Users on a Fold 6 have to experience the same janky transitions as those on a INR 6,000 device. Sounds familiar? Welcome to Android development in 2025, where device fragmentation is one of the biggest challenges. This is the story of how Blinkit solved Android's most notorious problem: intelligent, real-time performance adaptation. 📱 The Problem: One Codebase, Infinite Devices Device Fragmentation isn't just a developer headache -- it's a business liability. At Blinkit, we serve millions of users across India's most diverse Android ecosystem, from ultra-budget to flagship devices. Consider these jaw-dropping stats from our production data: 57% of total OOMs occur on devices with less than 4GB of RAM The average time to render key screens is 2.5 times slower on budget phones compared to flagships 20% of users drop off after experiencing a single ANR Traditional solutions? They're all broken: 🔴 The Conservative Trap: Design for the weakest device. Result? Premium users get a subpar experience. 🔴 The Aggressive Fallacy: Optimize for flagships. Result? 60% of users face OOMs and ANRs. We needed something better -- something smarter, that could make apps think about performance in real-time. 🔥 Introducing: Droid Dex Imagine your app could sense the device it's running on and instantly adapt: "This phone can handle 4 concurrent videos, aggressive caching, and premium transitions" or "This device needs power-saving mode, minimal caching, and simplified animations"? That's exactly what Droid Dex does. It's not just another performance library -- it's an intelligent performance classification system that lets your app adapt to its environment. // Make your app performance-aware with a single call DroidDex.getPerformanc

## Compose Multiplatform for Cross-Platform Mobile App Development

DevFeed: [Compose Multiplatform for Cross-Platform Mobile App Development](<https://devfeed.tech/articles/why-you-should-build-mobile-apps-with-compose-kevin-galligan-38169.md>)

Original publisher: [Read original article](<https://touchlab.co/build-mobile-with-compose>)

Published: 2024-10-11T00:00:00Z

Content type: article

Language: en

Sources: [Touchlab | Enterprise Mobile Innovation & Development](<https://devfeed.tech/sources/touchlab-enterprise-mobile-innovation-development.md>)

Topics: [compose-multiplatform](<https://devfeed.tech/topics/compose-multiplatform.md>), [Compose](<https://devfeed.tech/topics/compose.md>), [cross-platform](<https://devfeed.tech/topics/cross-platform.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [Kotlin Multiplatform](<https://devfeed.tech/topics/kotlin-multiplatform.md>), [Android](<https://devfeed.tech/topics/android.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [Flutter](<https://devfeed.tech/topics/flutter.md>), [React Native](<https://devfeed.tech/topics/react-native.md>)

Tags: [compose-mp](<https://devfeed.tech/tags/compose-mp.md>), [compose-multiplatform](<https://devfeed.tech/tags/compose-multiplatform.md>), [cross-platform](<https://devfeed.tech/tags/cross-platform.md>), [flutter](<https://devfeed.tech/tags/flutter.md>), [kmp](<https://devfeed.tech/tags/kmp.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [mobile-development](<https://devfeed.tech/tags/mobile-development.md>), [react](<https://devfeed.tech/tags/react.md>)

### AI overview

This article presents Compose Multiplatform as an option for building Android and iOS mobile apps from a single codebase. It explains that the technology combines Kotlin Multiplatform with Compose UI while retaining access to native platforms, and compares it with React Native and Flutter.

### Source excerpt

If you are building a mobile product, you are probably considering React Native, Flutter, or some flavor of HTML. Maybe you're even considering fully native apps. If so, you should learn about Compose Multiplatform. Compose provides full cross-platform efficiency, and can be as native as you need, minus the risk.

## Scaling Mobile Development at Microsoft-- Mental Model

DevFeed: [Scaling Mobile Development at Microsoft-- Mental Model](<https://devfeed.tech/articles/scaling-mobile-development-at-microsoft-mental-model-22783.md>)

Original publisher: [Read original article](<https://medium.com/microsoft-mobile-engineering/scaling-mobile-development-at-microsoft-mental-model-9e51241ea41a?source=rss----87f10537e947---4>)

Author: Anand Nath

Published: 2024-06-12T14:37:04Z

Content type: article

Language: en

Sources: [Android@Microsoft - Medium](<https://devfeed.tech/sources/android-microsoft-medium.md>)

Topics: [Mobile](<https://devfeed.tech/topics/mobile.md>), [Development](<https://devfeed.tech/topics/development.md>), [Microsoft](<https://devfeed.tech/topics/microsoft.md>), [App](<https://devfeed.tech/topics/app.md>), [User Experience](<https://devfeed.tech/topics/user-experience.md>), [Android](<https://devfeed.tech/topics/android.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [app](<https://devfeed.tech/tags/app.md>), [architecture](<https://devfeed.tech/tags/architecture.md>), [development](<https://devfeed.tech/tags/development.md>), [ios](<https://devfeed.tech/tags/ios.md>), [microsoft](<https://devfeed.tech/tags/microsoft.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [mobile-development](<https://devfeed.tech/tags/mobile-development.md>), [reuse](<https://devfeed.tech/tags/reuse.md>), [user-experience](<https://devfeed.tech/tags/user-experience.md>)

### AI overview

This first article in a series presents a high-level mental model for scaling development across Microsoft mobile applications. It describes separately maintained codebases and overlapping experiences, then discusses High Value Controls such as One Camera and One Player, including problems caused by siloed development such as inconsistency, limited interoperability, and redundant libraries.

### Source excerpt

Scaling Mobile Development at Microsoft -- Mental Model In the Scaling Teams Mobile Development series we looked at scaling development in a single mobile code base. Since then, we were at work, looking at up-levelling this problem statement and look at how to scale across mobile applications. Here is a new series which tries to throw some light around this topic. This article is the first of a series, starting with understanding the problem statement and a high level solution. In the following articles we will dive deeper with an example and discuss practical aspects of how we got it done. Let's dive in! Photo by Hans-Peter Gauster on UnsplashShared experiences Microsoft has a suite of mobile applications. Each of these applications are developed in separate code base, has its own release cycles. There are a lot of overlapping experiences across these applications. These experiences are also implemented, tested and maintained independently in each application. Here are some examples: File picking experience across Microsoft mobile apps.Calendar experience across Microsoft mobile apps.File sharing experience across Microsoft mobile apps. In order to drive consistent user experience across these applications, Microsoft is invested in developing "High Value Controls" aka HVCs. For example, there is One Camera which provides camera functionality for most of the Microsoft apps, there is One Player which provides video playback in Microsoft apps and some more. Most of the HVCs are developed in silos without any common considerations or guidelines. Some HVCs are developed inside one of the Microsoft mobile apps and then lifted out to be positioned as reusable. These come with the remnants of the app specific concepts and logic, which does not sit well with other apps. This kind of HVC development lack consistency, coherence and interoperability. This also leads to a series of issues for both the Microsoft mobile apps and HVCs. Issues for Microsoft mobile apps Note: In this

## Capturing composable to a bitmap without losing a state

DevFeed: [Capturing composable to a bitmap without losing a state](<https://devfeed.tech/articles/capturing-composable-to-a-bitmap-without-losing-a-state-25705.md>)

Original publisher: [Read original article](<https://blog.shreyaspatil.dev/capturing-composable-to-a-bitmap-without-losing-a-state/>)

Author: Shreyas Patil

Published: 2024-03-20T13:58:20Z

Content type: tutorial

Language: en

Sources: [Shreyas Patil's Blog](<https://devfeed.tech/sources/shreyas-patil-s-blog.md>)

Topics: [Jetpack Compose](<https://devfeed.tech/topics/jetpack-compose.md>), [ui](<https://devfeed.tech/topics/ui.md>), [Caching](<https://devfeed.tech/topics/caching.md>), [Canvas](<https://devfeed.tech/topics/canvas.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-app-development](<https://devfeed.tech/tags/android-app-development.md>), [android-apps](<https://devfeed.tech/tags/android-apps.md>), [android-development](<https://devfeed.tech/tags/android-development.md>), [caching](<https://devfeed.tech/tags/caching.md>), [capture](<https://devfeed.tech/tags/capture.md>), [code](<https://devfeed.tech/tags/code.md>), [compose](<https://devfeed.tech/tags/compose.md>), [deep-dive](<https://devfeed.tech/tags/deep-dive.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [jetpack](<https://devfeed.tech/tags/jetpack.md>), [jetpack-compose](<https://devfeed.tech/tags/jetpack-compose.md>), [jetpack-compose-layouts-and-modifiers](<https://devfeed.tech/tags/jetpack-compose-layouts-and-modifiers.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [mobile-apps](<https://devfeed.tech/tags/mobile-apps.md>), [mobile-development](<https://devfeed.tech/tags/mobile-development.md>), [screenshot](<https://devfeed.tech/tags/screenshot.md>), [screenshots](<https://devfeed.tech/tags/screenshots.md>), [state](<https://devfeed.tech/tags/state.md>), [ui](<https://devfeed.tech/tags/ui.md>)

### AI overview

This tutorial explains how to capture Jetpack Compose content as a Bitmap while preserving its current state. It describes the Compose 1.6.x rendering approach, shows how stateful content such as counters and network images can expose problems, and examines caching and canvas rendering behavior.

### Source excerpt

Learn how to capture a Jetpack Compose Composable as a Bitmap without losing its current state. A deep dive into capturing high-quality UI screenshots programmatically.

## Rich media input from the keyboard in Compose

DevFeed: [Rich media input from the keyboard in Compose](<https://devfeed.tech/articles/rich-media-input-from-the-keyboard-in-compose-25744.md>)

Original publisher: [Read original article](<https://blog.shreyaspatil.dev/rich-media-input-from-the-keyboard-in-compose/>)

Author: Shreyas Patil

Published: 2024-03-01T12:49:32Z

Content type: tutorial

Language: en

Sources: [Shreyas Patil's Blog](<https://devfeed.tech/sources/shreyas-patil-s-blog.md>)

Topics: [Compose](<https://devfeed.tech/topics/compose.md>), [Jetpack Compose](<https://devfeed.tech/topics/jetpack-compose.md>), [GUI](<https://devfeed.tech/topics/gui.md>), [App](<https://devfeed.tech/topics/app.md>), [API](<https://devfeed.tech/topics/api.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-app-development](<https://devfeed.tech/tags/android-app-development.md>), [android-apps](<https://devfeed.tech/tags/android-apps.md>), [android-development](<https://devfeed.tech/tags/android-development.md>), [api](<https://devfeed.tech/tags/api.md>), [app](<https://devfeed.tech/tags/app.md>), [applications](<https://devfeed.tech/tags/applications.md>), [building](<https://devfeed.tech/tags/building.md>), [chat](<https://devfeed.tech/tags/chat.md>), [code](<https://devfeed.tech/tags/code.md>), [components](<https://devfeed.tech/tags/components.md>), [compose](<https://devfeed.tech/tags/compose.md>), [content](<https://devfeed.tech/tags/content.md>), [experimental](<https://devfeed.tech/tags/experimental.md>), [explore](<https://devfeed.tech/tags/explore.md>), [feature](<https://devfeed.tech/tags/feature.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [image](<https://devfeed.tech/tags/image.md>), [images](<https://devfeed.tech/tags/images.md>), [jetpack](<https://devfeed.tech/tags/jetpack.md>), [jetpack-compose](<https://devfeed.tech/tags/jetpack-compose.md>), [keyboard](<https://devfeed.tech/tags/keyboard.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [learn](<https://devfeed.tech/tags/learn.md>), [media](<https://devfeed.tech/tags/media.md>), [mobile-apps](<https://devfeed.tech/tags/mobile-apps.md>), [mobile-development](<https://devfeed.tech/tags/mobile-development.md>), [programming-blogs](<https://devfeed.tech/tags/programming-blogs.md>), [ui](<https://devfeed.tech/tags/ui.md>), [uiux](<https://devfeed.tech/tags/uiux.md>)

### AI overview

A tutorial on handling rich media input such as GIFs and images from the keyboard in Jetpack Compose chat applications. It explains that Jetpack Compose 1.7.x introduced an API and modifier for receiving specified content types through keyboard input, with related support for drag-and-drop and clipboard content.

### Source excerpt

Learn how to handle rich media input (like GIFs and images) from the keyboard in Jetpack Compose, essential for modern chat applications.

## Review of 2023

DevFeed: [Review of 2023](<https://devfeed.tech/articles/review-of-2023-24856.md>)

Original publisher: [Read original article](<https://alexzh.com/review-of-2023/>)

Author: Alex Zhukovich

Published: 2024-01-04T19:36:53Z

Content type: opinion

Language: en

Sources: [Alex Zhuk - Android development and testing](<https://devfeed.tech/sources/alex-zhuk-android-development-and-testing.md>)

Topics: [Mobile](<https://devfeed.tech/topics/mobile.md>), [android-development](<https://devfeed.tech/topics/android-development.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [ui](<https://devfeed.tech/topics/ui.md>), [Jetpack Compose](<https://devfeed.tech/topics/jetpack-compose.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-development](<https://devfeed.tech/tags/android-development.md>), [annual-review](<https://devfeed.tech/tags/annual-review.md>), [development](<https://devfeed.tech/tags/development.md>), [jetpack-compose](<https://devfeed.tech/tags/jetpack-compose.md>), [mobile-development](<https://devfeed.tech/tags/mobile-development.md>), [review](<https://devfeed.tech/tags/review.md>), [speaking](<https://devfeed.tech/tags/speaking.md>), [testing](<https://devfeed.tech/tags/testing.md>), [ui-testing](<https://devfeed.tech/tags/ui-testing.md>)

### AI overview

A personal review of 2023 covering mental-health routines, blog publishing, Android development and testing tips, public speaking about UI testing, and goals for 2024.

### Source excerpt

Review of 2023 The first week of 2024 is an excellent opportunity to reflect on the previous year and set goals for the upcoming one. The 2023 was pretty challenging for me in multiple areas of my life, like mental state and content creation. I'd like to share

## How To Ensure Exceptional Software Quality On Mobile

DevFeed: [How To Ensure Exceptional Software Quality On Mobile](<https://devfeed.tech/articles/how-to-ensure-exceptional-software-quality-on-mobile-35083.md>)

Original publisher: [Read original article](<https://novoda.com/blog/2023/09/26/how-to-ensure-exceptional-software-quality-on-mobile/>)

Author: Ben

Published: 2023-09-26T08:49:48Z

Content type: tutorial

Language: en

Sources: [Novoda](<https://devfeed.tech/sources/novoda.md>)

Topics: [Mobile](<https://devfeed.tech/topics/mobile.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [Maintainability](<https://devfeed.tech/topics/maintainability.md>), [ui-testing](<https://devfeed.tech/topics/ui-testing.md>), [Unit testing](<https://devfeed.tech/topics/unit-testing.md>), [Scalability](<https://devfeed.tech/topics/scalability.md>)

Tags: [engineering](<https://devfeed.tech/tags/engineering.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [maintainability](<https://devfeed.tech/tags/maintainability.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [mobile-development](<https://devfeed.tech/tags/mobile-development.md>), [mobile-devops](<https://devfeed.tech/tags/mobile-devops.md>), [mobile-engineering](<https://devfeed.tech/tags/mobile-engineering.md>), [quality](<https://devfeed.tech/tags/quality.md>), [testing](<https://devfeed.tech/tags/testing.md>), [ui-testing](<https://devfeed.tech/tags/ui-testing.md>), [unit-testing](<https://devfeed.tech/tags/unit-testing.md>)

### AI overview

This tutorial explains software quality for mobile products through the testing pyramid, performance and stability metrics, scalability, and maintainability. It emphasizes unit tests as a foundation, followed by integration and UI tests to validate component interactions and user flows.

### Source excerpt

Explore the key ways to ensure exceptional software quality on mobile including the pyramid of testing, performance and stability metrics, scalability and maintainability. The post How To Ensure Exceptional Software Quality On Mobile appeared first on Novoda.

## Office Hours: Apollo iOS - 16 June 2023

DevFeed: [Office Hours: Apollo iOS - 16 June 2023](<https://devfeed.tech/articles/office-hours-apollo-ios-16-june-2023-23474.md>)

Original publisher: [Read original article](<https://www.apollographql.com/blog/office-hours-apollo-ios-16-june-2023>)

Author: Patrick Arminio

Published: 2023-07-20T16:35:49Z

Content type: article

Language: en

Sources: [Apollo Blog](<https://devfeed.tech/sources/apollo-blog.md>)

Topics: [iOS](<https://devfeed.tech/topics/ios.md>), [apollo-client](<https://devfeed.tech/topics/apollo-client.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [Development](<https://devfeed.tech/topics/development.md>)

Tags: [apollo](<https://devfeed.tech/tags/apollo.md>), [apollo-client](<https://devfeed.tech/tags/apollo-client.md>), [ios](<https://devfeed.tech/tags/ios.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [mobile-development](<https://devfeed.tech/tags/mobile-development.md>)

### AI overview

This Apollo office-hours episode features Jeff Auriemma and Calvin Cestari discussing Apollo iOS. The supplied transcript identifies Apollo iOS as the subject and notes Apollo's iOS, web, and Kotlin client teams.

### Source excerpt

Here we are with another episode of our office hours! We have a recording of the stream below, where Jeff Auriemma and Calvin Cestari discuss all about Apollo iOS! Join the Discord server, now so you don't miss future office hours! Transcript Jeff Welcome back, everyone, to another maintainer office hours. What's old is new again. We started this series with Apollo iOS, and now we're back to Apollo iOS again. I'm Jeff, Jeff Auriemma. My pronouns are he and him.

## Unlock a Better Mobile Experience with Square GraphQL and PKCE

DevFeed: [Unlock a Better Mobile Experience with Square GraphQL and PKCE](<https://devfeed.tech/articles/unlock-a-better-mobile-experience-with-square-graphql-and-pkce-15934.md>)

Original publisher: [Read original article](<https://developer.squareup.com/blog/unlock-a-better-mobile-experience-with-square-graphql-and-pkce>)

Author: Eva Sasson

Published: 2023-06-26T15:00:00Z

Content type: tutorial

Language: en

Sources: [Square Corner Blog RSS Feed](<https://devfeed.tech/sources/square-corner-blog-rss-feed.md>)

Topics: [GraphQL](<https://devfeed.tech/topics/graphql.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [React Native](<https://devfeed.tech/topics/react-native.md>), [OAuth](<https://devfeed.tech/topics/oauth.md>), [API](<https://devfeed.tech/topics/api.md>), [Android](<https://devfeed.tech/topics/android.md>), [iOS](<https://devfeed.tech/topics/ios.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [api](<https://devfeed.tech/tags/api.md>), [apis](<https://devfeed.tech/tags/apis.md>), [graphql](<https://devfeed.tech/tags/graphql.md>), [ios](<https://devfeed.tech/tags/ios.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [mobile-development](<https://devfeed.tech/tags/mobile-development.md>), [oauth](<https://devfeed.tech/tags/oauth.md>), [pkce](<https://devfeed.tech/tags/pkce.md>), [react-native](<https://devfeed.tech/tags/react-native.md>)

### AI overview

A tutorial shows how to build a React Native mobile application for iOS and Android using Square GraphQL and OAuth PKCE. GraphQL combines API calls, while PKCE authorizes mobile clients to retrieve seller access tokens without a backend for the frontend.

### Source excerpt

Streamline the flow of your React Native application

## How Mobile Team Enablement Creates Efficiency As You Scale

DevFeed: [How Mobile Team Enablement Creates Efficiency As You Scale](<https://devfeed.tech/articles/how-mobile-team-enablement-creates-efficiency-as-you-scale-35074.md>)

Original publisher: [Read original article](<https://novoda.com/blog/2023/06/07/how-mobile-team-enablement-creates-efficiency-as-you-scale/>)

Author: Ben

Published: 2023-06-07T14:03:55Z

Content type: article

Language: en

Sources: [Novoda](<https://devfeed.tech/sources/novoda.md>)

Topics: [Mobile](<https://devfeed.tech/topics/mobile.md>), [Automation](<https://devfeed.tech/topics/automation.md>), [Development](<https://devfeed.tech/topics/development.md>), [Frameworks](<https://devfeed.tech/topics/frameworks.md>), [Tooling](<https://devfeed.tech/topics/tooling.md>)

Tags: [automation](<https://devfeed.tech/tags/automation.md>), [collaboration](<https://devfeed.tech/tags/collaboration.md>), [development](<https://devfeed.tech/tags/development.md>), [efficiency](<https://devfeed.tech/tags/efficiency.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [mobile-development](<https://devfeed.tech/tags/mobile-development.md>), [mobile-engineering](<https://devfeed.tech/tags/mobile-engineering.md>), [team](<https://devfeed.tech/tags/team.md>)

### AI overview

This article explains how mobile team enablement can help growing organizations improve the efficiency and working environment of their development teams. It discusses measuring how efficiently outcomes are produced, automating mobile operations, and using shared tooling and frameworks.

### Source excerpt

How does a fast-growing organisation create the most effective and efficient working environment for its mobile development team? Here are some of the most common ways we support our clients. The post How Mobile Team Enablement Creates Efficiency As You Scale appeared first on Novoda.

## ATOM (A Touch of Multiplatform) Episode #6 - Touchlab

DevFeed: [ATOM (A Touch of Multiplatform) Episode #6 - Touchlab](<https://devfeed.tech/articles/atom-a-touch-of-multiplatform-episode-6-touchlab-38164.md>)

Original publisher: [Read original article](<https://touchlab.co/atom-a-touch-of-multiplatform-episode-6>)

Published: 2023-05-10T14:57:01Z

Content type: article

Language: en

Sources: [Touchlab | Enterprise Mobile Innovation & Development](<https://devfeed.tech/sources/touchlab-enterprise-mobile-innovation-development.md>)

Topics: [Kotlin Multiplatform](<https://devfeed.tech/topics/kotlin-multiplatform.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [scaling](<https://devfeed.tech/topics/scaling.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [jetbrains](<https://devfeed.tech/topics/jetbrains.md>)

Tags: [atom](<https://devfeed.tech/tags/atom.md>), [jetbrains](<https://devfeed.tech/tags/jetbrains.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [mobile-development](<https://devfeed.tech/tags/mobile-development.md>), [multiplatform](<https://devfeed.tech/tags/multiplatform.md>), [podcast](<https://devfeed.tech/tags/podcast.md>), [scaling](<https://devfeed.tech/tags/scaling.md>), [thoughts](<https://devfeed.tech/tags/thoughts.md>)

### AI overview

Episode 6 of the A Touch of Multiplatform podcast discusses Josh Shin's path into mobile development and Volley's approach to adopting and scaling Kotlin Multiplatform, with particular attention to iOS.

### Source excerpt

Welcome to episode 6 of A Touch of Multiplatform (ATOM)! This is our podcast dedicated to Kotlin Multiplatform technology in production and produced for you by JetBrains and Touchlab. In this episode of A Touch of Multiplatform, we sat down to talk with Volley's Josh Shin (along with special guest Suzu the cat). Josh talks about his own path into mobile development and about how Volley has approached adopting and scaling Kotlin Multiplatform, especially from the iOS side of things.

## We're hiring an Android Developer

DevFeed: [We're hiring an Android Developer](<https://devfeed.tech/articles/we-re-hiring-an-android-developer-40812.md>)

Original publisher: [Read original article](<https://www.bloco.io/blog/were-hiring-an-android-developer>)

Author: Cláudia

Published: 2023-04-17T15:18:51Z

Content type: article

Language: en

Sources: [Blog - Bloco](<https://devfeed.tech/sources/blog-bloco.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [android-development](<https://devfeed.tech/topics/android-development.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [Development](<https://devfeed.tech/topics/development.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-development](<https://devfeed.tech/tags/android-development.md>), [developer](<https://devfeed.tech/tags/developer.md>), [development](<https://devfeed.tech/tags/development.md>), [hiring](<https://devfeed.tech/tags/hiring.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [mobile-development](<https://devfeed.tech/tags/mobile-development.md>), [team](<https://devfeed.tech/tags/team.md>)

### AI overview

Bloco is hiring an Android developer to build Android applications for clients and internal products, advise clients on Android best practices, help design apps, and contribute to technical writing and community activities. The role offers a four-day workweek and other listed benefits, is based at least half-time in the Coimbra office, and has a stated monthly salary range of EUR 1250-EUR 1750 adjusted for experience.

### Source excerpt

We're looking for a developer to build Android apps with us. Want to join us? Take a look at our offer.

## The Fundamentals of Android at Revolut

DevFeed: [The Fundamentals of Android at Revolut](<https://devfeed.tech/articles/the-fundamentals-of-android-at-revolut-26348.md>)

Original publisher: [Read original article](<https://medium.com/revolut/the-fundamentals-of-android-at-revolut-3537101a2c7c?source=rss----44c5ac415e14---4>)

Author: Revolut

Published: 2023-03-17T09:48:42Z

Content type: article

Language: en

Sources: [Revolut Engineering](<https://devfeed.tech/sources/revolut-engineering.md>)

Topics: [android-development](<https://devfeed.tech/topics/android-development.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [Gradle](<https://devfeed.tech/topics/gradle.md>), [CI/CD](<https://devfeed.tech/topics/cicd.md>), [Design system](<https://devfeed.tech/topics/design-system.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-app-development](<https://devfeed.tech/tags/android-app-development.md>), [android-development](<https://devfeed.tech/tags/android-development.md>), [ci-cd](<https://devfeed.tech/tags/ci-cd.md>), [design-system](<https://devfeed.tech/tags/design-system.md>), [fintech](<https://devfeed.tech/tags/fintech.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [mobile-development](<https://devfeed.tech/tags/mobile-development.md>), [platform-teams](<https://devfeed.tech/tags/platform-teams.md>), [product](<https://devfeed.tech/tags/product.md>), [programming](<https://devfeed.tech/tags/programming.md>)

### AI overview

The article describes how Revolut organizes and operates its Android development. It covers the Android engineering organization, Platform and Product streams, and the responsibilities of the Mobile Platform and Design System teams, including architecture, Gradle build performance, dependencies, CI/CD, releases, internal tools, libraries, analytics, testing, security, and reusable UI components.

### Source excerpt

People deserve more from their money. More visibility, more control, more freedom. Since 2015, Revolut has been on a mission to deliver just that. With an arsenal of awesome products that span spending, saving, travel, transfers, credits, crypto, investing, exchanging, and more, our mobile super app has helped 25+ million customers send, spend, save, and invest smarter. Let's take a look behind the scenes of the Android development at Revolut and learn how we deliver our iconic apps to millions of customers all over the world. Dream team Our Android team is one of the best in the industry -- and we're proud of it. It's one of our driving forces: over a hundred excellent Android engineers work on our key products, such as Revolut for personal customers, Revolut Lite, Revolut Business, and Revolut < 18 for teens. At Revolut, we believe that building diverse, lean teams of brilliant go-getters who break down barriers, is the key to winning. That's why we have around 70 strong teams that split their work across two main streams: Platform and Product. The Platform stream consists of Design System and Mobile Platform teams, while the Product stream includes various product teams, such as the Onboarding team, Payments team, Trading team, Crypto team, Credit team, and more. Each team is made up of Product Owners, Designers, iOS, Android, Backend, and Frontend engineers who work together to deliver exceptional results. To better understand our teams and how they contribute to our success, let's take a closer look at their roles and responsibilities. Mobile Platform Team 👨🔧 Our Mobile Platform team is involved in a broad range of areas, such as building infrastructure, managing releases, maintaining architecture, and owning internal tools and libraries. The team upgrades projects configuration, particularly improve performance of Gradle Builds, maintains architecture, manages dependencies and keeps architecture sustainable, modernises CI/CD pipeline, facilitates mobile releas

## Scaling Teams Mobile Development -- The Mental Model

DevFeed: [Scaling Teams Mobile Development -- The Mental Model](<https://devfeed.tech/articles/scaling-teams-mobile-development-the-mental-model-22784.md>)

Original publisher: [Read original article](<https://medium.com/microsoft-mobile-engineering/scaling-teams-mobile-development-the-mental-model-8224afb1e4ba?source=rss----87f10537e947---4>)

Author: Anand Nath

Published: 2023-03-03T02:22:43Z

Content type: article

Language: en

Sources: [Android@Microsoft - Medium](<https://devfeed.tech/sources/android-microsoft-medium.md>)

Topics: [Mobile](<https://devfeed.tech/topics/mobile.md>), [Development](<https://devfeed.tech/topics/development.md>), [App](<https://devfeed.tech/topics/app.md>), [Code](<https://devfeed.tech/topics/code.md>), [interfaces](<https://devfeed.tech/topics/interfaces.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [code](<https://devfeed.tech/tags/code.md>), [design-patterns](<https://devfeed.tech/tags/design-patterns.md>), [development](<https://devfeed.tech/tags/development.md>), [integration](<https://devfeed.tech/tags/integration.md>), [interfaces](<https://devfeed.tech/tags/interfaces.md>), [ios](<https://devfeed.tech/tags/ios.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [mobile-development](<https://devfeed.tech/tags/mobile-development.md>), [modularization](<https://devfeed.tech/tags/modularization.md>), [patterns](<https://devfeed.tech/tags/patterns.md>)

### AI overview

This article presents a mental model for scaling partner integrations in the Microsoft Teams mobile codebase. It describes the existing tight coupling between feature producers and consumer entry points, then proposes decoupling them through interfaces, a producer registry, and a manager that handles feature discovery and coordination.

### Source excerpt

Scaling Teams Mobile Development -- The Mental Model In the article Scaling Teams Mobile Development -- Evolving the design pattern we explored how multiple partner teams working on a large code base can be streamlined by employing the contributor design pattern. I decided to write this article as a prequel. In this article we will discuss the problem statement in a more generic way and draw some parallels with popular design patterns. Photo by Xavi Cabrera on Unsplash We started with the following mission statement in mind: Make partner integrations with Teams mobile easier, well segregated, with clear protocols. Teams is a complex mobile application with a LOT of integration points. Partner teams surface their features through these entry points. The following image highlight few entry points available in Teams. Few entry points in Teams mobile app When we looked at the partner integration story in Teams codebase, it became evident that the whole integration story is a Producer-Consumer design pattern which is not implemented correctly. Producer -- Consumer deep coupling Here is the mental model that we built: Entry points are consumers of features and partner teams are producers of features. In the existing method, each partner team directly integrated with the entry point. This meant each consumer had to know the producers directly and when a new producer was added, the consumer had to be updated. This resulted in tight coupling. This is not a scalable model. N x N relationship between Producers and Consumers For the system to scale we need to decouple the producers and the consumers and build strong contracts between them. We wanted to safeguard changes to the consumer. At the same time, we wanted to make the producers independent and able to churn out their features fast. We also wanted to centralize control on producers and its features for deciding their ordering, filtering, enablement etc. So, we evolved this design pattern, where we define multiple Feature in

## KMM: What's Under the hood?

DevFeed: [KMM: What's Under the hood?](<https://devfeed.tech/articles/kmm-what-s-under-the-hood-24754.md>)

Original publisher: [Read original article](<https://medium.com/ymedialabs-innovation/kmm-whats-under-the-hood-1a26cb50ca67?source=rss----8b5620c36355---4>)

Author: Codeangi

Published: 2023-02-22T15:58:32Z

Content type: tutorial

Language: en

Sources: [ymedialabs-innovation - Medium](<https://devfeed.tech/sources/ymedialabs-innovation-medium.md>)

Topics: [Kotlin Multiplatform](<https://devfeed.tech/topics/kotlin-multiplatform.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [multiplatform](<https://devfeed.tech/topics/multiplatform.md>), [kotlin-native](<https://devfeed.tech/topics/kotlin-native.md>), [LLVM](<https://devfeed.tech/topics/llvm.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [toolchain](<https://devfeed.tech/topics/toolchain.md>), [Development](<https://devfeed.tech/topics/development.md>)

Tags: [compilation](<https://devfeed.tech/tags/compilation.md>), [development](<https://devfeed.tech/tags/development.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [kmm](<https://devfeed.tech/tags/kmm.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-beginners](<https://devfeed.tech/tags/kotlin-beginners.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [kotlin-native](<https://devfeed.tech/tags/kotlin-native.md>), [llvm](<https://devfeed.tech/tags/llvm.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [mobile-development](<https://devfeed.tech/tags/mobile-development.md>), [multiplatform](<https://devfeed.tech/tags/multiplatform.md>), [toolchain](<https://devfeed.tech/tags/toolchain.md>)

### AI overview

This article explains Kotlin Multiplatform Mobile (KMM), focusing on how developers can share business logic, data, and connectivity implementation between Android and iOS. It also describes Kotlin/Native compilation through LLVM and Kotlin/JS compilation to JavaScript.

### Source excerpt

source There have been many tools for cross-platform development before but offered so little in terms of sharable code, there was always an overhead of writing and maintaining applications in a set-predetermined technology such as Phonegap, ReactNative, and Flutter. Kotlin provides a huge leeway in writing sharable code, especially when you are developing Mobile applications for Android and iOS with similar features. In the real world, it translates into fewer lines of code, fewer bugs, less time, and of course lesser cost of development. Whether you are starting a new project or adding a new feature to an existing one. This article is an effort to interpret KMM in layman's terms, knowing programming helps but is not mandatory.Topics Include: What is KMM, How it works, the Good, and the Bad.source Kotlin is a cutting-edge yet established programming language that offers a range of benefits for developers. One of the key use cases for Kotlin is its ability to share code between mobile platforms through Kotlin Multiplatform Mobile (KMM). By using KMM, developers can create cross-platform mobile apps and share crucial elements like business logic, data, and connectivity implementation between Android and iOS. Kotlin-Native In order to use Kotlin code in iOS, the Kotlin code is first compiled to LLVM bytecode using the Kotlin/Native compiler. LLVM (Low Level Virtual Machine) is a collection of modular and reusable compiler and toolchain technologies. The LLVM bytecode is then compiled using the iOS toolchain and linked with the iOS runtime libraries. The resulting binary is an iOS application bundle (an .app directory) that contains the Kotlin code and the Swift runtime. When the app is run, the Swift runtime loads the Kotlin code and uses it as if it were native Swift code. Kotlin/JS Kotlin/JS provides the ability to trans-compile Kotlin code, the Kotlin standard library, and any compatible dependencies to JavaScript. The current implementation of Kotlin/JS targets ES

## How to Build iOS Apps with Java

DevFeed: [How to Build iOS Apps with Java](<https://devfeed.tech/articles/how-to-build-ios-apps-with-java-19322.md>)

Original publisher: [Read original article](<https://www.codenameone.com/blog/how-to-build-ios-apps-with-java/>)

Author: Codename One

Published: 2022-06-24T00:00:00Z

Content type: tutorial

Language: en

Sources: [CodeName One](<https://devfeed.tech/sources/codename-one.md>)

Topics: [iOS](<https://devfeed.tech/topics/ios.md>), [Java](<https://devfeed.tech/topics/java.md>), [cross-platform](<https://devfeed.tech/topics/cross-platform.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [Swift](<https://devfeed.tech/topics/swift.md>), [Objective-C](<https://devfeed.tech/topics/objective-c.md>), [Xcode](<https://devfeed.tech/topics/xcode.md>)

Tags: [app-development](<https://devfeed.tech/tags/app-development.md>), [cross-platform](<https://devfeed.tech/tags/cross-platform.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [ios](<https://devfeed.tech/tags/ios.md>), [java](<https://devfeed.tech/tags/java.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [mobile-development](<https://devfeed.tech/tags/mobile-development.md>), [xcode](<https://devfeed.tech/tags/xcode.md>)

### AI overview

A comprehensive guide to building and publishing iOS apps with Java or Kotlin. It explains native iOS development with Swift or Objective-C, cross-platform frameworks, prerequisites, development processes, and the roles of Mac and Xcode.

### Source excerpt

Learn how to build and publish iOS apps with Java or Kotlin without a Mac or Xcode in this comprehensive guide.

[Next page](<https://devfeed.tech/tags/mobile-development.md?cursor=WyIyMDIyLTA2LTI0VDAwOjAwOjAwKzAwOjAwIiwgIjE0ODdlZTBjLTY1ODQtNGY5NC04ZTVmLTgwZjAzOWQ2OWU1ZiJd>)