Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Future Proof Development

1,176 views

Published on

How Extbase, FLOW3, and Phoenix enable future proof development within TYPO3

Published in: Technology
  • Be the first to comment

Future Proof Development

  1. 1. Future Proof Development BUSY NOGGIN DIGITAL serious websites for those who mean business
  2. 2. Jeff Segars ‣ jeff@busynoggin.com ‣ @jsegars ‣ Developer at Busy Noggin Digital ‣ TYPO3 Core Team Member BUSY NOGGIN DIGITAL
  3. 3. Presentationhttp://www.slideshare.net/jsegars/future-proof-development Code https://github.com/busynoggin BUSY NOGGIN DIGITAL
  4. 4. What is future proof?BUSY NOGGINDIGITAL
  5. 5. Future ‣ Can my data produced today Proof be migrated elsewhere and Data reused in the future?BUSY NOGGINDIGITAL
  6. 6. Future ‣ Will my code continue to Proof work in the future? Code ‣ Is my code portable to other platforms? ‣ Is my code maintainable by other developers?BUSY NOGGINDIGITAL
  7. 7. Future ‣ Is the platform maintained? Proof ‣ Is backwards compatibilityPlatform valued? ‣ Is future-proof code encouraged? ‣ Does it give me room to grow?BUSY NOGGINDIGITAL
  8. 8. Future ‣ Is the way I think about Proof development transferrable Dev from one project to the next? ‣ Am I the only one who can work on this project until the end of time?BUSY NOGGINDIGITAL
  9. 9. Busy ‣ Invest up front, reap benefits Noggin later.Approach ‣ A swiss army knife is the best tool for the job. ‣ We focus on future-proof knowledge more than future- proof code. BUSY NOGGIN DIGITAL
  10. 10. Does TYPO3 provide a future proof development platform?BUSY NOGGINDIGITAL
  11. 11. The Berlin Manifesto October 2008BUSY NOGGINDIGITAL
  12. 12. “Future releases of v4 will see its features converge with those in TYPO3 v5”BUSY NOGGINDIGITAL
  13. 13. “TYPO3 v5 will introduce many new concepts and ideas. Learning never stops and well help with adequate resources to ensure a smooth transition”BUSY NOGGINDIGITAL
  14. 14. TYPO3 ExtbaseBUSY NOGGINDIGITAL
  15. 15. Extbase ‣ Who uses Extbase already? ‣ How Busy Noggin uses Extbase - 12K product app with nightly inventory imports before Extbase had reached betaBUSY NOGGINDIGITAL
  16. 16. BUSY NOGGINDIGITAL
  17. 17. Yes, we are crazy...BUSY NOGGINDIGITAL
  18. 18. Extbase ‣ Who uses Extbase already? ‣ How Busy Noggin uses Extbase - 12K product app with nightly ERP imports before Extbase had reached beta - and we’ve used Extbase for all extension development since thenBUSY NOGGINDIGITAL
  19. 19. Extbase ‣ Features - Domain Driven Design - Dependency Injection - Persistence Layer - Signals and Slots - Property Mapper - Fluid TemplatingBUSY NOGGINDIGITAL
  20. 20. Layout<div class=”todos-wrapper”> <ul class=”todos”> Template <li> <f:for each=”{todos}” as=”todo”> Partial <input type=”checkbox”> {todo.title} </f:for> </li> </ul></div>BUSY NOGGINDIGITAL
  21. 21. Extbase ‣ How is it an improvement over pibase? - Persistence Layer - No boilerplate code for templates - More opinionated framework makes it easier to startBUSY NOGGINDIGITAL
  22. 22. Extbase ‣ What is the sweet spot? - CRUD apps within a larger CMS project ‣ Where does it struggle? - Large datasets - Dynamic, high performance applicationsBUSY NOGGINDIGITAL
  23. 23. Extbase Demo TimeBUSY NOGGINDIGITAL
  24. 24. https://github.com/busynoggin/busynoggin_todosBUSY NOGGINDIGITAL
  25. 25. BUSY NOGGINDIGITAL
  26. 26. ApplicationBUSY NOGGINDIGITAL
  27. 27. Application TYPO3BUSY NOGGINDIGITAL
  28. 28. BUSY NOGGINDIGITAL
  29. 29. Extbase ‣ http://forge.typo3.org/projects/extension- extension_builder/repositoryResources ‣ http://typo3.org/fileadmin/t3org/ documents/information/ referencesheet.pdf ‣ http://forge.typo3.org/projects/package- viewhelperincubator/wiki ‣ http://fedext.net BUSY NOGGIN DIGITAL
  30. 30. TYPO3 FlowBUSY NOGGINDIGITAL
  31. 31. Flow ‣ Who uses Flow already? ‣ How Busy Noggin uses Flow - Middleware in mobile applications - Standalone web applicationsBUSY NOGGINDIGITAL
  32. 32. BUSY NOGGINDIGITAL
  33. 33. Flow ‣ Features - Domain Driven Design - Dependency Injection - Persistence Layer - Signals and Slots - Property Mapper - Fluid Templating - Aspect OrientedBUSY NOGGINDIGITAL Programming
  34. 34. Flow Demo TimeBUSY NOGGINDIGITAL
  35. 35. https://github.com/busynoggin/BusyNoggin.TodosBUSY NOGGINDIGITAL
  36. 36. BUSY NOGGINDIGITAL
  37. 37. ApplicationBUSY NOGGINDIGITAL
  38. 38. Application FlowBUSY NOGGINDIGITAL
  39. 39. BUSY NOGGINDIGITAL
  40. 40. BUSY NOGGINDIGITAL
  41. 41. FLOW ‣ https://github.com/mneuhaus/FLOW3- Admin (aka TYPO3.Expose)Resources ‣ https://github.com/sandstorm/oh-my- zsh-flow3-plugin ‣ http://wrapbootstrap.com BUSY NOGGIN DIGITAL
  42. 42. TYPO3 NeosBUSY NOGGINDIGITAL
  43. 43. Neos ‣ Who uses Neos already? ‣ How Busy Noggin uses Neos - Light content management alongside a Flow application - Don’t reinvent the CMS wheel for FlowBUSY NOGGINDIGITAL
  44. 44. Neos ‣ Features - Domain Driven Design - Persistence Layer - Signals and Slots - Property Mapper - Fluid Templating - Aspect Oriented ProgrammingBUSY NOGGIN - CMSDIGITAL
  45. 45. Neos ‣ Set of packages on top of Flow - Content Elements, TypoScript, Image Processing, Content Repository, etc ‣ Neos plugins are Flow packages with a little extra setup codeBUSY NOGGINDIGITAL
  46. 46. Neos Demo TimeBUSY NOGGINDIGITAL
  47. 47. BUSY NOGGINDIGITAL
  48. 48. ApplicationBUSY NOGGINDIGITAL
  49. 49. Application NeosBUSY NOGGINDIGITAL
  50. 50. BUSY NOGGINDIGITAL
  51. 51. Configuration/Settings.yamlTYPO3: TYPO3CR: contentTypes: BusyNoggin.Todos:Plugin: superTypes: [TYPO3.Phoenix.ContentTypes:Plugin] label: Busy Noggin Todos Plugin BUSY NOGGIN DIGITAL
  52. 52. Resources/Private/TypoScripts/PluginImplementation.tsprototype(BusyNoggin.Todos:Plugin) < prototype(TYPO3.Phoenix.ContentTypes:Plugin)prototype(BusyNoggin.Todos:Plugin) { package = BusyNoggin.Todos controller = Todo action = index} BUSY NOGGIN DIGITAL
  53. 53. BUSY NOGGINDIGITAL
  54. 54. Does TYPO3 provide a future proof development platform?BUSY NOGGINDIGITAL
  55. 55. “Future releases of v4 TYPO3 CMS will see its features converge with those in TYPO3 v5 Neos”BUSY NOGGINDIGITAL
  56. 56. “TYPO3 v5 Neos will introduce many new concepts and ideas. Learning never stops and well help with adequate Text resources to ensure a smooth transition”BUSY NOGGINDIGITAL
  57. 57. ‣ The concepts of TYPO3 Extbase, Flow, and Neos are very similar ‣ Code may not be directly portable up the chain, but there is a high degree of overlapBUSY NOGGINDIGITAL
  58. 58. ‣ Architecture encourages stable, maintainable code ‣ TYPO3 Extbase, Flow and Neos cover a wide range of use casesBUSY NOGGINDIGITAL
  59. 59. Am I practicing future proof development?BUSY NOGGINDIGITAL
  60. 60. Questions?BUSY NOGGINDIGITAL
  61. 61. Jeff Segars @jsegars jeff@busynoggin.comBUSY NOGGINDIGITAL
  62. 62. BUSY NOGGINDIGITAL

×