Английская Википедия:Cassowary (software)

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Cassowary is an incremental constraint solving toolkit that efficiently solves systems of linear equalities and inequalities. Constraints may be either requirements or preferences. Client code specifies the constraints to be maintained, and the solver updates the constrained variables to have values that satisfy the constraints.

Cassowary was developed by Greg J. Badros, Alan Borning and Peter J. Stuckey, and was optimized for user interface applications.[1] Badros used Cassowary amongst others for implementing Constraint Cascading Style Sheets (CCSS), an extension to Cascading Style Sheets (CSS). CCSS adds support for layout constraints. These allow designers to describe the layout of a web page in a more flexible manner. Cassowary is used to solve these constraints and calculate the final layout.

The original distribution,[2] unmaintained since 2000, included Smalltalk, C++ and Java implementations, along with bindings for GNU Guile, Python, and STk. Third-party implementations exist for JavaScript,[3] Dart,[4] Squeak,[5] Python,[6][7] the .NET Framework,[8] and Rust.[9]

Applications

  • As of September 2014, GSS, a layout language and layout engine for the web, is being developed by The Grid.[10] It is a modern extension of CCSS.[11]
  • Layx, a layout language for the web designed with ease of use in mind.[12]
  • Scwm, the Scheme Constraints Window Manager.
  • As of 2011, Cassowary is being used as the algorithm in the layout engine for Mac OS X (Lion and greater) and iOS (6 and greater).Шаблон:Citation needed
  • Enaml's layout engine is built on top of the Cassowary linear constraint optimizer.[13][14][15][16]

References

Шаблон:Reflist

  1. Ошибка цитирования Неверный тег <ref>; для сносок cassowary не указан текст
  2. Ошибка цитирования Неверный тег <ref>; для сносок cassowary-uw не указан текст
  3. Шаблон:Github
  4. Ошибка цитирования Неверный тег <ref>; для сносок dart не указан текст
  5. Ошибка цитирования Неверный тег <ref>; для сносок squeak не указан текст
  6. Шаблон:Github
  7. Шаблон:Github
  8. Ошибка цитирования Неверный тег <ref>; для сносок .net не указан текст
  9. Шаблон:Github
  10. Ошибка цитирования Неверный тег <ref>; для сносок Grid Style Sheets development history не указан текст
  11. Ошибка цитирования Неверный тег <ref>; для сносок About CCSS не указан текст
  12. Ошибка цитирования Неверный тег <ref>; для сносок layx не указан текст
  13. Ошибка цитирования Неверный тег <ref>; для сносок enaml не указан текст
  14. Шаблон:Github
  15. Ошибка цитирования Неверный тег <ref>; для сносок kiwi не указан текст
  16. Шаблон:Github