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:38]
mbrowne
existing_dci_implementations [2017/07/31 00:20] (current)
mbrowne
Line 1: Line 1:
 ====== Implementations by Language ====== ====== Implementations by Language ======
  
 +See also: [[Code Examples|Code Examples]] for examples in some of these languages.
 ===== Smalltalk ===== ===== Smalltalk =====
 http://​fulloo.info/​Examples/​SqueakExamples/​\\ http://​fulloo.info/​Examples/​SqueakExamples/​\\
Line 10: Line 11:
 Author: James O. Coplien Author: James O. Coplien
  
-==== Ruby ====+===== Ruby =====
  
-**Maroon**+**Maroon**\\
 https://​github.com/​runefs/​maroon\\ https://​github.com/​runefs/​maroon\\
 Author: Rune Funch\\ Author: Rune Funch\\
 Further documentation:​ http://​runefs.com/​2013/​02/​25/​using-maroon-to-do-injectionless-dci-part-ii/​ Further documentation:​ http://​runefs.com/​2013/​02/​25/​using-maroon-to-do-injectionless-dci-part-ii/​
  
-=== Scala ===+See also:
  
-**ScalaDCI**+**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\\ https://​github.com/​DCI/​scaladci\\
 Author: Marc Grue 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.1390153116.txt.gz · Last modified: 2014/01/19 17:38 by mbrowne