Your SlideShare is downloading. ×
0
Next Generation Joomla!
Next Generation Joomla!
Next Generation Joomla!
Next Generation Joomla!
Next Generation Joomla!
Next Generation Joomla!
Next Generation Joomla!
Next Generation Joomla!
Next Generation Joomla!
Next Generation Joomla!
Next Generation Joomla!
Next Generation Joomla!
Next Generation Joomla!
Next Generation Joomla!
Next Generation Joomla!
Next Generation Joomla!
Next Generation Joomla!
Next Generation Joomla!
Next Generation Joomla!
Next Generation Joomla!
Next Generation Joomla!
Next Generation Joomla!
Next Generation Joomla!
Next Generation Joomla!
Next Generation Joomla!
Next Generation Joomla!
Next Generation Joomla!
Next Generation Joomla!
Next Generation Joomla!
Next Generation Joomla!
Next Generation Joomla!
Next Generation Joomla!
Next Generation Joomla!
Next Generation Joomla!
Next Generation Joomla!
Next Generation Joomla!
Next Generation Joomla!
Next Generation Joomla!
Next Generation Joomla!
Next Generation Joomla!
Next Generation Joomla!
Next Generation Joomla!
Next Generation Joomla!
Next Generation Joomla!
Next Generation Joomla!
Next Generation Joomla!
Next Generation Joomla!
Next Generation Joomla!
Next Generation Joomla!
Next Generation Joomla!
Next Generation Joomla!
Next Generation Joomla!
Next Generation Joomla!
Next Generation Joomla!
Next Generation Joomla!
Next Generation Joomla!
Next Generation Joomla!
Next Generation Joomla!
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Next Generation Joomla!

546

Published on

Presentation at J & Beyond conference, May 30 2014. Looking outside the Joomlasphere to get some inspiration about techniques to build better software, including Agile, DDD, TDD, BDD, Behat, Doctrine …

Presentation at J & Beyond conference, May 30 2014. Looking outside the Joomlasphere to get some inspiration about techniques to build better software, including Agile, DDD, TDD, BDD, Behat, Doctrine ORM, DCI, CQRS, Client-side MVC etc.

Video of presentation on https://www.youtube.com/watch?v=-6u4aUvCTx4

Published in: Software, Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
546
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
5
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Herman Peeren 30 mei 2014, J & Beyond Joomla? The Next Generation
  • 2. Let’s move to outer space, beyond Joomla!
  • 3. Developing software not easy
  • 4. improved a bit over the years:
  • 5. Waterfall
  • 6. Waterfall vs Agile iterations (sprints)
  • 7. Waterfall vs Agile
  • 8. DDD TDD BDD
  • 9. Sapir–Whorf hypothesis Linguistic relativity: Structure of a language affects the ways in which its respective speakers conceptualize their world. голубой Wilhelm von Humboldt Franz Boas Edward Sapir
  • 10. Nelleke Verhoeff, Red Cheeks Factory,
  • 11. Nelleke Verhoeff, Red Cheeks Factory,
  • 12. DDD ubiquitous language: using the language of the domain you are modeling
  • 13. TDD Tests afterwards are boring, I like to create new things!
  • 14. TDD Tests first!
  • 15. Some recent TDD critics • architecture destroyed by unit-level-tests • easy to measure doesn’t mean it’s important David Heinemeier Hansson (‘DHH’) http://www.confreaks.com/videos/3315-railsconf-keynote James Coplien (‘Cope’) www.rbcs-us.com/documents/Why-Most-Unit-Testing-is-Waste.pdf “Is TDD dead?”. Four discussions on video with Martin Fowler Kent Beck and DHH http://martinfowler.com/articles/is-tdd-dead/
  • 16. BDD Dan North http://dannorth.net/introducing-bdd/ Functional testing
  • 17. Selenium http://docs.seleniumhq.org/
  • 18. Selenium in PHPUnit http://phpunit.de/manual/current/en/selenium.html Acceptence testing
  • 19. Behat http://behat.org/
  • 20. Behat • based on Cucumber (Gherkin language) • given - when - then
  • 21. Behat: define features steps suggestions
  • 22. define steps
  • 23. Mink http://mink.behat.org/
  • 24. Codeception http://codeception.com/ No Gherkin-language, but PHP (new WebGuy)
  • 25. Create Read Update Delete
  • 26. Let’s Create, Read, Update and Delete ... an employee
  • 27. Create, Read, Update and Delete ... an employee
  • 28. Create, Read, Update and Delete ... an employee
  • 29. Create, Read, Update and Delete ... an employee
  • 30. Create, Read, Update and Delete ... an employee ???
  • 31. I’d rather Hire or Fire an employee ...
  • 32. Mapping some knight-objects ... ... to their proper tables
  • 33. Interfaces to build a CMS JCR & JackRabbit http://en.wikipedia.org/wiki/Content_repository_API_for_Java http://jackrabbit.apache.org/ PHPCR, Jackalope & Midgard2 https://github.com/phpcr/phpcr http://jackalope.github.io/ https://github.com/jackalope/jackalope-doctrine-dbal http://bergie.iki.fi/blog/midgard2_phpcr_provider_hits_1-0/ Symfony CMF http://cmf.symfony.com/ http://docs.doctrine-project.org/projects/doctrine-phpcr-odm/en/latest/
  • 34. Some NoSQL Document-db: MongoDB http://www.mongodb.org/ https://doctrine-mongodb-odm.readthedocs.org/en/latest/ Graph-db: Neo4j http://www.neo4j.org/develop/php https://github.com/lphuberdeau/Neo4j-PHP-OGM Hybrid graph-document-db: OrientDB http://www.orientechnologies.com/orientdb/ http://www.doctrine-project.org/projects/orientdb-odm.html
  • 35. CQRS Command Query Responsibility Segregation http://martinfowler.com/bliki/CQRS.html https://github.com/beberlei/litecqrs-php
  • 36. DCI Data-Context-Interaction To support an object style of thinking that is close to peoples’ mental models, rather than the class style of thinking that overshadowed object thinking early in the history of object-oriented programming languages. http://fulloo.info/Documents/ mailinglist: https://groups.google.com/forum/#!forum/object-composition
  • 37. for instance: • backbone.js • ember.js • angular.js (not for SEO) Client-side MVC
  • 38. ??? Herman Peeren http://hermanpeeren.nl herman@yepr.nl

×