Development

Documentation/nl_NL/book/1.0/01-Introducing-Symfony (diff)

You must first sign up to be able to contribute.

Changes between Version 8 and Version 9 of Documentation/nl_NL/book/1.0/01-Introducing-Symfony

Show
Ignore:
Author:
snowkrash (IP: 82.170.95.241)
Timestamp:
08/08/07 07:34:47 (10 years ago)
Comment:

Hoofdstuk 1 af

Legend:

Unmodified
Added
Removed
Modified
  • Documentation/nl_NL/book/1.0/01-Introducing-Symfony

    v8 v9  
    195195Webapplicaties programmeren is lang traag en saai werk geweest. Gebruikmakend van standaard ontwikkelmethodieken (zoals Rational Unified Process), kon de ontwikkeling van web applicaties pas beginnen nadat een complete set van randvoorwaarden was samengesteld, UML diagrammen waren getekend en een vracht aan voorlopige documentatie was opgesteld. Dit had als oorzaak de algemene ontwikkelsnelheid, het gebrek aan veelzijdigheid van programmeertalen (je moest bouwen, compileren, herstarten en wie weet wat nog meer, vóór je een programma kon zien werken) en --het meest belangrijk-- klanten veranderden niet constant hun wensen en eisen. 
    196196 
    197 Today, business moves faster, and clients tend to constantly change their minds in the course of the project development. Of course, they expect the development team to adapt to their needs and modify the structure of an application quickly. Fortunately, the use of scripting languages like Perl and PHP makes it easy to apply other programming strategies, such as rapid application development (RAD) or agile software development. 
    198  
    199 One of the ideas of these methodologies is to start developing as soon as possible so that the client can review a working prototype and offer additional direction. Then the application gets built in an iterative process, releasing increasingly feature-rich versions in short development cycles. 
    200  
    201 The consequences for the developer are numerous. A developer doesn't need to think about the future when implementing a feature. The method used should be as simple and straightforward as possible. This is well illustrated by the maxim of the KISS principle: Keep It Simple, Stupid. 
    202  
    203 When the requirements evolve or when a feature is added, existing code usually has to be partly rewritten. This process is called refactoring, and happens a lot in the course of a web application development. Code is moved to other places according to its nature. Duplicated portions of code are refactored to a single place, thus applying the Don't Repeat Yourself (DRY) principle. 
    204  
    205 And to make sure that the application still runs when it changes constantly, it needs a full set of unit tests that can be automated. If well written, unit tests are a solid way to ensure that nothing is broken by adding or refactoring code. Some development methodologies even stipulate writing tests before coding--that's called test-driven development (TDD). 
    206  
    207     There are many other principles and good habits related to agile development. One of the most effective agile development methodologies is called Extreme Programming (abbreviated as XP), and the XP literature will teach you a lot about how to develop an application in a fast and effective way. A good starting place is the XP series books by Kent Beck (Addison-Wesley). 
    208  
    209 Symfony is the perfect tool for RAD. As a matter of fact, the framework was built by a web agency applying the RAD principle for its own projects. This means that learning to use symfony is not about learning a new language, but more about applying the right reflexes and the best judgment in order to build applications in a more effective way. 
    210  
    211 The symfony project website proposes a step-by-step tutorial illustrating the development of an application in an agile way. It is called askeet (http://www.symfony-project.com/askeet), and is recommended reading for those who want to learn more about agile development. 
     197Vandaag de dag is het zakelijk verkeer sneller en klanten neigen snel hun mening te veranderen terwijl het project vordert. Uiteraard verwachten zij dat het ontwikkelteam op hun wensen inspeelt en snel de structuur van een applicatie wijzigt. Gelukkig maken scripttalen als Perl en PHP het mogelijk snel andere programmeerstrategiën toe te passen, zoals rapid application development (RAD) of Agile software development. 
     198 
     199Eén van de ideeën achter deze methodieken is om snel te kunnen starten met ontwikkelen zodat de klant snel een werkend prototype kan beoordelen en zo kan bijsturen. De applicatie wordt gebouwd via een zich herhalend proces, waarbij steeds steeds rijkere versies qua functionaliteit worden vrijgegeven in korte ontwikkelcycli. 
     200 
     201De gevolgen voor de ontwikkelaar zijn legio. Een ontwikkelaar hoeft niet aan de toekomst te denken wanneer deze een functie invoegt. De gebruikte methode moet zo simpel en duidelijk mogelijk zijn. Dit is mooi weergegeven door de spreuk van het KISS principe: Keep It Simple, Stupid (vert. Houd het simpel, idioot). 
     202 
     203Wanneer de vereisten wijzigen of wanneer een functie is toegevoegd kan het zijn dat (delen van) code deels moet worden herschreven. Dit proces heet refactoring. Dit gebeurt geregeld tijdens het ontwikkelpoces. Code wordt verplaatst naar gelang het doel ervan. Duplicaatcode worden ''refactored'' op een enkele plaats volgens het DRY (Don't Repeat Yourself, vert. Herhaal jezelf niet) principe. 
     204 
     205En om zeker te zijn dat de applicatie blijft draaien terwijl het constant verandert, heeft het een complete set unit tests nodig die geautomatiseerd kunnen worden. Indien goed geschreven zijn unit tests een goede methode om je ervan te verzekeren dat niets kapot is gegaan teerwijl er code is refactored of toegevoegd. Sommige ontwikkelmethodieken benadrukken zelfs dat tests eerst moeten worden geschreven en erna pas de code. Dit wordt test-driven development (TDD) genoemd: door tests aangedreven ontwikkeling. 
     206 
     207Er zijn vele principes en goede ideeën over agile developement. Een van de beste en effectiefste methodieken is Extreme Programming (XP). De literatuur hierover kan je veel leren over het snel en effectief ontwikkelen van een applicatie. Een goed begin is de XP series boeken, geschreven door Kent Beck (Addison Wesley). 
     208 
     209 
     210Symfony is het perfecte RAD gereedschap. Sterker nog, het framework was gebouwd door een webbureau dat het RAD principe gebruikt voor zijn eigen projecten. Dit houdt in dat het leren van Symfony niet zozeer het leren van een nieuwe taal inhoudt, maar meer over het toepassen van goede reflexen en beoordelingsvermogen om applicaties op een effectievere manier te kunnen bouwen. 
     211 
     212De Symfony website biedt een stap-voor-stap handleiding die de ontwikkeling van een applicatie op een snelle/agile wijze beschrijft. Dit betreft de Askeet applicatie ([http://www.symfony-project.com/askeet]) en is verplicht leesvoer voor hen die meer over agile development willen weten. 
    212213 
    213214'''YAML'''