"Aangenaam kennis te maken! Wat doe jij? Programmeur? He wat grappig, ik ben ook programmeur!" Blikken van herkenning. "In welke taal?" Toen werd het ineens ingewikkeld. "Taal?! Ik hou me bezig met muziek." Wat bleek: de ander was programmeur van een popzaal. Ok oeps, totaal ander beroep! Dan ben je totaal niet met code bezig, maar met het boeken van bands. Dit gesprek maakte ik een tijd geleden mee toen ik zelf nog geen programmeur was :). Nu ik zelf ook sinds 1,5 jaar programmeur ben - en omdat ik veel vrienden heb die werkzaam zijn in de muziek -, probeer ik zo toegankelijk mogelijk uit te leggen wat ik doe. Ik zeg bijvoorbeeld 'ik maak websites' of 'ik ben software developer'. Mensen hebben dan een algemeen beeld van je doet. Maar als je het precies wilt weten, zou ik zeggen: 'frontend ontwikkelaar'. Frontend versus backend
Zodra ik over frontend en backend begin, begint er vaak een lichte vertwijfeling in de ogen van mijn gesprekspartner te ontstaan. Wat is dat? Ik leg het je graag uit! Er is namelijk een verschil tussen frontend en backend development. Je kunt je specialiseren of je bezig houden met allebei. In dat laatste geval ben je een full-stack developer. Stel je hebt een simpele webshop. Wat is daar dan frontend van en wat is backend? Jij gaat online naar de webshop. In je browser(bijv Chrome) wordt alle code van de frontend gedownload. Hierdoor kun je de pagina bekijken. Alle acties die je kunt uitvoeren en alles wat je ziet op de pagina, is in eerste instantie frontend. Maar dan ga je een account aanmaken of wil je een bestelling plaatsen. Hiervoor moet informatie worden opgeslagen. Je zou kunnen zeggen; zodra er informatie voor langere tijd wordt opgeslagen, heb je aan de frontend niet meer genoeg. Stel dat je een account wilt aanmaken, dan stuurt de frontend een bericht naar de backend, bijvoorbeeld 'nieuwe user aanmaken, usernaam=MysteryShopper92'. Dat krijgt de backend binnen. Die gaat het verwerken en zorgt ervoor dat jij als user wordt opgeslagen. Zodra dat gelukt is, geeft de backend een bericht terug aan de frontend met een melding 'gelukt', of iets als 'gebruiker is al bekend'. De frontend laat deze melding dan weer zien in het scherm! Als frontend developer houd je je bezig met de interactie van een gebruiker en het visuele aspect van de applicatie. En als backend developer ben je meer bezig met het verwerken van data en het opslaan hiervan in een database. Ok, dit is misschien te simpel gesteld, maar het verschil is hopelijk duidelijk.
Funfacts
- Doordat browsers verbeterd zijn en internet sneller is geworden, kan de code van de frontend nu uitgebreider en complexer gemaakt worden ten opzichte van vroeger. Hierdoor krijg je betere websites en is het werk als frontend developer ook een stuk interessanter!
- Als een website is opgezet met een losse backend en frontend, kun je makkelijk één van de twee compleet vernieuwen.
- Er is een race gaande [link: https://stateofjs.com/2017/front-end/results] tussen frontend frameworks, waarmee je een heleboel snel en makkelijk in elkaar kunt zetten. React(gemaakt door Facebook) lijkt het te winnen.
Frontend
Talen: Javascript (voor acties), html (plaatsing op pagina), CSS (styling)
Code draait: in browser
Ook wel: client-side, Graphical User Interface (GUI)
Developer werkt nauw samen met: User Experience (UX) designer, backend developer
Backend
Talen: Java (of C#, Phython, PHP), SQL (database aanpassingen)
Code draait: op server
Ook wel: server side
Developer werkt nauw samen met: frontend developer, analist, software architect
Momenteel werk ik als fullstack developer, want ik doe alles; ik pas databases aan, schrijf code in Java en maak een frontend met Javascript (en Typescript en Angular). Heel leuk, want zo leer ik goed hoe het hele proces werkt. Ik heb tot nu toe het meeste ervaring opgedaan met frontend en dit vind ik ook het leukst. Aangezien er veel nieuwe ontwikkelingen gaande zijn met frontend frameworks, wil ik me hier in de toekomst ook in blijven verdiepen. Ik kan hier mijn liefde voor gebruiksvriendelijkheid, design en puzzelen perfect in kwijt!