Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jesperancinha/whiskers-kotlin-native
This is a set of command line elements that we can run and install in our system created in Kotlin and Generated using the Kotlin Native compiler
https://github.com/jesperancinha/whiskers-kotlin-native
assembly c gcc gcc-compiler graal-native graalvm graalvm-native-image gradle kotlin kotlin-native sql sql-delight
Last synced: 2 months ago
JSON representation
This is a set of command line elements that we can run and install in our system created in Kotlin and Generated using the Kotlin Native compiler
- Host: GitHub
- URL: https://github.com/jesperancinha/whiskers-kotlin-native
- Owner: jesperancinha
- License: apache-2.0
- Created: 2022-09-27T14:17:12.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-10-29T09:17:04.000Z (3 months ago)
- Last Synced: 2024-10-29T11:07:04.170Z (3 months ago)
- Topics: assembly, c, gcc, gcc-compiler, graal-native, graalvm, graalvm-native-image, gradle, kotlin, kotlin-native, sql, sql-delight
- Language: Kotlin
- Homepage:
- Size: 2.68 MB
- Stars: 9
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: Readme.md
- License: LICENSE
Awesome Lists containing this project
README
# whiskers-kotlin-native-command-line
---
[![Generic badge](https://img.shields.io/static/v1.svg?label=GitHub&message=Whiskers%20Kotlin%20Native%20🐈&color=informational)](https://github.com/jesperancinha/whiskers-kotlin-native-command-line)
[![GitHub License](https://img.shields.io/badge/license-Apache%20License%202.0-blue.svg?style=flat)](https://www.apache.org/licenses/LICENSE-2.0)
[![Build, Test, Coverage and Report](https://github.com/jesperancinha/whiskers-kotlin-native/actions/workflows/whiskers.yml/badge.svg)](https://github.com/jesperancinha/whiskers-kotlin-native/actions/workflows/whiskers.yml)
[![Codacy Badge](https://app.codacy.com/project/badge/Grade/2902fbf1084a47e28746af3102c98060)](https://www.codacy.com/gh/jesperancinha/whiskers-kotlin-native/dashboard?utm_source=github.com&utm_medium=referral&utm_content=jesperancinha/whiskers-kotlin-native&utm_campaign=Badge_Grade)
[![GitHub language count](https://img.shields.io/github/languages/count/jesperancinha/good-story.svg)](#)
[![GitHub top language](https://img.shields.io/github/languages/top/jesperancinha/good-story.svg)](#)
[![GitHub top language](https://img.shields.io/github/languages/code-size/jesperancinha/good-story.svg)](#)---
## Introduction
This project is an in-depth investigation about all things Native and JVM with focus on `Kotlin Native`.
Stable releases
---
As a datasource, I have continued my novel, [Good-Story](https://github.com/jesperancinha/good-story/blob/main/docs/good.story/GoodStory.md), which links several projects focused on backend developments.If you are interested, please check [Chapter II - The cat that helped Lucy](./docs/good.story/good.story.chapter.2.md) for the complete data source and context.
[![](https://img.shields.io/badge/Kotlin%20Native%20and%20GraalVM%20-%20The%20Story%20So%20Far-12100E?style=for-the-badge&logo=medium&logoColor=white)](https://itnext.io/kotlin-native-and-graalvm-the-story-so-far-e10d7e9cfc91)
#### Stable releases
- [1.0.0](https://github.com/jesperancinha/whiskers-kotlin-native/tree/1.0.0) - [6cbd9b0701259dc0145b6f6714295cbed66cbbb1](https://github.com/jesperancinha/whiskers-kotlin-native/tree/6cbd9b0701259dc0145b6f6714295cbed66cbbb1)
- [1.0.1](https://github.com/jesperancinha/whiskers-kotlin-native/tree/1.0.1) - [2a79e23a821942ed6a0d2360117c5ab9947b6ecc](https://github.com/jesperancinha/whiskers-kotlin-native/tree/2a79e23a821942ed6a0d2360117c5ab9947b6ecc) - Last version without TOML
- [2.0.0](https://github.com/jesperancinha/whiskers-kotlin-native/tree/2.0.0) - [1c6ffe4100fe0063813960a54e8476083d96f453](https://github.com/jesperancinha/whiskers-kotlin-native/tree/1c6ffe4100fe0063813960a54e8476083d96f453) - First TOML version---
---
## How to run
#### 1. Install all binaries (Optional)
1. Linux
```bash
make install-kotlin-native-linux
```2. MAC-OS
3. WINDOWS#### 2. Compile all c libraries
```bash
. ./init.sh
```#### 3. Build all
```shell
make b
```#### 4. Performe measure tests
```shell
make measure-all-sts
```---
## Project Structure
- [good-feel](good-feel) - A simple Kotlin Native project without the use of C bindings
- [plus](plus) - A Kotlin Native project exploring other functions provided by Kotlin Native
- [whiskers-cloudnative](./whiskers-cloudnative) - Spring Native way of creating a docker container as a full implementation of the Onion Model used in Microservices
- [whiskers-graalvm](./whiskers-graalvm) - Spring Native way of creating a GraalVM self-contained executable command as a full implementation of the Onion Model used in Microservices
- [whiskers-ktor-no-db](whiskers-ktor-no-db) - Ktor Service implemented with hard-coded configuration
- [whiskers-ktor](whiskers-ktor) - Ktor Service containing a full implementation of the Onion Model used in Microservices---
## Project layout
1. [Good Feel](good-feel) - A project to make you feel good. If you run into a situation where things get tough, then run this command to make you feel good. This project is the first test-drive about native use in this whole project
2. [Plus](plus) - Plus just means a step forward. This module is fully dedicated to the use of external libraries.---
## References
Videos
---
- [Ktor From the Ground Up](https://www.youtube.com/watch?v=WlvK6zYo8Sw)
- [Applied Event Streaming With Apache Kafka, Kotlin, and Ktor](https://www.youtube.com/watch?v=6qxkawU0qKA")
---Websites
---
- [Why GraalVM](https://www.graalvm.org/why-graalvm/)
- [Simplifying the cloud native journey with GraalVM and Helidon by Alina Yurenko](https://blogs.oracle.com/java/post/simplifying-the-cloud-native-journey-with-graalvm-and-helidon)
- [AOT compilation](https://en.wikipedia.org/wiki/Ahead-of-time_compilation)
- [Native AOT Deployment](https://learn.microsoft.com/en-us/dotnet/core/deploying/native-aot/)
- [Angular AOT compilation](https://angular.io/guide/aot-compiler)
- [JIT compilation](https://en.wikipedia.org/wiki/Just-in-time_compilation)
- [Kotlin(-Native) as a Go alternative in 2021](https://discuss.kotlinlang.org/t/kotlin-native-as-a-go-alternative-in-2021/23665)
- [ps output – Difference between VSZ vs RSS memory usage](https://linuxconfig.org/ps-output-difference-between-vsz-vs-rss-memory-usage)
- [Ktor demo](https://github.com/antonarhipov/ktor-demo)
- [Ktor mini demo](https://github.com/antonarhipov/ktor-mini-demo)
- [Ktor simple demo](https://github.com/antonarhipov/ktor-simple-demo)
- [Ktor Examples](https://github.com/ktorio/ktor-samples)
- [Koin — Kotlin Native Dependency Injection Library](https://medium.com/android-dev-hacks/koin-kotlin-native-dependency-injection-library-f1daddc1ef99)
- [Realm Kotlin Multiplatform SDK](https://blog.jetbrains.com/kotlin/2021/04/realm-kotlin-multiplatform-sdk/)
- [Ktorm @ GitHub](https://github.com/kotlin-orm/ktorm)
- [Ktorm](https://www.ktorm.org/)
- [Getting started with a Ktor Server](https://ktor.io/docs/intellij-idea.html)
- [Getting started with a Ktor Client](https://ktor.io/docs/getting-started-ktor-client.html)
- [Kotlin Native Support #571](https://github.com/ktorio/ktor/issues/571)
- [can we use Spring with Kotlin/Native? @ Reddit](https://www.reddit.com/r/Kotlin/comments/fkn5ko/can_we_use_spring_with_kotlinnative/)
- [GS Rest Service @ GitHub](https://github.com/spring-guides/gs-rest-service)
- [Spring Native Overview](https://docs.spring.io/spring-native/docs/current/reference/htmlsingle/#overview)
- [Build Java Modules into a Native Executable](https://www.graalvm.org/22.2/reference-manual/native-image/guides/build-java-modules-into-native-executable/)
- [Picocli GraalVM info](https://picocli.info/#_graalvm_native_image)
- [Support external JAR libraries? #1212](https://github.com/JetBrains/kotlin-native/issues/1212)
- [How to Convert Runnable .jar File to Native Code?](https://stackoverflow.com/questions/52738484/how-to-convert-runnable-jar-file-to-native-code)
- [Incubator @ KongHQ](https://incubator.konghq.com/)
- [Get started with Kotlin/Native in IntelliJ IDEA](https://kotlinlang.org/docs/native-get-started.html#0)---
## Thanks
- Special thanks to [hfhbd @ GitHub](https://github.com/hfhbd/postgres-native-sqldelight), for giving me the necessary pointers to go PostgreSQL native
## About me
[![GitHub followers](https://img.shields.io/github/followers/jesperancinha.svg?label=Jesperancinha&style=for-the-badge&logo=github&color=grey "GitHub")](https://github.com/jesperancinha)