About
Scrypt is in very early stages of development. Expect changes and bugs during this phase. If you find a bug or have a suggestion for how to improve Scrypt, please create an issue on the GitHub repository.
What is Scrypt?
Scrypt is a lightweight Roblox development framework. Scrypt aims to be an easy-to-use framework to power your Roblox projects! It includes several feature to improve your workflow over vanilla Luau. Those include:
- Lazily loaded modules
- Built in networking
- Support for three types of modules (Services, Controllers, Shared modules)
- Built-in Utilities (Custom events and functions, roblox service access, and more)
- Easy Gui access
Who is Scrypt For?
Scrypt is for anyone who wants a lightweight and easy to use framework to assist you with your projects. If you want to speed your development up without building your own framework, using something like Scrypt can help with that.
If you have used the Knit framework prior to it's deprecation, Scrypt may be an alternative you could switch to. While Scrypt aims to be much lighter weight than Knit ever was, it uses the basic Controller-Service architecture which will be familier to those who've used Knit before. Do keep in mind, Scrypt is NOT Knit or even a Knit fork and is not meant to be a drop in replacement for Knit.
Who is Scrypt NOT For?
If you want to have absolute control over everything and not have anything handled internally (say for absolute maximum performance reasons), Scrypt is not for you. For most developers, that will not be an issue, but it is worth noting, as with any framework (or most publicly available modules), there are going to be minor inefficiencies that are traded off for major leaps in convenience.
If you are a complete beginner, Scrypt is probably not for you. Scrypt requires a basic foundation in Luau to use.
Functional Programming
Scrypt also aims to promote functional programming (or at least to avoid object oriented code). While the basic usage of Scrypt is not purely functional, its internals were built using strong functional foundations (to the extent you can with a non pure functional language) and encourages developers to use functional programming in their services and controllers as much as possible. Scrypt also includes a small bulit-in Utils library which contains some common pure functions:
- Filter
- Map
- Reduce
Functional programming is what is known as a programming paradigm. A paradigm controls the structure or 'style' of how code is written. Some common paradigms include: object-oriented, imperative, procedural, and of course, functional. The functional paradigm has a few main properties that define what it exactly is. If you want to go in depth on what these are, you can look further into it but the main pillars of functional programming are:
- Data is immutable
- Functions are pure
- Higher order and first class functions
- Reduced (or no) side effects
Future Plans / Roadmap
Currently, there is no official roadmap for Scrypt. There are features that are being planned but the timeline on the implementation is not set.