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/ | ||