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.
Website-tool:
CMS of Framework?
   Nils Breunese / VPRO Digitaal
CMS

Content Management System
Webpublicatie: tekst, audio en video
   Films, radio-uitzendingen, wetenschappelijke artike...
“Een CMS, alstublieft”
“Een CMS, alstublieft”
Ready to Go?
Een product dat out-of-the-box exact doet wat we willen
bestaat (waarschijnlijk) niet
Uitbreidbaarheid
Inzich...
smokingtape1717 / CC-BY-NC
http://www.flickr.com/photos/smokingtape/2692114288/
Framework

Erg generieke term
Open source web application framework
Ontwikkelen van dynamische websites
Talloze implementa...
Grails
Ruby on Rails
Snel ontwikkelen
Convention over Configuration
   Domeinobject? Article
   Controller? ArticleController
   Tests? ArticleC...
Architectuur
Grails                            Groovy Development Kit (GDK)

               Groovy Server Pages (GSP) view...
Grails Plugins
Grails Plugins
Momenteel 293 plugins via grails.org
Taggen, ratings, comments, zoeken, taxonomiën, navigatie,
user interfa...
Groovy
Groovy Goodness
['a', 'b', 'c'].join('::')                   // 'a::b::c'
["Glen", "Alice"].collect { it.size() }      // ...
Groovy Goodness
['a', 'b', 'c'].join('::')                     // 'a::b::c'
["Glen", "Alice"].collect { it.size() }       ...
Groovy Goodness
['a', 'b', 'c'].join('::')                     // 'a::b::c'
["Glen", "Alice"].collect { it.size() }       ...
“Deze vuist op deze vuist”

Frameworks bouwen voort op frameworks
Voeg wat plugins toe...
Schrijf wat code als cement...
E...
Proof of Concept CMS
Proof of Concept CMS
+----------------------+-------+------+
| Name                 | Files | LOC |
+---------------------...
Maar...
Gebruikersbeheer?
Versiebeheer?
Workflow?
Clustering?
...
Je zult het toch allemaal moeten aansluiten en/of maken
Glijdende Schaal
     Content Management System


    Content Management Framework


      Web Application Framework
Conclusie

Framework: alles kan
Voor een CMS geldt dit als het goed is ook
Flexibiliteit versus ontwikkeltijd en -kosten
B...
Upcoming SlideShare
Loading in …5
×

Website-tool: CMS of Framework

1,803 views

Published on

Wat is het verschil tussen een CMS en een framework? Als voorbeeld van een modern web framework wordt Grails gebruikt ter illustratie. Wat is een goede basis voor een website-tool?

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Website-tool: CMS of Framework

  1. 1. Website-tool: CMS of Framework? Nils Breunese / VPRO Digitaal
  2. 2. CMS Content Management System Webpublicatie: tekst, audio en video Films, radio-uitzendingen, wetenschappelijke artikelen, technische handleidingen, recensies, columns, blogposts, etc.
  3. 3. “Een CMS, alstublieft”
  4. 4. “Een CMS, alstublieft”
  5. 5. Ready to Go? Een product dat out-of-the-box exact doet wat we willen bestaat (waarschijnlijk) niet Uitbreidbaarheid Inzichtelijkheid Herbruikbaarheid van componenten Etc.
  6. 6. smokingtape1717 / CC-BY-NC http://www.flickr.com/photos/smokingtape/2692114288/
  7. 7. Framework Erg generieke term Open source web application framework Ontwikkelen van dynamische websites Talloze implementaties Spring, Struts, Stripes, Seam, ...
  8. 8. Grails
  9. 9. Ruby on Rails
  10. 10. Snel ontwikkelen Convention over Configuration Domeinobject? Article Controller? ArticleController Tests? ArticleControllerTests Vaste mappenstructuur, veel gaat vanzelf Het kan altijd anders, maar dan moet je het zelf regelen
  11. 11. Architectuur Grails Groovy Development Kit (GDK) Groovy Server Pages (GSP) view templates SiteMesh layout & decoration Spring MVC domeinlogica GORM (Hibernate) database opslag
  12. 12. Grails Plugins
  13. 13. Grails Plugins Momenteel 293 plugins via grails.org Taggen, ratings, comments, zoeken, taxonomiën, navigatie, user interface, JavaScript, testen, feeds, workflow, integratie, ... Redelijk tot goede kwaliteit, maar soms nog niet af CMS plugins, maar nog niet volwassen
  14. 14. Groovy
  15. 15. Groovy Goodness ['a', 'b', 'c'].join('::') // 'a::b::c' ["Glen", "Alice"].collect { it.size() } // [4, 5], closure user.company?.address?.state?.name // null-safe "Good morning, ${name}" // GString assert "Speaking plain English" =~ /plain/ // regex personList.find { it.firstName == "Glen" } // find, closure
  16. 16. Groovy Goodness ['a', 'b', 'c'].join('::') // 'a::b::c' ["Glen", "Alice"].collect { it.size() } // [4, 5], closure user.company?.address?.state?.name // null-safe "Good morning, ${name}" // GString assert "Speaking plain English" =~ /plain/ // regex personList.find { it.firstName == "Glen" } // find, closure def mainsite = { [ teasers: Site.findAllByTeaserIsNotNull().teaser ] }
  17. 17. Groovy Goodness ['a', 'b', 'c'].join('::') // 'a::b::c' ["Glen", "Alice"].collect { it.size() } // [4, 5], closure user.company?.address?.state?.name // null-safe "Good morning, ${name}" ♥ assert "Speaking plain English" =~ /plain/ personList.find { it.firstName == "Glen" } // GString // regex // find, closure def mainsite = { [ teasers: Site.findAllByTeaserIsNotNull().teaser ] }
  18. 18. “Deze vuist op deze vuist” Frameworks bouwen voort op frameworks Voeg wat plugins toe... Schrijf wat code als cement... En ineens heb je een CMS!
  19. 19. Proof of Concept CMS
  20. 20. Proof of Concept CMS +----------------------+-------+------+ | Name | Files | LOC | +----------------------+-------+------+ | Controllers | 3 | 82 | | Domain Classes | 2 | 39 | | Tag Libraries | 3 | 31 | +----------------------+-------+------+ | Totals | 8 | 152 | +----------------------+-------+------+
  21. 21. Maar... Gebruikersbeheer? Versiebeheer? Workflow? Clustering? ... Je zult het toch allemaal moeten aansluiten en/of maken
  22. 22. Glijdende Schaal Content Management System Content Management Framework Web Application Framework
  23. 23. Conclusie Framework: alles kan Voor een CMS geldt dit als het goed is ook Flexibiliteit versus ontwikkeltijd en -kosten Bedenk goed wat je wil en nodig hebt Kies de meest concrete technologie die past bij je wensen

×