This shows you the differences between two versions of the page.
|
existing_dci_implementations [2014/01/19 17:31] mbrowne |
existing_dci_implementations [2017/07/31 00:20] (current) mbrowne |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== Smalltalk ====== | + | ====== Implementations by Language ====== |
| - | Author: Trygve Reenskaug\\ | + | |
| - | http://fulloo.info/Examples/SqueakExamples/ | + | |
| + | See also: [[Code Examples|Code Examples]] for examples in some of these languages. | ||
| + | ===== Smalltalk ===== | ||
| + | http://fulloo.info/Examples/SqueakExamples/\\ | ||
| + | Author: Trygve Reenskaug | ||
| + | |||
| + | ===== C++ ===== | ||
| + | http://fulloo.info/Examples/C++Examples/index.html\\ | ||
| + | See also the book [[http://www.amazon.com/Lean-Architecture-Agile-Software-Development/dp/0470684208/ref=sr_1_1_bnp_1_pap?s=books&ie=UTF8&qid=1390152840&sr=1-1&keywords=lean+architecture+for+agile+software+development|Lean Architecture: for Agile Software Development]]\\ | ||
| + | Author: James O. Coplien | ||
| + | |||
| + | ===== Ruby ===== | ||
| + | |||
| + | **Maroon**\\ | ||
| + | https://github.com/runefs/maroon\\ | ||
| + | Author: Rune Funch\\ | ||
| + | Further documentation: http://runefs.com/2013/02/25/using-maroon-to-do-injectionless-dci-part-ii/ | ||
| + | |||
| + | See also: | ||
| + | |||
| + | **Sample Application**\\ | ||
| + | http://dci-in-ruby.info/ | ||
| + | |||
| + | **Books**\\ | ||
| + | |||
| + | [[http://www.amazon.com/Lean-Architecture-Agile-Software-Development/dp/0470684208/ref=sr_1_1_bnp_1_pap?s=books&ie=UTF8&qid=1390152840&sr=1-1&keywords=lean+architecture+for+agile+software+development|Lean Architecture: for Agile Software Development]]\\ | ||
| + | Author: James O. Coplien | ||
| + | |||
| + | [[http://www.clean-ruby.com/|Clean Ruby]]\\ | ||
| + | Author: Jim Gay | ||
| + | ===== Scala ===== | ||
| + | |||
| + | **ScalaDCI**\\ | ||
| + | https://github.com/DCI/scaladci\\ | ||
| + | Author: Marc Grue | ||
| + | |||
| + | ===== Marvin ===== | ||
| + | Language designed specifically for DCI, based on C#.\\ | ||
| + | https://github.com/runefs/Marvin\\ | ||
| + | Author: Rune Funch\\ | ||
| + | Examples: http://fulloo.info/Examples/Marvin/ | ||
| + | |||
| + | ===== Javascript ===== | ||
| + | **babel-dci**\\ | ||
| + | https://github.com/mbrowne/babel-dci\\ | ||
| + | Author: Matt Browne | ||
| + | |||
| + | **Run-time-only implementation:**\\ | ||
| + | http://egonelbre.com/code/javascript-dci/\\ | ||
| + | Author: Egon Elbre | ||
| + | |||
| + | ===== C# ===== | ||
| + | While it's possible to do limited DCI in C#, currently the best option for C# is to use Marvin (see above). Better native support in C# may be possible in the future due to new features Microsoft is currently considering for C#. | ||
| + | |||
| + | In the meantime, if lack of IDE integration or other issues make Marvin an impractical option, this library comes quite close to proper DCI: | ||
| + | https://github.com/ciscoheat/ivento-dci | ||
| + | ===== Python ===== | ||
| + | **Roles**\\ | ||
| + | https://pypi.python.org/pypi/roles\\ | ||
| + | Author: Arjan Molenaar | ||
| + | |||
| + | ===== PHP ===== | ||
| + | **dci-php**\\ | ||
| + | https://github.com/mbrowne/dci-php\\ | ||
| + | Author: Matt Browne | ||
| + | |||
| + | ===== Haxe ===== | ||
| + | (A language that compiles to a growing list of languages including Javascript, Flash, PHP, C++, C#, Java, and Python)\\ | ||
| + | **haxedci**\\ | ||
| + | https://github.com/ciscoheat/haxedci\\ | ||
| + | Author: Andreas Söderlund\\ | ||
| + | Example: https://github.com/ciscoheat/haxedci-example | ||
| + | |||
| + | ===== Java ===== | ||
| + | Qi4J, dci-cargo sample application\\ | ||
| + | https://github.com/Qi4j/qi4j-sdk/tree/develop/samples/dci-cargo\\ | ||
| + | Author: Marc Grue\\ | ||
| + | Qi4J homepage: http://qi4j.org/ | ||