Rasmus, Think Again! Agile Framework == Happy Php Developer

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

10 comments

Comments 1 - 10 of 10 previous next Post a comment

  • + sudarshanasampath sudarshanasampath 2 months ago
    excellent presentation, could you please send it to me
    sudarshanasampath@gmail.com
  • + guesta21124 guesta21124 3 months ago

    hiiiiiiiiiiiiiii..............
  • + sureshp1983 sureshp1983 5 months ago
    its very useful for every developer !!! Can you pls add download option for this slide?

    Awaiting to download this presentation !!!

    Thanks!
  • + xenex xenex 5 months ago
    Very useful presentation, could you please send it to me: xenexxxx@yahoo.com
  • + guest85309 guest85309 7 months ago
    I think for the most part frameworks make you write an application from a framework ,rather than writing a framework for an application, like ’jack of all trades’ master of none.

    You wouldn’t build a motorcycle from a car.

    The majority of massive sites are NOT built with frameworks, they are frameworks built for the site.
  • + masap masap 9 months ago
    Nice and funny!! ;D

    But I think Spaghetti Chefs continue to cook spaghetti even if they use any kind of tool. To change the way of thinking is more important and effective than to cook as usual.
  • + williamn William Notowidagdo 11 months ago
    Finally found your slide. Nice presentation Arno! :D
  • + guestf8899 guestf8899 2 years ago
    nice presentation!!!
  • + arnoschn Arno Schneider 2 years ago
    Frameworks encourage you, make the entrance to best practices easier. But you are still the one who needs to embrace them ;) So putting a bad boy onto a framework does not give you nice code directly.

    'When you have to go through 20 embedded classes to understand what a small piece of algorithm does, it’s a real pain in the ass.' -- when this happens, something went wrong ;)
  • + guest7fc7a6 guest7fc7a6 2 years ago
    Damn, that was a long presentation :)

    But a nice one. Did you use a framework to build it?



    Frameworks are great, but bad use of frameworks can become 100x worse than spaghetti code. When you have to go through 20 embedded classes to understand what a small piece of algorithm does, it’s a real pain in the ass.
Post a comment
Embed Video
Edit your comment Cancel

46 Favorites, 1 Group & 1 Event

Rasmus, Think Again! Agile Framework == Happy Php Developer - Presentation Transcript

  1. <?php echo ($AgileFramework == $HappyDeveloper) ? “Rasmus, think again!” : die(‘PHP’); delicious.com bookmarks.yahoo.com addons.mozilla.org All sites above were created using a PHP Framework.
  2. Who am I ?
  3. Xinc - Lead Developer Akelos Framework - Core Contributor BermiLabs.com - Partner
  4. C, C++, C# That’s not me!
  5. Been there. Done that. Got over it!
  6. I am a Web Developer. Like you!
  7. I am Pragmatic does the Job since 1995
  8. 1995 a star is born
  9. Do you like Spaghetti?
  10. Do you like Spaghetti? Warning: The following slides contain spaghetti code.
  11. The “Italian” Scripting Language * 1995 * Sample Snippet from 1995 (http://talks.php.net/show/froscon08/4)
  12. The “Italian” Scripting Language ? ! ? ! ? ! ?!?!?!? ok, back then .. but now everything is better, no? * 1995 * Sample Snippet from 1995 (http://talks.php.net/show/froscon08/4)
  13. Did I grow up?
  14. Did I grow up? has grown up
  15. But the manners? Did I grow up? has grown up
  16. “Spaghetti a la OOP” anyone? * 2005 * Sample Snippet from 2005 (http://talks.php.net/show/froscon08/5)
  17. “Spaghetti a la OOP” anyone? at least stmts! useless exception handling! wow! heredocs as view template! * 2005 * Sample Snippet from 2005 (http://talks.php.net/show/froscon08/5)
  18. dont_get_me_wrong.php4 <?php $dirty_coder = ‘Spaghetti coder’; while ($iWasLearning /* in 1999 */) { echo “I was a $dirty_coder\\n”; }
  19. I know what it’s like ... ... to maintain spaghetti code.
  20. iChanged_in.php5 <?php $everything /* became a */ = new Object(); $inPHP = ‘5’; $andMixing = “<html>with $php was a sin</html>”; $frameworks = “I created a lot of them!”;
  21. Then I realized that ... ... knowing everything better ... reinventing the wheel ... organizing source code ... over and over again is a pretty heavy load.
  22. But there is help ... ... to make you a more relaxed, more productive web developer. Disclaimer: The following slides are not the view of a sect or any kind of religion. Its just pragmatic!
  23. If you could start fresh ... in a new job ... on a new project
  24. If you could choose ... Don’t us CAF* e PHP? Spaghetti F rameworks * Create Another Framework
  25. Don’t use PHP?
  26. How much Spaghetti can you take?
  27. Create Another Framework ?
  28. Create Another Framework ?
  29. Create Another Framework ?
  30. Create Another Framework ?
  31. Create Another Framework ?
  32. Why should you use a Framework? You don’t need to reinvent the wheel
  33. In fact, most of us should not ...
  34. Not reinventing the wheel ... Framework No Framework Lines of Code you need to write Project Complexity ... makes you code less! Disclaimer: I do not trust any statistics, I did not invent myself. Graphs are representative to express a general fact.
  35. But I am a coder! I want to code more!
  36. Lines of Code you need to write But writing more code ... Bugs ... results in more bugs! Disclaimer: I do not trust any statistics, I did not invent myself. Graphs are representative to express a general fact.
  37. I (the developer) need to be in control of everything.
  38. Control the important stuff ... Important Basic Without a framework With a framework ... to create a useful application! Disclaimer: I do not trust any statistics, I did not invent myself. Graphs are representative to express a general fact.
  39. Good Frameworks ...
  40. suspects you from the usual and a shield, which protects Good Frameworks ... ... while leaving room for your creativity.... ... provide a solid ... ... unit tested ... ... base ...
  41. Let us have a look at some frameworks.
  42. Framework or Library? Component Libraries weaker MVC MVC Frameworks stronger ... ...
  43. Framework or Library? Which one doMVC Frameworks Component Libraries I choose? weaker MVC stronger ... ...
  44. Framework or Library? Component Libraries weaker MVC MVC Frameworks stronger + ... ...
  45. Choose a solid MVC Framework ... and reuse components from libraries.
  46. I am not going to tell you ... ... to choose a specific framework. (This is not an advertisement for a specific framework)
  47. It’s up to your needs and likes.
  48. It’s up to your needs and likes. .. only one thing ... if you hate configuration... don’t choose Symfony!
  49. What does agile software development have to do with frameworks?
  50. Manifesto for Agile Software Development (http://www.agilemanifesto.org) Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan
  51. Ready to be agile?
  52. Be agile: Responding to change Stop fearing change. Accept it. Welcome it.
  53. Does your current development process allow change easily?
  54. Be agile Customer Collaboration Be transparent. About work. About timing.
  55. Can you collaborate transparently? Or do you need strong contracts to cover you ?
  56. Be agile Working Software Unit tests are the best developer documentation.
  57. Is your current software testable? Or do you need to test manually, with a browser ?
  58. Be agile Individuals and Interaction The right team will do the best job.
  59. Do you have a good team work? Or are you still building hierachies and departments ?
  60. If you answered one+ question(s) with “No ... “ you are probably not ready to be agile.
  61. How can a framework help me here?
  62. Design first. Enduser centric design - Only data that is needed for interaction is of importance.
  63. Test your MODELS and CONTROLLERS. Tests first. Frameworks make it easy to test.
  64. Honesty and Trust
  65. Welcome change If a change breaks something, the unit tests will alarm you.
  66. ... still doubts?
  67. But Rasmus said that* ... ... frameworks are performing poorly * http://tinyurl.com/frameworks-think-again
  68. Ok, let me tell you something about Rasmus Lerdorf
  69. Rasmus’ view on PHP a simple tool for non-developers “to solve the web problem” .. if you cannot solve it easily with PHP - push it to another layer* ... * (Not everyone wants/can code php extensions) Did I get you right Rasmus?
  70. I got a message for you Rasmus Graduated Computer Scientists are developing in PHP ... ... not just script kiddies.
  71. Let us have a look at Rasmus way of testing PHP frameworks.
  72. Who is running the following Application for Business?
  73. I am going to show you the source code for this money machine. You need to sign a NDA before though!
  74. Disclosed Hello World Business Core <html> <head> </title> hp ech o “Test” ?> <title><?p </head> <body> rld” ?> o “Hello Wo <?php ech </body> </html>
  75. puuuuuuh ... give me a second.
  76. Warning: Ugly Slides ahead Rasmus does his statistics about performance. Remember? I don’t trust statistics, I did not invent myself.
  77. no comment.
  78. Ok... maybe ONE.
  79. Rasmus simplifies things ... for the sake of understanding?
  80. Rasmus simplifies things ... for the sake of understanding? A bit too simple.
  81. Rasmus is right. Frameworks suck for Hello World Applications. ;-) We evolved a bit since 1995... Could someone please start a “hello business” example?
  82. We want to make money become rich and famous. So a hello world app would maybe be my second best choice for that purpose.
  83. Ok, now seriously.
  84. Frameworks are slower than static <HTML/>
  85. Is your primary concern Performance?
  86. So either ... your Application is already that BIG OR your creativity is too small
  87. You reach the limit of your Creativity way before ...
  88. ... you reach the limit of Computing Power
  89. Scaling is a problem all of us wish to have.
  90. But let’s first build that great application.
  91. But let’s first build that great application. ... which millions use!
  92. Choose a MVC Framework ... today
  93. .. and concentrate on the creative part ...
  94. .. let’s see a magic example of how easy web application development can be!
  95. A common problem: Search Engine Setting up a search engine in based on Hyperestraier
  96. A common problem: Search Engine The task add a search feature
  97. A common problem: Search Engine Preparation Install hyperestraier: debian: # apt-get install hyperestraier Setup / Start hyperestraier: debian: # estmaster init /var/myindices debian: # estmaster start /var/myindices Create API user and index at: http://admin:admin@localhost:1978 Install search plugin: debian: akelos# ./script/plugin install acts_as_searchable
  98. A common problem: Search Engine Overview Step 1 - Model Enabling the search plugin on the model Video. Indexing existing videos. Step 2 - View Add a search form to the archives view. Step 3 - Controller Add a search action to the video’s archive. /archive/search
  99. A common problem: Search Engine Step 1 The MODEL and the Index
  100. A common problem: Search Engine Step 1 The MODEL and the Index
  101. A common problem: Search Engine Step 1 The MODEL and the Index
  102. A common problem: Search Engine Step 2 The Search VIEW
  103. A common problem: Search Engine Step 3 The CONTROLLER
  104. A common problem: Search Engine The result searchable video blog
  105. A common problem: Search Engine Adding fulltext search ... on top of an existing application ...
  106. A common problem: Search Engine Adding fulltext search ... on top of an existing application ... ... will take you less than 20 min.
  107. Easy, Pragmatic Solutions for your problems If you use a Framework!
  108. If you are not already using a framework ... ... choose one and try it!
  109. If you don’t want to choose a framework. Be ready for people joking about you .....
  110. http://www.youtube.com/watch?v=p5EIrSM8dCA
  111. Now that know. Tell your ... Boss Colleagues Friends The World YOU
  112. If you feel like it tweet me gently | twitter.com/arnoschn drop me a line | arno at bermilabs.com read about me | bermilabs.com/arno

+ Arno SchneiderArno Schneider, 2 years ago

custom

10162 views, 46 favs, 34 embeds more stats

Talk was held during the PHP Conference in Barcelon more

More info about this document

© All Rights Reserved

Go to text version

  • Total Views 10162
    • 9216 on SlideShare
    • 946 from embeds
  • Comments 10
  • Favorites 46
  • Downloads 1
Most viewed embeds
  • 257 views on http://cakephp.seesaa.net
  • 87 views on http://phpbarcelona.org
  • 84 views on http://cakephp.agoris.nl
  • 82 views on http://www.pierre-martin.fr
  • 81 views on http://kiss.souagil.com.br

more

All embeds
  • 257 views on http://cakephp.seesaa.net
  • 87 views on http://phpbarcelona.org
  • 84 views on http://cakephp.agoris.nl
  • 82 views on http://www.pierre-martin.fr
  • 81 views on http://kiss.souagil.com.br
  • 78 views on http://www.alfonsojimenez.com
  • 64 views on http://phpconference.es
  • 44 views on http://phylevn.mexrom.net
  • 41 views on http://blog.patoroco.net
  • 35 views on http://arnoschn.com
  • 23 views on http://cakephptips.blogspot.com
  • 9 views on http://en.asiermarques.com
  • 8 views on http://planetcakephp.org
  • 6 views on http://www.cakebase.de
  • 5 views on http://static.slideshare.net
  • 5 views on http://adnam.motd.org
  • 5 views on http://www.excite-webtl.jp
  • 5 views on http://alfonsojimenez.com
  • 4 views on http://phylevn.binniza.com
  • 3 views on http://knitinr.blogspot.com
  • 3 views on http://www.office.zerohacks.com
  • 2 views on http://www.fachak.com
  • 2 views on http://74.125.153.132
  • 2 views on http://artheman.tumblr.com
  • 2 views on http://xss.yandex.net
  • 1 views on http://127.0.0.1:89
  • 1 views on http://www.yingyuduanwen.com.cn
  • 1 views on http://209.85.143.102
  • 1 views on http://localhost:8888
  • 1 views on http://surf.googlemashups.com
  • 1 views on applewebdata://2F5AB0D9-D8F8-458F-94E7-324E39784E41
  • 1 views on http://www.slideshare.net
  • 1 views on applewebdata://2C12446F-69C9-4A6D-8E66-6A634CF4C144
  • 1 views on http://www.web2akademie.de

less

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

Cancel
File a copyright complaint
Having problems? Go to our helpdesk?

Categories