Se ha denunciado esta presentación.
Se está descargando tu SlideShare. ×

Website-tool: CMS of Framework

Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Próximo SlideShare
Cartagena location
Cartagena location
Cargando en…3
×

Eche un vistazo a continuación

1 de 23 Anuncio

Website-tool: CMS of Framework

Descargar para leer sin conexión

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?

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?

Anuncio
Anuncio

Más Contenido Relacionado

Similares a Website-tool: CMS of Framework (20)

Anuncio

Más reciente (20)

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

Notas del editor

  • CMS

    - Content Management System
    - Tekst, audio en video:
    - Films, radio-uitzendingen, wetenschappelijke artikelen, technische handleidingen, recensies, columns, blogposts, etc.
  • - Veel interpretaties, honderden producten
    - Gerbrand legt verder uit wat we van een CMS vragen
  • - Collega’s vertellen straks over hun ervaringen met enkele CMS’en
    - Ik stak wat ‘lager’ in
  • - Raamwerk
  • Frameworks

    - Erg generieke term
    - In deze context: open source web application framework
    - Ondersteunt het ontwikkelen van dynamische websites
    - Talloze implementaties
    - Spring, Struts, Stripes, Seam, ... (ze beginnen niet allemaal met een ‘S’)
  • - Voorbeeld van een modern web application framework: Grails
    - SpringSource
  • - Grails ‘leent’ ideeën van Rails, maar is geen kloon
    - Groovy on Rails -> Grails
    - Flink actieve community met kennis van zaken
  • - Grails is een framework, maar maakt zelf ook weer gebruik van frameworks!
    - “High-level” framework
    - Cinema.nl maakt ook gebruik van Hibernate en Spring MVC, maar meer op een “low-level” manier
  • - Extra functionaliteit en componenten: plugins
  • - Momenteel 293 plugins via grails.org
    - Taggen, ratings, comments, zoeken, taxonomiën, navigatie, user interface, JavaScript frameworks, testen, feeds, workflow, integratie, ...
    - Redelijk tot goede kwaliteit, maar soms nog niet af
    - CMS plugins, maar nog niet volwassen
  • - VPRO is de hoofdtaal bij VPRO Digitaal
    - Groovy is grotendeels een superset van Java, dus de meeste Java-code is ook valide Groovy
    - Groovy voegt een hoop ‘moderne’ en handige constructies toe
    - Java-programmeurs kunnen steeds ‘groovier’ gaan programmeren
    - Wel een lelijk logo
  • - Puntkomma’s, haakjes en return-statements zijn optioneel
    - Literals voor reguliere expressies, maps en lists
    - Regex matching
  • - Puntkomma’s, haakjes en return-statements zijn optioneel
    - Literals voor reguliere expressies, maps en lists
    - Regex matching
  • Lagen van Abstractie

    - Frameworks bouwen voort op frameworks
    - Voeg wat plugins toe
    - Schrijf wat code als cement
    - En ineens heb je een CMS
  • - Demo van Grails applicatie
  • - Exclusief tests, configuratie, templates en CSS
    - Weinig regels code -> goedkoop en eenvoudig onderhoud
  • - Hoe hoger, hoe meer functionaliteit concreet geïmplementeerd is
    - Grails is echt een web application framework, maar met plugins wel op te werken naar een hoger niveau
    - Hippo en Drupal zijn meer CMF’s, Magnolia misschien ook nog wel

×