Your SlideShare is downloading. ×
What frameworks can do for you – and what not (IPC14 SE)
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

What frameworks can do for you – and what not (IPC14 SE)

371

Published on

Companies often choose frameworks by the same criteria – which is popularity, documentation and matureness. And speed of course. Or only speed. But even if you found the "perfect" framework, what can …

Companies often choose frameworks by the same criteria – which is popularity, documentation and matureness. And speed of course. Or only speed. But even if you found the "perfect" framework, what can you actually expect from it? And what are marketing promises even the best framework won't be able to deliver? From the perspective of someone who started an open source framework years ago I'll share my idea of where frameworks differ, where frameworks can help you and why engaging with one is unlike just buying a product.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
371
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
11
Comments
0
Likes
0
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. What frameworks can do (and what not) Robert Lemke - TechDivision GmbH
  • 2. TEXT HERE Robert Lemke ! 38 years old lives in Lübeck, Germany software architect at TechDivision TYPO3 Association co-founder TYPO3 Flow & TYPO3 Neos project founder
 1 wife, 2 daughters, 1 espresso machine
  • 3. Expectations. Promises. Features. Long Term Relationships.
  • 4. What do you expect from your IDE?
  • 5. What do you expect from
 a framework?
  • 6. „Implement our company website.
 It must be based on TYPO3 CMS.”
  • 7. A framework
 is no architecture.
  • 8. A framework alone
 won’t make a great application.
  • 9. Promises
  • 10. „enterprise ready”
  • 11. „a great community”
  • 12. „extensible”
  • 13. „secure”
  • 14. „PHP is fun again”
  • 15. „ready for tomorrow”
  • 16. „based on another cool framework”
  • 17. „batteries included”
  • 18. „… is right for you if you want to spend more time away from your computer”
  • 19. Features
  • 20. Speed
  • 21. Frameworks add more layers of abstraction.
  • 22. Abstraction layers slow down your application.
  • 23. Without a framework,
 most likely, you will add these layers yourself.
  • 24. Abstraction layers speed up your application.
  • 25. your application
 starts here
  • 26. speed doesn’t come for free.
  • 27. Persistence
  • 28. An ORM layer slows down your application and is less flexible.
  • 29. An ORM layer can make your application less complex and respond faster.
  • 30. keeps your domain model clean.
  • 31. great caching opportunities.
  • 32. Don’t implement an ORM – it’s way too complex to get it right.
  • 33. Do implement an ORM – you need to know the inner works.
  • 34. Do you need an ORM?
  • 35. A DBAL makes your application more portable.
  • 36. Do you need a DBAL?
  • 37. Used correctly, ORMs can be a blessing.
  • 38. Security
  • 39. A framework can make your application more secure.
  • 40. Implementing cryptography algorithms on your own is
 wantonly negligent!
  • 41. Implementing authentication and authorisation adapters is a whole project on its own.
  • 42. Do you have the
 manpower and expertise?
  • 43. Still, you are responsible for security.
  • 44. You need to learn about security, no matter what.
  • 45. Guidance
  • 46. TYPO3FlowCodingGuidelinesononepage <?php namespaceAcmeTestPackage; /* * *ThisscriptbelongstotheTYPO3Flowpackage"Acme.TestPackage". * * * *Itisfreesoftware;youcanredistributeitand/ormodifyitunder * *thetermsoftheGNUGeneralPublicLicense,eitherversion3ofthe * *License,or(atyouroption)anylaterversion. * * * *TheTYPO3project-inspiringpeopletoshare! * * */ useAcmeTestPackageServiceFooGenerator; useTYPO3FlowAnnotationsasFlow; /** *Heregoesthedescriptionoftheclass.Itshouldexplainwhatthemain *purposeofthisclassis... * *@FlowScope(”singleton”) */ classUniverseAnalyzerextendsBaseClassimplementsSomeInterface{ /** *Someinjecteddependency * *@FlowInject *@varFooGenerator */ protected$someDependency=NULL; /** *ShowsifyouareaddictedtoTYPO3Flow * *@varboolean */ staticprotected$addictedToFlow=TRUE; /** *ShowsifyouareafanofTYPO3Flow * *@varboolean */ protected$fanOfFlow; /** *Agreatmethodwhichshowshowtoindentcontrolstructures. Descriptionoftheclass.Makeitas longasneeded,feelfreetoexplain howtouseit. Namespacestartswithvendorname followedbypackagekey(name)and subpartsasneeded UpperCamelCaseclassname.Class namesshouldbenouns. Inotherpackages,import AcmeTestPackageUniverseAnalyzer andrefertoitasUniverseAnalyer. Use@vartag.Optionaldescription goesinthefirstcommentline followedbyablankcommentline. Descriptionofthemethod.Makeit aslongasneeded. Methodnamesshouldbeverbs. Oneusestatementperline. Oneusestatementpernamespace. Orderstatementsalphabetically. Don'timportnamespacesunlessyou usethem. NoemptylinebetweenDocComment andclass,membervarormethod. Preferrelativenamespaces,unless FullyQualifiedNamespaceismore readable List@Flow*beforeothertags: @var,@param,@return,@throws, @api,@since,@deprecated Capturethejoyofcodingasyou createexcellentwebsolutions. Enjoycoding.EnjoyFlow. http://rlmk.me/flowcgl
  • 47. 0 75 150 225 300 Security Speed MVC HTTP Templating i18n You will have to learn a lot … start working on business logic
  • 48. … the question is: in which order? 0 100 200 300 40 Framework Security Speed MVC HTTP Templating i18n C64 E. start working on
 business logic
  • 49. But hey, what about Agile?
  • 50. Bottomline?
  • 51. Frameworks offer a shortcut and many features right away.
  • 52. Going framework-less gives you more flexibility.
  • 53. Non-trivial applications will need a framework sooner or later.
  • 54. Only start creating your own application-specific framework if you have the experience and resources.
  • 55. TEXT HERE @robertlemke ! robertlemke.com flow.typo3.org techdivision.com

×