User Tools

Site Tools


existing_dci_implementations

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

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/​
  
existing_dci_implementations.1390152699.txt.gz · Last modified: 2014/01/19 17:31 by mbrowne