<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/doppl-a0spiw1lt" -->

---
title: Doppl | daily.dev
description: Doppl is a framework built on top of Google's j2objc tool that enables sharing business logic between native Android and iOS apps without sacrificing native...
canonical: https://daily.dev/posts/doppl-a0spiw1lt
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Doppl | daily.dev
og:description: Doppl is a framework built on top of Google's j2objc tool that enables sharing business logic between native Android and iOS apps without sacrificing native...
og:url: https://daily.dev/posts/doppl-a0spiw1lt
og:image: https://api.daily.dev/og/posts/A0spiW1LT.png
og:image:alt: Doppl
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Doppl

**[Touchlab](https://daily.dev/sources/touchlab)** · 11 min read · 0 upvotes · 0 comments

## Summary

Doppl is a framework built on top of Google's j2objc tool that enables sharing business logic between native Android and iOS apps without sacrificing native UI. The approach lets developers write logic once in Java (using Android Studio and familiar Android libraries like RxJava, Retrofit, Dagger, and GreenDao), then transpile it to Objective-C for use in Xcode-based iOS apps. The goal is zero 'pioneer tax' — no third-party environment to learn, no inferior tooling — while keeping both UIs fully native. Key challenges include iOS memory management (reference counting vs. garbage collection) and library compatibility. The framework is in early preview with a sample Droidcon NYC app available on GitHub.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://touchlab.co/2016-11-doppl>

## Similar posts on daily.dev

- [We Called Our App Multiplatform. 848 Lines Actually Were.](https://daily.dev/posts/we-called-our-app-multiplatform-848-lines-actually-were--cbcbbrspe) · Medium · 0 upvotes · 0 comments
- [Application Development](https://daily.dev/posts/application-development-xwjt2ifsp) · Hacker News · 1 upvotes · 0 comments
- [A Candid Look at My Real-World Journey into Dual-Platform Development](https://daily.dev/posts/a-candid-look-at-my-real-world-journey-into-dual-platform-development-ljsuumnjq) · Fatbobman · 0 upvotes · 0 comments
- [When Android Phones “Force-Compat” with AirDrop -- Fatbobman's Swift Weekly \#113](https://daily.dev/posts/when-android-phones-force-compat-with-airdrop----fatbobman-s-swift-weekly-113-tpdpmrweu) · Fatbobman · 0 upvotes · 0 comments

---

Tags: [#java](https://daily.dev/tags/java), [#android](https://daily.dev/tags/android), [#ios](https://daily.dev/tags/ios)

[View this post on daily.dev](https://daily.dev/posts/doppl-a0spiw1lt)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Doppl","url":"https://daily.dev/posts/doppl-a0spiw1lt","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/doppl-a0spiw1lt"},"datePublished":"2026-08-02T07:15:07.329Z","dateModified":"2026-08-02T07:33:06.994Z","description":"Doppl is a framework built on top of Google's j2objc tool that enables sharing business logic between native Android and iOS apps without sacrificing native...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/f2464a83782b4388723271c7f47601ac?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/f2464a83782b4388723271c7f47601ac?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Touchlab","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Touchlab","logo":"https://media.daily.dev/image/upload/s--CQ0u6GwB--/f_auto,q_auto/v1785654902/logos/touchlab?_a=BAMAMicg0","url":"https://daily.dev/sources/touchlab"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/doppl-a0spiw1lt","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"java,android,ios","timeRequired":"PT11M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Touchlab","item":"https://daily.dev/sources/touchlab"},{"@type":"ListItem","position":3,"name":"Doppl"}]}
```

