What is stremio-core
Stremio-core is a project to create a code library that contains all the common logic between Stremio apps: the add-on system, integration with our API, library/notifications and others.
It will allow us (and others, more on that later!) to develop Stremio faster with less bugs, because of the shared code between all apps. It can also enable porting Stremio to new platforms more easily.
Since stremio-core has to be portable and correct (as bugless as possible), we've chosen Rust for the job.
Rust is a modern programming language started by Mozilla, describing itself as a language empowering everyone to build reliable and efficient software.
Rust is gaining popularity very quickly, and it's been voted "the most loved programming language" by Stack Overflow for a third year in a row.
At Stremio, we're huge fans of open-source software. We currently have over 40 public repositories on GitHub, which includes the addon SDK (stremio-addon-sdk), multiple core libraries (stremio-aggregators, stremio-addon-client, etc.), example add-ons and many more. You can even use stremio-shell to build Stremio for platforms we don't officially support (for example, 32bit Linux or Raspberry pi).
stremio-core will be open-source too, and licensed under the permissive MIT license. This will open up many possibilities, including community maintained apps for Android TV, Xbox, Playstation, Raspberry pi, etc.
Other than stremio-core, we will also open-source a new web UI, stremio-web, built using React and stremio-core. It will enable connecting Stremio to your own local streaming server so you can enjoy your favorite content in the browser.
Both stremio-core and stremio-web will be made available on GitHub by the end of 2019!
What does this mean for development?
As you already know, Stremio is extremely flexible: it's content can be pretty much anything that the add-ons deliver. The latest add-on competition implemented use cases that were beyond our imagination (e.g. books, news).
This means it's also extremely complicated. It took us a while to finalize a lot of specifications on how Stremio should work in detail. This is why stremio-core is a long term investment: we've been busy with crystallizing the inner workings of Stremio over the last year, in order to:
- be able to easily port Stremio to other platforms
- be able to develop new features easily without fear of breaking something
That said, we still have another few months of development time before being able to use stremio-core in all our apps.
If you'd like to submit feedback on what we should focus on, please vote on our user quiz.