In contrast to the conventional development of Ruby-C extensions, Ruby software which calls functions in libraries via FFI have a single prerequisite: the relevant dynamic library.Installation of an Ruby-C extension requires that the relevant extension be compiled on every installation of the software,which necessitates a local development environment (i.e., a
compiler, etc.).