• This is semi related to this question but slightly more basic.

    How does Bangle.js compare to other smart watches using espruino. This is a repo that has many different unofficial boards running smart watch environments. But how do they differ from Bangle.js.

    It looks like its mostly made in javascript without having this optimized C base code that Bangle.js has?

  • Not sure I understand the question but main difference is that Bangle is a product supported by full time job which is hopefully paid well enough from sales of the watch or other related activities. So you get what you pay for.

    As for the "optimized' part I would call it polished, stable and more fail proof, not sure if having a bit more parts in JS affects speed that much. Even for Bangle a lot of 'system' code is in js.
    https://github.com/espruino/Espruino/tre­e/master/libs/js/banglejs
    https://github.com/espruino/BangleApps/t­ree/master/apps/boot
    and other system apps

  • Apart from the Bangle being more supported and stable...

    The main one as far as I'm aware is that Bangle.js has a documented API in the form of Bangle.* methods running from jswrap_bangle.c. https://github.com/jeffmer/WatchApps doesn't have that, and implements some of it, in JS, for example: https://github.com/jeffmer/WatchApps/blo­b/master/apps/main-gw32/main-gw32.js#L4

    If you're writing all your own apps from scratch you might not care, but it does mean that a great deal of existing Bangle.js apps that depended on that API existing and working in a certain way won't run.

    I had suggested in the past that it wouldn't be that hard to build in jswrap_bangle.c for a lot of these devices so that they would be a bit more compatible, but I don't think there's been that much interest in doing that really as I think the watch ports were more done for fun than for use as reliable every-day watches.

  • implements some of it,

    Well the idea is to implement as much as possible and then maybe provide stubs for parts than are not relevant - like missing hardware (compass, gps) or missing implementation (HR sensor)

    I think the implementation completeness was simply driven by apps that people wanted to run on their watch. so @user156811 you can definitely improve it and add parts that are missing for apps you want to use or try to make jswrap_yourwatch.c in C or even try to hack your changes into real jswrap_bangle.c which IMO is hard to do and also hard to maintain over time.

  • Post a reply
    • Bold
    • Italics
    • Link
    • Image
    • List
    • Quote
    • code
    • Preview
About

What makes Bangle.js different then other smart watches using Espruino

Posted by Avatar for user156811 @user156811

Actions