Webontwikkeling is niet slechts één ding. Het omvat meerdere vaardigheden en er zijn verschillende soorten loopbanen binnen de webontwikkelingsruimte. Drie vaak gebruikte termen zijn 'voorkant', 'achterkant' en 'volledige stapel'. Dit zijn de belangrijkste verschillen tussen de drie.
Front-end webontwikkeling
Front-end ontwikkeling , terwijl de componenten altijd veranderen, houdt zich hoofdzakelijk bezig met de naar buiten gerichte delen van een website of webapplicatie.
In de kern gaat het bij front-end development om HTML, CSS en JavaScript.
- HTML : HyperText Markup Language, of HTML, is het belangrijkste structurele onderdeel van alle websites op internet. Zonder dit kunnen webpagina's niet bestaan.
- CSS : CSS voegt stijl toe aan HTML. Ik gebruik graag de analogie dat HTML een gezicht is en CSS is als de make-up.
- JavaScript : JavaScript of JS is de afgelopen jaren aan het evolueren geweest. Met betrekking tot front-end ontwikkeling is JS belangrijk omdat het helpt om webpagina's interactief te maken.
Over het algemeen wordt de voorkant geassocieerd met lay-out en ontwerpprincipes. Front-end ontwikkelaars zijn echter niet per se ontwerpers.
Kortom, front-end ontwikkelaars construeren het uiterlijk - de webpagina's die gebruikers zien. Dit betekent dat de front-end ontwikkelaar rekening moet houden met de leesbaarheid en bruikbaarheid van de site en / of applicatie.
Bovendien draait de front-end op de client - dit wil zeggen de lokale computer van de gebruiker - in de meeste gevallen de webbrowser.
En informatie wordt niet opgeslagen aan de kant van de klant.
Back-end webontwikkeling
Back-end webontwikkeling is wat zich achter de schermen afspeelt. De achterkant maakt de front-end-ervaring mogelijk.
Om dingen gemakkelijk te maken, denk aan de voorkant als het deel van de ijsberg boven het water. Het is wat de gebruiker ziet - de gestroomlijnde site.
De achterkant is de rest van het ijs; het kan niet worden gezien door de eindgebruiker, maar het is het meest fundamentele element van een webapplicatie. Het back-end draait op de server, of, zoals het vaak wordt genoemd, "server-side".
In tegenstelling tot de front-end-ontwikkeling (die voornamelijk HTML, CSS en JavaScript gebruikt), kan back-endwebontwikkeling steunen op een reeks talen en frameworks.
Een paar populaire talen die aan de achterkant worden gebruikt, zijn onder andere:
- Ruby (vaak gebruikt in combinatie met het Rails-framework - AKA Ruby on Rails)
- Python (die vaak wordt gebruikt met het Django-framework aan de achterkant)
- PHP (de populaire WordPress CMS gebruikt PHP op zijn back-end - PHP heeft een paar populaire frameworks, waaronder Laravel)
- Node.js (wordt populairder - dit is een back-endomgeving voor web-apps gebouwd met JavaScript)
Om grootschalige websites en webtoepassingen te laten werken, is het echter meer dan een back-end-taal en een framework. Alle informatie op een website of applicatie moet ergens worden opgeslagen.
Dit is waar databases binnenkomen. Back-end ontwikkelaars behandelen deze ook.
( Opmerking : u kunt een website bouwen zonder een database door alleen HTML en CSS te gebruiken. Dit zou een statische site zijn en zou veel minder flexibel zijn, maar een site die vertrouwt op informatie die dynamisch moet worden gegenereerd - Facebook, Yelp, any e-commerce site - heeft een database nodig.)
Populaire databases zijn onder meer:
- MySQL
- PostgreSQL
- MongoDB
- En anderen
Typisch vereisen bepaalde back-end-talen / frameworks een bepaalde database. Voor het MEAN-volledige stackraamwerk is bijvoorbeeld MongoDB vereist.
Naast het kennen van een back-end-taal / raamwerk en het runnen van databases, moeten back-end-ontwikkelaars ook inzicht hebben in de serverarchitectuur.
Door een server op de juiste manier in te stellen, kan een site snel werken, niet crashen en gebruikers geen fouten geven. Dit valt onder het domein van de back-end ontwikkelaar omdat de meeste fouten optreden aan de achterkant, niet aan de voorkant.
Volledige stapel
Ja, je raadt het al: Full Stack is de combinatie van zowel de voorkant als de achterkant.
Een ontwikkelaar met volledige stack is een manusje-van-alles. Ze zijn verantwoordelijk voor alle niveaus van ontwikkeling, van de manier waarop de server is opgezet tot de ontwerpgerelateerde CSS.
Tegenwoordig is er zo veel dat in webontwikkeling gaat dat het bijna onmogelijk is om beide kanten te hanteren. Hoewel veel mensen kunnen beweren volledige stack te zijn, of in feite zijn, concentreren ze zich meestal nog steeds meer op één kant: de client of de server. (AKA de voorkant of de achterkant.)
Bij kleinere bedrijven / startups is een persoon waarschijnlijker verantwoordelijk voor alle kanten van het webontwikkelingsspectrum. Bij grotere bedrijven werken mensen echter op teams en hebben ze gespecialiseerde rollen - de ene richt zich uitsluitend op de serverarchitectuur, een andere (of een paar mensen) aan de voorkant, enz.
Conclusie
Webontwikkeling heeft veel gezichten en het wordt elke dag meer. Er valt veel te leren, maar voel je niet onder druk om alles tegelijk te leren. Vergeet niet dat je in een werkomgeving meestal in een team met anderen zit. Concentreer u op het verbeteren van uw vaardigheden in één aspect van webontwikkeling per keer. Raak niet overweldigd en je zult een pro zijn voor je het weet.