The IOTA project’s number one priority is adoption in the real world. The foundation for achieving this lies in a deployment and development friendly ecosystem. This necessitates a versatile and vastly encompassing ecosystem, of which one of the most crucial components include clients in different languages that enable developers to choose their most preferred client suited for their specific deployments. - Iota official -

JAVA

The IOTA Reference Implementation (IRI) is written in Java. It has just been refactored with major performance improvements which makes it faster to synchronize with the network and make transactions. Since IRI is the first official IOTA implementation, a stable Java client is very much a key to adoption.

Status: Done, stresstest soon

C++

This client is our highest priority at the moment, as we are currently porting IRI over to C++ and plan to continue core development in this language. Unlike Java it does not require a Virtual Machine installed on the devices in order to to run code and it compiles to machine code in real time, making it a lot more suitable for these resource restrained IoT devices. It’s also one of the most supported and typed languages in the world.

Status: In early port stage

Rust

Rust is considered to be one of the most promising and agile languages, particularly for IoT due to its safety, fast execution and massive concurrency support. Rust, together with C++, is currently being prioritized by the Foundation.

Status: Early development

Go

Very similar to Rust in terms of concurrency, Golang has seen a lot of adoption, especially by various Blockchian projects in this space. We already use Go for our Sandbox environment and library, making it an obvious choice to dedicate development to.

Stage: Early development

Light Client

Even though IOTA core client is lightweight in nature, there are certain applications that need something even more bare bones. E.G. very resource restricted edge devices that will not be able to act as a full node, for these we have the Light Client. In addition to the Light Client, we will also offer an SPV-like client for trustless transactions and validation.

Status: Completed

Swarm Client

Another approach planned to enable the IOTA client running in these very resource restrained environments is to shard the core logic and database amongst different devices that then collectively run it. Similarly to swarm intelligence, this enables a cluster of devices to efficiently make transactions without being a full node, but having reduced trust requirements from SPV and light clients.

Status: Research / preliminary stage

Improved networking

Because of the specific needs of networking for IoT, we have started the early research and development of a networking broker in IOTA that enables to fluidly switch between different networking protocols while still being connected to the peer to peer network. In addition to that, we will work on enabling peer discovery in a secure way.

Stage: Active Research

Automated Snapshotting

To keep IOTA in accordance with the needs of embedded devices which will permeate and constitute the Internet of Things it uses ‘snapshotting’, which keeps the ledger database that devices has to keep very small in size. Snapshotting is similar to Blockchain pruning, except Snapshotting has the significant advantage of grouping several transfers to the same address into 1 record, which leads to a smaller storage requirement overall.

Stage: Active development and testing

The core IOTA protocol itself is purposefully lightweight and simple in nature; its role is to enable trust free and fee-less transactional settlements as well as tamper proof data transmission. That’s it. Staying true to universal engineering principles we reduce trade-offs through the philosophy of modularity. Instead of creating a one size fits all swiss-army knife which invariably leads to mediocre performance in each feature, we instead make the IOTA platform modular. This means that each component is a stand alone application that is optimized for its purpose, without trading off performance or functionality for other applications. Additionally, this gives users of IOTA choice to tailor their usage of the protocol, instead of imposing the overhead of the features on, even if they originally only need to use one of them for instance. Both of these components are imperative for a scalable and functional platform. -Iota official-

If you like this feed leave me a vote and follow Iotaforall.

For the full roadmap head to www.iota.org