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.
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.
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/blob/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,
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.
Don't worry about formatting, just type in the text and we'll take care of making sense of it. We will auto-convert links, and if you put asterisks around words we will make them bold.
For a full reference visit the Markdown syntax.
© Espruino, powered by microcosm.
Report a problem