What is KFoundation?
KFoundation is a library of essentials for modern programming needs. It is designed based on the concept of universality, both in technological and geographical senses. It is available on most platforms; it has a very small footprint with no dependency on third-party libraries, and it is highly optimized for CPU and memory usage so that it works smoothly on small devices. It natively supports UTF-8 (as opposed to the host platform's string format), and comes with a rich internationalization toolset.

KFoundation has two main strands: POSIX Edition, which is made to replace C++ standard libraries, and JVM/JS edition, which brings KFoundation features to Scala, Java, and JavaScript.
JVM/JS Edition
Here is a complete list of existing and planned features of JVM/JS Edition.
- Universal UI — Create portable user interfaces that can be rendered on server-side, client-side, or even natively on a mobile or PC app.
- Universal UI Content DSL for Scala Declerative language to create portable and dynamic GUIs or static graphical contents.
- Universal Serialization — Serialize and deserialize objects to and from virtually any format. Support for JSON, XML, YAML, and K4 provided out of the box, with more can be added via third-party extensions.
- Universal Serialization for Database — Any object compatible with serialization package can be read and written to and from a database as well. This package offers utilities to take advantage of the metadata defined for serialization to construct queries that interact with native objects.
- Universal Culture — Simplest yet most versatile way to internationalize your solution. Customize date and currency format, or use defaults for each locale; define dictionaries in any file format that is compatible with serialization package, or define them directly in the code; parametrized dictionary records, and post-thrown-translated exceptions.
- UString, URL, WebClient and More — Save memory by storing strings in UTF-8, while saving CPU by avoiding uncessary encoding and decoding done by native
String
. Parse and manipulate URLs, and even assign query parameters to and from model objects. Interact easily with any RESTful server, and never worry about parsing or producing JSON, XML, etc. again.




POSIX Edition
The POSIX Edition is more extensive. It is written in C/C++, and made to replace the C++ standard libraries with one that makes devevelopment faster and easier. It has a high-performance reference type to replace pointers, and offers first-class support for UTF-8, plus net I/O, universal serialization, exceptions with stack trace, and more. KFoundation is the platform for development of most of KnoRBA ARE and KnoRBA OS.