npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

pebble-cpp

v0.3.1

Published

Develop Pebble Applications using C++

Downloads

7

Readme

Pebble Foundation Classes (C++ for Pebble)

This Pebble Package gives you the ability to code Pebble watchapps using C++. It wraps the Pebble API in an low-overhead header-only object-oriented library.

Why would you do this?!?

"The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore, all progress depends on the unreasonable man." - George Bernard Shaw

I mostly work in high-level languages like C#, Java, Python, and C++ and I started to struggle with organizing my Pebble watchapp code in C. As my projects grew larger, it became harder to juggle all the structs, callback contexts, and especially global variables.

So in the fall of 2014 I started a project to bring C++ to Pebble development. There were many false starts and difficult problems. I eventually got to where all the big problems were resolved and I just needed to build out the library. But after Pebble closed it's doors I stopped working on it.

When the first Rebble Hackathon was announced, it seemed like the time to try and finish this project or at least release what I have to the world.

Features and Benfeits

  • PFC classes automatically manage the context pointer in Pebble OS callbacks.
  • All PFC methods are inline with low-to-zero overhead.
  • Ability to use STL classes like std::string, std::vector, and std::unique_ptr for more high-level development.
  • Organize your Windows and Layers into their own classes.
  • Use RAII to automatically free resources when they are no longer needed.
  • Fully compatible with the Pebble C API -- you can call C functions with PFC class instances as parameters and use Pebble C types with C++ classes and methods.

Getting Started

To get started, please check out the following pages:

They provide detailed information about configuring the project to build C++ files and how to structure your code.

Documentaton

View the complete documentation by clicking the link below:

Example and Tutorial Programs

You can view and download various sample projects from the site below:

Getting Help

You can get help with this SDK using the Issues tab in this project or by using the Rebble Alliance Discord.

Also please check out the Known Issues page.

Contributing

This project is currently under an active development. Code quality and stability is the primary focus, so any bug fixing requests and/or fixing changes will appreciated. If you want to help this project:

  • Any help in testing the SDK are very appreciated. You can leave information about found defects on the Issues tab;
  • Anyone who would like to provide a fix for any found defect are welcome. Please, create pull requests for fixing changes;
  • You are welcome to create pull requests for new features and new Pebble API wrappers;
  • Additional Sample Applications that demonstrate features of the SDK are appreciated.

How to inform about found defects

  • First of all, please check project Issues on GitHub and Known Issues in CHANGELOG. The issue you found might be already recorded.
  • Check that the issue is reproducible and describe it.
  • Ideally, create a small test program that exposes the problem.