Onderzoek tools & middelen
Analysefase
Aanleiding
Er zijn een heleboel tools en middelen beschikbaar om een product te ontwikkelen, denk hierbij aan frameworks in verschillende talen, CSS preprocessors, versiebeheer en ga zo maar door. Om ervoor te zorgen dat de productentool van Buro 3 zo optimaal mogelijk ontwikkeld wordt, ga ik onderzoek doen naar verschillende tools en middelen. De hoofdvraag bij dit onderzoek luidt als volgt:
“Welke tools en middelen zijn er op de markt, wat zijn de voor- en nadelen ervan en op welke manier kunnen deze tools en middelen een rol spelen in de productentool van Buro 3?”
Aanpak
Allereerst heb ik de tools en middelen onderverdeeld ik categorieën. Hierbij ben ik begonnen met ontwikkelomgevingen, vervolgens heb ik kort het verschil tussen front-end en backend uitgelegd en heb ik front-end (JavaScript) frameworks onderzocht. Daarna heb ik backend frameworks onderzocht, vervolgens CSS preprocessors en overige tools en hulpprogramma's en ik heb het onderzoek afgesloten met een kort onderzoek naar versiebeheer.
Uit deze verschillende onderzoeken zijn conclusies gekomen die ik nog eens heb samengevat in de uiteindelijke conclusie van dit onderzoek. Hieronder heb ik in het kort de resultaten van de onderzoeken beschreven.
Resultaten
Voor elk onderzoek heb ik kort de aanpak en resultaten beschreven. Daarnaast is er ook een conclusie te vinden, die vervolgens weer meegenomen is in de uiteindelijke conclusie van dit onderzoek.
Ontwikkelomgevingen
Voor het onderzoek naar ontwikkelomgevingen heb ik een aantal van de bekendste gepakt. Hierbij heb ik de features, voor- en nadelen van deze tekst editors/IDE's beschreven. Tools die tijdens dit onderzoek zijn onderzocht, zijn onder andere Visual Studio Code (VS Code), Atom, Sublime Text en PhpStorm. In mijn conclusie ben ik uiteindelijk tot de keuze voor Visual Studio Code gekomen, omdat deze IDE erg snel en makkelijk in gebruik is en door de ingebouwde terminal én git integratie heb je alle benodigdheden om aan een project te werken.
Daarnaast heb ik al veel ervaring in het gebruik van deze IDE en weet ik welke plugin's handig kunnen zijn om nog sneller te kunnen ontwikkelen. VS Code is een gratis IDE, waardoor ik deze ook op de iMac op kantoor kan gebruiken.
Verschil front- en backend
Voordat ik onderzoek ga doen naar de verschillende front- en backend frameworks, is het belangrijk dat ik weet wat het verschil tussen de front-end en backend van een webapplicatie is. Ik heb beschreven waarvoor een front-end en backend developer verantwoordelijk is en welke programmeer-/codeer-talen deze developers gebruiken.
Front-end (JavaScript) frameworks
Met een front-end JavaScript framework kan een webapplicatie interactief gemaakt worden. Frameworks interacteren met de DOM, terwijl bijvoorbeeld jQuery elementen manipuleert door ze aan te spreken in de DOM. Allereerst heb ik onderzocht welke frameworks het meeste gebruikt worden of waar de meeste interesse in is. Vervolgens heb ik twee frameworks, namelijk React en Vue, onderzocht en de voor- en nadelen van deze twee beschreven.
Uiteindelijk heb ik voor de ontwikkeling van de productentool van Buro 3 gekozen voor Vue, omdat ik met mijn huidige kennis al aan de slag kan met Vue en dit ook een makkelijk framework is om te gebruiken in kleinere projecten.
Backend frameworks
Net zoals met het onderzoek naar front-end frameworks, heb ik ook onderzoek gedaan naar verschillende backend frameworks en hierbij de voor- en nadelen van deze frameworks beschreven. De frameworks die ik heb onderzocht zijn Django, Ruby on Rails en Laravel. De conclusie die uit dit onderzoek is gekomen, is dat ik voor de ontwikkeling van de productentool geen gebruik ga maken van een backend framework.
Ik ben tot deze conclusie gekomen, omdat ik geen tijd wil verliezen met het uitvogelen van de werking van een backend framework en omdat de productentool geen geavanceerde functies bevat, is het overbodig om een backend framework te gebruiken. Daarnaast kan ik altijd gebruik maken van een CMS zoals WordPress om functies zoals een inlog af te handelen.
CSS preprocessors
Ook voor CSS zijn er “uitbreidingen” waarmee je gebruik kunt maken van variabelen, functies en andere handige features. Deze preprocessors lijken allemaal erg veel op elkaar en werken bijna allemaal hetzelfde. In het voorbeeld hieronder zie je het verschil tussen SCSS en CSS. Je ziet dat je in SCSS de CSS kan nesten, waardoor je uiteindelijk minder code hoeft te schrijven.
Voor dit project ga ik gebruik maken van Less, omdat ze bij Buro 3 al ervaring mee hebben en ik dus altijd iemand kan aanspreken voor hulp. Omdat Less erg lijkt op SCSS, wat ik zelf al jaren gebruik, kan ik met de kennis die ik hierover bezit makkelijk aan de slag.
Tools & hulpprogramma's
Tijdens de ontwikkeling van de productentool kan ik gebruik maken van een heleboel andere handige tools en hulpprogramma's. Voor het onderzoek heb ik er een aantal uitgelicht, maar er zijn er nog veel meer te vinden die kunnen helpen tijdens verschillende stadia van een project. Zo kan op ‘Can I Use’ de CSS ondersteuning voor verschillende browsers gezocht worden en met een code validator zoals W3C kan gecheckt worden of je code voldoet aan de standaard regels.
Daarnaast kun je met programma's zoals PageSpeed Insights en Lighthouse analyseren of je website goed presteert op Google en toegankelijk is voor gebruikers. Je krijgt dan scores voor verschillende categorieën zoals SEO en performance en ze geven ook aan op welke punten de website verbeterd kan worden en op welke manier.
Versiebeheer
Als laatste heb ik kort aangegeven wat versiebeheer is en wat ik ga gebruiken. Dit is maar een kort onderzoek geweest, omdat ze binnen Buro 3 gebruik maken van Bitbucket, waardoor het voor mij logisch is dat ik ook gebruik ga maken van dit programma. Ik heb al vaker met dit programma gewerkt en ben er dus al redelijk bekend mee, er is verder geen uitleg nodig om met Bitbucket aan de slag te gaan.
What's next
De volgende stap in dit project is het afronden van de interviews en het gebruikersonderzoek. Met de resultaten van dit onderzoek en de andere onderzoeken kan ik vervolgens een uitgebreide MoSCoW opstellen en onderbouwen.
Bijgevoegde bestanden
Competenties
Gekoppelde competenties
Toepassen Kennis en Inzicht Analyse Advies OordeelsvormingAlle competenties
Bekijk alle comptentiesConclusie
Uit de verschillende onderzoeken zijn verschillende conclusies gekomen. Qua IDE ga ik gebruik maken van Visual Studio Code. Niet alleen heb ik al ervaring met deze IDE, er zit ook git ingebouwd en heeft een ingebouwde terminal.
Mijn keuze voor front-end framework gaat uit naar Vue, aangezien ik met de kennis die ik op dit moment bezit al aan de slag kan met dit framework. Daarnaast heeft het een erg uitgebreide documentatie waarin veel voorbeelden staan en is dit framework ideaal voor kleinere applicaties omdat er geen uitgebreide code voor nodig is om een Vue project op te zetten. Ook kan Vue ook op een later moment toegevoegd worden aan een project.
Voor dit project ga ik geen gebruik maken van een backend framework. Niet alleen heb ik maar beperkte tijd om te ontwikkelen, waardoor ik dus minder tijd heb om uit te vogelen hoe de verschillende frameworks werken, maar de tool heeft in dit stadium nog geen geavanceerde functies. Dit betekent niet dat er in de toekomst geen gebruik gemaakt kan worden van een backend framework, maar voor deze versie is het nog niet van belang.
Qua CSS preprocessor zou ik zowel Sass als SCSS of Less kunnen gebruiken. Ik ga voor dit project sowieso gebruik maken van een CSS preprocessor, omdat je dan gebruik kan maken van features zoals variabelen, mixins of functies binnen je CSS. Daarnaast heb ik al ervaring met Sass/SCSS en gebruiken ze binnen Buro 3 voor alle projecten Less.
De tools en hulpprogramma’s die ik heb benoemd zullen misschien niet allemaal evenveel of überhaupt gebruikt worden, maar kunnen houvast bieden wanneer ik tegen problemen aanloop of wanneer ik inspiratie wil opdoen. Daarnaast kunnen ze helpen bij het optimaliseren van de tool.
Als laatste ga ik Bitbucket gebruiken als versiebeheer voor dit project. Deze tool wordt op dit moment al door Buro 3 gebruikt voor alle lopende en afgeronde projecten en dit was daarom een logische keuze om ook te gebruiken tijdens de ontwikkeling van de productentool.
Retrospective
Het onderzoek dat ik heb gedaan is erg uitgebreid en sommige onderdelen waren misschien overbodig. Ik heb bijvoorbeeld veel tijd gestoken in het onderzoek naar verschillende ontwikkelomgevingen, terwijl dit niet zo belangrijk is voor de ontwikkeling van de productentool. Ik ben daarnaast wel blij met het onderzoek naar de front-end en backend frameworks en de resultaten die hieruit zijn gekomen.
Daarnaast is het nu ook voor andere werknemers duidelijk welke tools ik ga gebruiken en waarom ik gebruik maak van deze tool. Hierop kan ik altijd terugvallen wanneer ik hier vragen over krijg.
Reviews, opmerkingen en feedback
Schol,David D.J.E.
Begeleider
Onderzoek tools & middelen V1.0
15-03-2021
Wesley
Creator