Ruby Sass

Ruby Sass war die ursprüngliche Implementierung von Sass, erreichte aber am 26. März 2019 ihr End-of-Life. Sie wird nicht mehr unterstützt und Ruby Sass-Benutzer sollten zu einer anderen Implementierung migrieren.

  • Aber warum?

    Als Natalie und Hampton Sass 2006 zum ersten Mal entwickelten, war Ruby die Sprache an der Spitze der Webentwicklung, die Grundlage ihrer bereits erfolgreichen Haml-Templating-Sprache und die Sprache, die sie am häufigsten in ihrer täglichen Arbeit verwendeten. Sass in Ruby zu schreiben, machte es für ihre bestehenden Benutzer und das gesamte boomende Ruby- Ökosystem leicht zugänglich.

    Seitdem ist Node.js für Frontend-Tools allgegenwärtig geworden, während Ruby in den Hintergrund getreten ist. Gleichzeitig sind Sass-Projekte weit größer geworden, als wir sie uns ursprünglich vorgestellt hatten, und ihre Leistungsanforderungen haben die Geschwindigkeit, die Ruby bieten kann, überholt. Sowohl Dart Sass als auch LibSass sind extrem schnell, einfach zu installieren und auf npm leicht verfügbar. Ruby Sass konnte nicht mithalten und es machte keinen Sinn mehr, die Ressourcen des Kernteams dafür aufzuwenden. 

  • Migration weg von Ruby Sass

    Wenn Sie Ruby Sass über die Befehlszeile mit dem sass-Executable ausführen, müssen Sie nur das Kommandozeilen-Executable von Dart Sass stattdessen installieren. Die Schnittstelle ist nicht identisch, aber die meisten Optionen funktionieren auf die gleiche Weise.

    Wenn Sie die sass-Gem als Bibliothek verwenden, ist die sass-embedded-Gem der empfohlene Weg, um von Ruby Sass wegzukommen. Sie bündelt das Dart Sass-Kommandozeilen-Executable und verwendet das Embedded Sass Protocol, um eine Ruby- API für das Kompilieren von Sass und die Definition benutzerdefinierter Importer und Funktionen bereitzustellen. Sie können auch die Gems dartsass-rails oder dartsass-sprockets verwenden, um sich reibungslos in Ruby on Rails zu integrieren.

    Alternativ können Sie, wenn Sie ein JS-Buildsystem verwenden, dieses mit Dart Sass als JavaScript- Bibliothek integrieren.