This shows you the differences between two versions of the page.
existing_dci_implementations [2014/01/19 17:46] mbrowne [Haxe] |
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 17: | Line 18: | ||
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/ | ||
+ | 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 ===== | ===== Scala ===== | ||
Line 29: | Line 42: | ||
Examples: http://fulloo.info/Examples/Marvin/ | 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 ===== | ===== Python ===== | ||
**Roles**\\ | **Roles**\\ | ||
https://pypi.python.org/pypi/roles\\ | https://pypi.python.org/pypi/roles\\ | ||
Author: Arjan Molenaar | Author: Arjan Molenaar | ||
+ | |||
+ | ===== PHP ===== | ||
+ | **dci-php**\\ | ||
+ | https://github.com/mbrowne/dci-php\\ | ||
+ | Author: Matt Browne | ||
===== Haxe ===== | ===== Haxe ===== | ||
- | (A language that compiles down to Javascript, Flash, PHP, C++, C# and Java)\\ | + | (A language that compiles to a growing list of languages including Javascript, Flash, PHP, C++, C#, Java, and Python)\\ |
**haxedci**\\ | **haxedci**\\ | ||
https://github.com/ciscoheat/haxedci\\ | https://github.com/ciscoheat/haxedci\\ |