{"repo":"divyanshupundir/mavlink-kotlin","free":true,"listed":false,"github":"https://github.com/divyanshupundir/mavlink-kotlin","clone":"git clone https://github.com/divyanshupundir/mavlink-kotlin.git","description":"A modern MAVLink library for Kotlin Multiplatform.","language":"Kotlin","stars":80,"topics":["codegen","gradle-plugin","kotlin","kotlin-coroutines","kotlin-multiplatform","library","mavlink","rxjava"],"license":"Apache-2.0","category":"dev-tools","readme_excerpt":"mavlink-kotlin A modern MAVLink library for Kotlin Multiplatform. Overview mavlink-kotlin was created out of the need for a type-safe, high-performance and flexible MAVLink library for targeting multiple platforms. We had realized several problems with existing JVM MAVLink implementations. These include: - Performance problems at very high message rates - Hassle to generate and maintain MAVLink message objects from custom XML definitions - Difficulties in understanding and fixing reflection-based code - Difficulties in extending existing code-base due to lack of modularity - No support for multiplatform projects Through mavlink-kotlin we want to address the problems that we had faced while adopting and understanding MAVLink libraries not only for the JVM but also C/C++, Golang, Rust and Python. This library takes inspiration from several great features of these libraries. We want to make the adoption of this library as easy as possible by being flexible in terms of creating a modular and easy-to-extend API that allows the users to use the same base MAVLink and connection classes to create adapters of their own to fit whatever pub-sub library they want to use. Apart from this, the MAVLink generator plugin is designed to fit well with stand-alone Kotlin Multiplatform projects while keeping the setup quick and hassle-free. Key Design Considerations Code generation instead of reflection Reflection-based code is prone to errors, difficult to understand and difficult for compilers ","default_branch":null,"files":null,"tree":[],"storefront":"/r/divyanshupundir","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/divyanshupundir/mavlink-kotlin/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}