FIO SDK - Requirements & recommended architecture
This document tracks the requirements for the next gen FIO SDK, a discussion of possible development paths, and the recommended architecture.
Requirements
Critical
This requirements are critical must be met.
Ease of integration - Integrators must be able to install the sdk and get up and running in a short amount of time
Limited complexity - The sdk must be simple to understand for developers
Limited / standard libraries - The sdk must include as few 3rd party libraries as possible and work with standard libraries as much as possible
Important
These requirements are important, but not critical.
Leverage existing open source eosio-based libraries (e.g., eosjs, eosio-core)
Not important
These requirements are NOT important.
Backward compatibility with existing SDK (it is assumed the new SDK will contain breaking changes)
Alternatives
custom sdk
Use code from existing open source projects to develop a custom sdk.
eosjs + fiosdk
Use the eosjs library and build additional FIO sdk functionality on top of this core library. This is similar to the current SDK.
eosio-core / Wallet+
Work with the Wallet+ group as they build out the EOS Network Foundation (ENF) technologies, one of which is an updated SDK.
Features and Tools
The following tools and libraries should be considered for integration and compatibility: