# Samples This directory contains a set of samples demonstrating how one can work with Kotlin/Native. The samples can be built using Gradle build tool. See `README.md` in sample directories to learn more about specific samples and the building process. * `androidNativeActivity` - Android Native Activity rendering 3D graphics using OpenGLES * `calculator` - iOS Swift application, using Kotlin/Native code compiled into the framework * `cocoapods` - A Kotlin/Native application using the `AFNetworking` library from CocoaPods. * `csvparser` - simple CSV file parser and analyzer * `echoServer` - TCP/IP echo server * `gitchurn` - program interoperating with `libgit2` for GIT repository analysis * `gtk` - GTK3 interoperability example * `html5Canvas` - WebAssembly example * `libcurl` - using of FTP/HTTP/HTTPS client library `libcurl` * `nonBlockingEchoServer` - multi-client TCP/IP echo server using co-routines * `objc` - AppKit Objective-C interoperability example for macOS * `opengl` - OpenGL/GLUT teapot example * `python_extension` - Python extension written in Kotlin/Native * `tensorflow` - simple client for TensorFlow Machine Intelligence library * `tetris` - Tetris game implementation (using SDL2 for rendering) * `uikit` - UIKit Objective-C interoperability example for iOS * `videoplayer` - SDL and FFMPEG-based video and audio player * `win32` - trivial Win32 GUI application * `workers` - example of using workers API **Note**: If the samples are built from a source tree (not from a distribution archive) the compiler built from the sources is used. So you must build the compiler and the necessary platform libraries by running `./gradlew bundle` from the Kotlin/Native root directory before building samples (see [README.md](https://github.com/JetBrains/kotlin-native/blob/master/README.md) for details). Alternatively you may remove a line `kotlin.native.home=<...>` from all `gradle.properties` files. In this case the Gradle plugin downloads and uses a default compiler for this plugin version. One may also build all the samples with one command. To build them using Gradle run: ./gradlew buildAllSamples