Introduction to slyft


Welcome to slyft! This is the best place to get started. Read about what slyft and the slyft service is and why we designed it in the first place. Discover how it helps you bring REST APIs to your IoT devices, progressing from specification to implementation in simple steps.

Communication in the Internet of Things


IoT is going to be a communicative place. Myriads of devices - already talking to their cloud backend services - will start talking to each other as well. The development team at slyft believe that the future of IoT will feature standardized protocols such as MQTT or CoAP, and standardized data formats such as JSON or XML, alongside their binary counterparts such as MessagePack or EXI.

We found that implementing this is hard work, and that's why we built Slyft: to make it simpler and easier. 

What is slyft?


Slyft is a tool that simplifies and accelerates the implementation of service layers at the application level for IoT devices - thereby supporting the professional development of embedded software. So it's about communication between constrained, embedded devices.

First and foremost, the slyft team strives to foster the implementation of RESTful APIs on constrained devices, aiming to bring the knowledge and toolset of web developers to the world of IoT.

Devices can range from simple Micro Controller Units (MCUs) with 8, 16 or 32-bit architectures such as Arduino, Particle Photon or ESP8266 to Single-Board Computers (SBC) such as the RaspberryPi or comparable.

How does it work?


Unlike the world of web development, where tons of libraries and frameworks cover all aspects of dealing with procotols and data parsing, the embedded world is primarily based on very device-specific implementations.
 

Within this context, slyft is fundamentally a code generator. Leveraging the use of Schema and API design languages, slyft generates source code for these systems at the touch of a button. It works on the basis of generic specifications, regardless of the language, target platform, protocol or data format. Source code can be instantly integrated into your development project. 

Slyft significantly reduces the extensive development work normally required for the implementation of the service layer and makes the creation of device API easy for both embedded and web developers.

Current Status


slyft is currently available as a demo version. Our goal is to collect your feedback and experiences about slyft and its range of applications. Your comments and questions are therefore welcome and invaluable.  

It is available as a free of charge web-based service or as an on-premise server version.

Slyft core features


Slyft supports generic modeling of RESTful APIs, based on the RESTful API Modeling language and JSON Schema. This allows for a model-based approach to embedded software development as well as simplifying the documentation of interfaces.

Slyft supports the generation of code for multiple languages. The actual version focuses on C99 as the language currently applicable to the largest number of embedded devices. The implementation of further languages such as C++, Python, Ruby, Go and JavaScript is in development.

slyft generates code suitable for multiple target platforms. The current version supports the Arduino Development platform, which is compatible with a number of boards from Atmel and Espressif. Support for other professional platforms and boards is on our roadmap.

The current slyftlet versions generate API code suitable for use with CoAP as a RESTful protocol for constrained devices and MessagePack as an efficient yet easy to implement binary data format. Support for additional protocols and formats such as MQTT, RadioHead Serial, CBOR, cJSON and EXI are on our roadmap.

Slyftify today!


If you want to make your IoT devices communicate, give slyft a try. Please see the Documentation section for Installation and Usage Documents, as well as tutorials.

And tell us what you think!

Your Slyft team