

The developer tools lessen the weight of supporting multiple devices. The developer tools should help developers support multiple devices In short, the developer will not be forced to support devices they don’t want to.

Not every device will be aimed at the markets the developer wants to target nor will every device provide the experience the developer wants to provide. The developer chooses what devices to supportĬonnect IQ apps can run across multiple devices, but the intended devices are up to the developer. There is a rhyme and reason behind Monkey C to make it easier for developers to support the Garmin ecosystem of products: 1. If a device does not have a magnetometer, it will not provide that API. If two devices each have a magnetometer, the API should be the same between them. If a device has a magnetometer, the device should have available the Magnetometer API. Rather than attempting to abstract away differences in devices, Connect IQ APIs are tailored to the devices on which they run. While the Java philosophy of “write once run anywhere” is a notable goal, creating a universal API that crosses every Garmin device would inevitably lead to a lowest common denominator API.

Unlike cell phones, Garmin devices are all wildly different from each other: round screens versus square screens, touch displays versus buttons and a different array of sensors depending on device purpose. On the other hand, if only established APIs are used, apps may not take advantage of new capabilities. If a developer takes advantage of new APIs, newer devices with less customer penetration may be targeted. The issue of API Fragmentation is a challenge for app developers.

If you’ve worked with dynamic languages in the past like Java, PHP, Ruby, or Python, Monkey C should be very familiar. In addition, the resource compiler helps you import fonts and images to easily convert them between devices. It uses reference counting to automatically clean up memory, freeing you from focusing on memory management. The goal of Monkey C is to round the sharp edges of making a wearable app, letting developers focus more on the customer and less on Resource constraints. Monkey C is an object-oriented language, designed for easy app development on wearable devices. The language Garmin created from the ground up that is behind the Connect IQ Platform is called Monkey C. Using the Connect IQ SDK, developers can create apps for Connect IQ devices and distribute them via the Connect IQ Store.
