# Djinni - cross platform app framework from Dropbox

**URL:** <https://forum.juce.com/t/djinni-cross-platform-app-framework-from-dropbox/13937>\
**Category:** Useful Tools and Components\
**Created:** [November 24, 2014, 10:39pm UTC](https://forum.juce.com/t/djinni-cross-platform-app-framework-from-dropbox/13937 "2014-11-24T22:39:47Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![adamwilson](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/adamwilson/32/1387_2.png) [@adamwilson](https://forum.juce.com/u/adamwilson)\
**Post date:** [November 24, 2014, 10:39pm UTC](https://forum.juce.com/t/djinni-cross-platform-app-framework-from-dropbox/13937/1 "2014-11-24T22:39:47Z")

</div>

https://github.com/dropbox/djinni

Looks really interesting - using C++ for the main "business logic" and linking into Java or Objective-C for UI stuff, thereby keeping the main codebase cross-platform and keeping a thin UI layer for the different platforms.

I guess this is good for projects where native UI is important. They seem to link into their own "record" data structure, translating equivalent types across languages.&nbsp;

Really interesting part for me is that you can seamlessly call Java / Objective-C from C++ as well the other way around (I've been having a tough time integrating an Objective-C library into my C++ code...)

I wonder if any of this could feed into JUCE somehow, to allow easier integration of external platform-specific libraries or to make calls to the native UI, translating JUCE types e.g. String and Array into their Java&nbsp;or&nbsp;Objective-C equivalents.

&nbsp;
