.NET voor niet-ingewijden: van ASP.NET tot Xamarin
Hoewel de eerste versie van .NET reeds stamt uit 2002, is het pas de laatste jaren aan een steile opmars bezig, en dat merk je ook aan het aantal vacatures waarin .NET ontwikkelaars of architecten worden gezocht. Maar wat is nu precies .NET en hoe zoek en interview je deze programmeurs?
In dit artikel proberen we .NET op een begrijpelijke (lees vereenvoudigde) manier uit te leggen aan niet-technici, met name IT recruiters. Vermits het Microsoft .NET platform constant in beweging is, is het niet de bedoeling om een volledig en definitief beeld te geven van het platform, maar wel een handleiding te zijn voor eenieder die zijn job als recruiter serieus neemt en wilt weten hoe de vork aan de -dot net- steel zit.
Wat is .NET?
.NET is een framework van Microsoft waardoor applicaties kunnen samenwerken, zelfs al zijn ze geschreven in verschillende programmeertalen. Het dot net platform zelf kent zo’n 70 programmeertalen (die dus allemaal door elkaar gebruikt kunnen worden) maar de bekendste en meest gebruikte zijn C# en VB.net. Beiden zijn object georiënteerd (OO).
Vanuit een recruitment standpunt is C# (lees C sharp) de interessantste, omdat VB.net (de dot net versie van Visual Basic) minder populair aan het worden is.
ASP.NET wordt soms ook aanzien als een .NET programmeertaal, maar het is technisch gezien een framework. Meer hierover zo meteen.
ASP.NET bestaat in twee versies:
- enerzijds heb je de klassieke ASP.NET
- anderzijds heb je ook ASP.NET MVC. Deze laatste versie is de interessantste omdat ze meer mogelijkheden biedt en recenter is
Zoals gezegd heb je naast de programmeertalen heb je ook de frameworks die gebruikt worden in een dot net omgeving.
Wikipedia geeft een goede definitie van wat een framework is:
Een softwareframework is een geheel van softwarecomponenten dat gebruikt kan worden bij het programmeren van applicaties. Echter ook afspraken hoe die componenten gebruikt worden binnen een groep ontwikkelaars en welke code-standaarden en bibliotheken gebruikt worden kunnen ook onderdeel zijn van een framework. Vaak besluit een groep ontwikkelaars een toepassing te bouwen met behulp van een bestaand framework. De insteek is dan een uniforme aanpak door te voeren voor het bouwen van software binnen de groep. Ontwikkelaars kunnen dan makkelijker elkaars werk overnemen.
Frameworks
In totaal zijn er 5 belangrijke frameworks binnen het Microsoft platform:
- ASP.NET (zie hierboven)
- Enterprise Library
- ORM: hier binnen heb je twee varianten; enerzijds n hibernate en anderzijds entity framework (dat zelf twe versies kent, nl code first of database first. Database first is de interessantste variant maar ook de moeilijkste om technisch onder de knie te krijgen)
- WCF & Web API: ook hier geldt dat de tweede, Web api, de meest recente technologie is
- Xamarin: een recent framework (bestaat pas sinds 2011) dat voornamelijk gebruikt wordt voor de ontwikkeling van mobiele applicaties op Android, iOS en Windows
Voor de volledigheid geven we ook nog mee dat het weinig zinvol is om op Visual Studio te zoeken als keyword. Visual Studio is het programma dat developers gebruiken om dot net code te schrijven. Je kan het vergelijken met MS Word wanneer je een boek wilt schrijven; niet interessant dus om op te searchen omdat het weinig zegt over het niveau of technische kennis van de kandidaat, enkel dat hij ‘iets’ doet in dot net.
Alles wat we tot hier toe besproken hebben is van belang voor back-end developers. Backend developers zijn programmeurs die code programmeren voor de achterkant van een website, m.a.w. alles wat je als user niet ziet wanneer je een website gebruikt. Dat is bijvoorbeeld het ophalen van gegevens uit een databank (denk aan een webshop), toegangsrechten geven aan verschillende gebruikers, online betalen enz.
Maar voor een webapplicatie of een mobiele heb je natuurlijk ook front-end developers nodig. Dit zijn de programmeurs die ervoor zorgen dat alles wat in de backend gebeurt, op een aantrekkelijke en gebruiksvriendelijke manier wordt getoond aan de users. De look & feel van een applicatie dus. Ook in het .NET platform zit er een stuk dat zich richt op front-end developers.
Belangrijk! Naarmate de technologie vooruitgaat wordt er van een goede backend programmeur ook verwacht dat hij zijn plan kan trekken met front-end ontwikkeling en omgekeerd, hoewel het in de praktijk makkelijker is om een back-end developer te vinden die iets afweet van front-end ontwikkeling dan omgekeerd.
Programmeertalen voor front-end ontwikkeling
Veel gebruikte front-end programmeertalen zijn Java Script, HTML en CSS.
Javascript de programmeertaal van de webbrowser. Met JavaScript kan je een website dynamisch maken door bv. elke 3 seconden een nieuwe afbeelding te laden, gegevens naar de server te zenden zonder de pagina te moeten ‘refreshen’ enz. Javascript heeft dus (ondanks de misleidende naam) niets te maken met die andere programmeertaal Java!
HTML zorgt voor de structuur (opbouw) van je website en laat toe hyperlinks te volgen.
CSS is de programmeertaal die ervoor zorgt dat je website er mooi gaat uitzien, met lettertypen, kleuren e.d. volgens je eigen smaak.
Net zoals bij back-end ontwikkeling vind je ook hier een aantal frameworks terug die ervoor zorgen dat developers sneller en eenvoudiger kunnen programmeren.
Frameworks voor front-end
- JQuery (dit is de oudste van het lijstje)
- Bootstrap
- Angular JS
- Knockout
We weten al dat er twee type developers zijn, front-end en back-end programmeurs, maar dat de beste kaas hebben gegeten van beide, maar daar eindigt het niet. Tegenwoordig wordt er van developers ook verwacht dat zij vertrouwd zijn met databases en code kunnen schrijven die toelaat om informatie uit databanken op te halen en te linken aan een applicatie.
De bekendste databanken zijn SQL en Oracle (relationele databanken), maar tegenwoordig hoor je ook veel spreken van NO SQL.
Wat is NO SQL?
No SQL is een verzamelnaam voor niet-relationele databanken die vooral gebruikt worden voor Big Data en real-time webapplicaties (denk aan Amazon, Facebook e.a.). Deze type databanken kunnen dus gigantisch veel informatie aan op een snelle manier.
Vermits er een hele hoop NO SQL databanken bestaan, probeert men ze vaak volgens type op te delen:
- Column: Cassandra, Druid, HBase, Vertica, Accumulo
- Document: Mongo DB, Apache CouchDB, Clusterpoint, Couchbase, DocumentDB, HyperDex, Lotus Notes, MarkLogic, OrientDB, Qizx, RethinkDB
- Key-value: Redis, Aerospike, CouchDB, Dynamo, FairCom c-treeACE, FoundationDB, HyperDex, MemcacheDB, MUMPS, Oracle NoSQL Database, OrientDB, Riak
- Graph: AllegroGraph, InfiniteGraph, MarkLogic, Neo4J, OrientDB, Virtuoso, Stardog
- Multi-model: Alchemy Database, ArangoDB, CortexDB, FoundationDB, MarkLogic, OrientDB
Om de informatie vanuit deze databanken te analyseren kan je gebruik maken van technologie zoals Hadoop of Spark.
Conclusie:
Het .NET platform is in volle beweging en de markt wordt steeds veeleisender naar developers toe. Het is belangrijk om als IT recruiter te weten welke technologieën vandaag het meest gebruikt worden en welke stilletjesaan op hun retour geraken. Hopelijk helpt dit overzicht je reeds op weg!
Hulp nodig om sneller bedrijven/kandidaten die .NET gebruiken te vinden? Bekijk onze Hulpmiddelen voor Recruiters!
Met dank aan Koen J voor de heldere uitleg