Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ASM Logo

Application System Modules is a public, open-source collection of modular, cross-platform libraries for developing native applications. Each library offers a lightweight and portable API for working with operating system services, kernel functions, and hardware features. Instead of offering a large, unified framework, ASM is designed as a set of targeted libraries that can be used alone or together to create full native applications.

ASM is written in Odin, and uses a modular architecture where each subsystem is built as a separate library with a clear purpose. Developers should be able to depend solely on the libraries they need, whether an application only needs window management, audio playback, networking, or a full platform abstraction layer, without adding additional dependencies or runtime overhead.

The goal of the project is to establish a long-term foundation for native software development. Its scope extends beyond window management and input handling to the larger ecosystem of operating system services such as graphics integration, audio, threading, synchronization primitives, file systems, networking, dialogs, notifications, accessibility, security, sensors, and other platform facilities. Each library is designed for performance, maintainability and API consistency. ASM can be used for anything from small utilities to large desktop software and game engines.

Interoperability

Interoperability is a fundamental design principle. Although ASM is fully implemented in Odin, every public library is intended to expose a stable C ABI, allowing it to be used from any programming language. Official language bindings can then provide idiomatic APIs for their respective ecosystems while relying on the same underlying implementation.

Resources

Contributing

ASM is a community-driven project, and contributions of all sizes are welcome. Whether you are fixing a bug, contributing to the documentation, adding support for a new platform, optimizing existing code, working on language bindings, or suggesting completely new modules, you are making the ecosystem better for everyone.

Contributors are encouraged to open a discussion before starting work on larger features or changes to the architecture. Early design discussions are useful to make sure that new APIs are consistent with the rest of the project, do not duplicate existing modules unnecessarily and are in line with the long-term goals of ASM. ASM is aimed at providing stable libraries that applications can rely on for years. Therefore, careful API design and maintainability are as important as implementation.

About

Application System Modules is a collection of cross-platform libraries that expose an API for interacting with operating system and hardware services.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

Contributors

Languages