I am excited to announce the v1.0 release of Nebble, a comprehensive, type-safe Nim wrapper for the Pebble SDK. Nebble transforms the Pebble development experience by bringing modern language features, strong safety guarantees, and a unified full-stack workflow to the platform.
Why develop with Nebble?
- Strong Compile-Time Safety: Nim’s type system catches logic errors, invalid enum values, and handle-type mismatches at compile time, ensuring your app is robust before it ever reaches the watch.
- Automatic Memory Management: Nebble’s Managed Handles leverage Nim’s ARC (Automatic Reference Counting) to handle object lifecycles and SDK memory handoffs automatically.
- Declarative UI DSL: Build responsive UIs with the powerful nebbleApp macro. Define your app’s structure, text layers, and click configurations in a clean, declarative block that eliminates repetitive boilerplate.
- Unified Full-Stack Nim: Nebble is a complete full-stack framework. Write your watch firmware (compiled to C) and your phone-side logic (compiled to JS) in 100% type-safe Nim, sharing constants and enums across the entire stack.
- Modern, Expressive Syntax: Enjoy property-style accessors, clean block syntax, and powerful language features that make Pebble development feel like a modern engineering experience.
- Zero Runtime Overhead: Nebble compiles directly to efficient, optimized C code. You get high-level abstractions with the same performance and binary footprint as native C.
- Complete Platform Coverage: Full FFI bindings and high-level wrappers for all 6 Pebble platforms—from the original Aplite to the Pebble Time 2.
Modern Tooling
The dedicated nebble CLI provides everything you need to scaffold, build, and deploy. It manages the multi-platform build pipeline and generates package.json metadata automatically, so you can focus on writing code.
You can find Nebble on Github.
