Microsoft is al een tijdje bezig met .NET Core, de opvolger van .NET Framework. .NET Core staat tegenwoordig ook wel bekend als .NET 7. Waarbij het versienummer ieder jaar in november verhoogd als gevolg van een grote update. Maar wat is het nou precies, en waarom zet Microsoft hier zo zwaar op in? En waarom zou je het gebruiken in plaats van het traditionele 4.x framework? In deze blog ga ik daar verder op in.
Microsoft zelf gebruikt dit handige plaatje om de verschillen uit te leggen:
.NET Framework is het volledige traditionele .NET framework die standaard meekomt met Windows. Nieuwe versies komen met Windows Updates mee of zijn handmatig te installeren. Sites worden vrijwel altijd gehost in IIS, wat alleen beschikbaar is op Windows en Windows Server.
.NET Core is het nieuwe moderne .NET. Een .NET Core applicatie is inclusief het framework, dat betekent dat updates hiervan via de app zelf gaan en niet via het systeem. Het is een crossplatform voor Windows, Linux en MacOS. Visual Studio is ook beschikbaar voor MacOS. Daarnaast kun je Visual Studio Code gebruiken.
Xamarin is voor mobiele apps op iOS, Android en Windows Phone.
Voordelen van .NET Core
- Performance
Her platform is gemaakt met de focus op performance. Er zijn erg veel blogs over bedrijven die grote applicaties hier naartoe hebben overgezet en daar grote verbeteringen hebben gezien. Zo heeft Microsoft in het verleden Bing gemigreerd naar .NET Core 2.1 en zag daarbij een verbetering van maar liefst 34%! Daarnaast heeft ook StackExchange (eigenaar van StackOverflow) zijn sites gemigreerd. Inmiddels zijn we een aantal jaar verder en met iedere latere versie is de performance nog beter geworden.
- Cross-platform
.NET Core is crossplatform. Dat betekent dus dat het ook beschikbaar is voor MacOS en Linux. Ook heeft dit als bijkomend voordeel dat je niet meer vast zit aan IIS voor je hosting. Linux servers zijn een stuk goedkoper dan Windows servers, waardoor je daarop kosten kan besparen. Wat betreft ontwikkeling zou je nu ook gebruik kunnen maken van Visual Studio Code als alternatief voor Visual Studio. Zo zou je dus ook met .NET Core kunnen ontwikkelen op Linux.
- Future proof
Microsoft geeft al jaren aan dat ze aanraden om nieuwe projecten op .NET Core te maken in deze blogpost. Ook vertellen ze dat ze het .NET Framework gewoon blijven supporten, maar dat ze toch meer gaan focussen op .NET Core. Dit innoveert simpelweg veel sneller dan .NET Framework en Framework is lastig te updaten voor Microsoft, omdat het los staat van een applicatie en dus via systeemupdates geïnstalleerd moet worden.
Ook zijn alle nieuwe ontwikkelen binnen de Microsoft stack makkelijk te gebruiken met .NET Core, en nog maar zelden met .NET Framework. Wil je bijvoorbeeld Machine Learning gebruiken met behulp van ML.NET? Dat zal alleen mogelijk zijn met .NET Core.
Nadelen?
In het geval je op dit moment en nieuw project gaat ontwikkelen zijn er vrijwel geen nadelen te benoemen voor gebruik van .NET Core. Let wel goed op dat de server waarop je het product gaat hosten ook .NET Core ondersteunt.
In het geval je overweegt een bestaande .NET Framework applicatie te upgraden zijn er wel een aantal aandachtspunten.
- Compatibility
In het geval je overweegt je Framework app te upgraden naar Core kan je tegen compatibility problemen aanlopen, met name wanneer je NuGet pakketjes gebruikt. Het kan zijn dat de ontwikkelaars van die pakketjes niet langer doorontwikkelen. Er zal dan geen Core versie beschikbaar zijn van het pakketje. Ook kan je tegen de nare verrassing aanlopen dat oudere pakketjes die het toch nog wel doen, niet blijken te werken op je Linux server. Gelukkig zijn er vaak wel alternatieven ontwikkeld voor de meeste pakketjes.
- Ontwikkelinspanning
De upgrade naar .NET Core kan een arbeidsintensieve klus zijn, afhankelijk van de omvang van je project. Microsoft heeft wel de Upgrade Assistent uitgebracht om deze klus een stuk makkelijker te maken. Maar ook na het gebruik van de tool zal je zien dat je project nog veel build errors bevat. En na het verhelpen van deze errors is er een aardig risico op runtime errors. Het kan dus erg lastig inschatten zijn hoe lang de doorlooptijd van de upgrade zal zijn.
En wat is dan de verhouding tussen .NET Framework / .NET Core / .NET 7?
In 2002 heeft Microsoft het .NET Framework uitgebracht. In 2019 heeft Microsoft hier de laatste versie van uitgebracht in de vorm van 4.8. In 2014 heeft Microsoft de eerste versie van .NET Core uitgebracht. Deze diende als een upgrade voor het .NET Framework. Core is vanaf de grond opnieuw opgebouwd, maar nu opensource en cross-platform.
Er is dus een periode geweest waarin Framework en Core beide updates kregen van Microsoft. Core heeft versies 1 t/m 3.1 gehad in de periode 2016-2019. Omdat er in 2020 geen nieuwe Framework versie meer kwam heeft Microsoft besloten de naam strak te trekken en door te gaan met alleen ‘.NET’. In 2020 kwam dus .NET 5 uit, en je zou verwachten dat dat het vervolg is op Framework 4.8, maar dat is niet waar. .NET 5 is het vervolg op Core 3.1 en onder .NET 5 mag je dus nog steeds .NET Core verstaan.
Microsoft brengt nu ieder jaar 1 grote release uit waarbij het versienummer wordt verhoogd. Nu in 2023 zitten we op .NET 7 en later dit jaar zal .NET 8 uitkomen.
Ook goed om te weten is dat LTS voor ‘Long term support’ staat. Sommige .NET versies zijn LTS en andere niet. Een LTS versie is altijd de veilige keuze omdat deze jaren lang zal worden ondersteund door Microsoft met o.a. security patches. Wil je toch de laatste versie gebruiken maar is dit geen LTS versie? Wees je er dan bewust van dat het project mogelijk binnen een jaar alweer geüpdatet moet gaan worden naar de nieuwste versie.
Conclusie
.NET Core is een mooi framework en Microsoft blijft het op een hoog tempo doorontwikkelen. Als je binnenkort voor de keuze staat tussen .NET Framework en Core, dan zou ik toch voor dit laatste kiezen, zeker met alle voordelen die daarbij komen kijken. Na wat review en testen hebben wij binnen Growteq ook besloten de volgende .NET applicaties in Core te gaan werken. Inmiddels draaien wij al jaren lang met succes op Core!
Meer weten over onze oplossingen?
Onze consultants hebben veel ervaring binnen een grote verscheidenheid aan branches.
Eens verder brainstormen over de mogelijkheden voor jouw organisatie?
Maak kennis met onze specialist Arnoud van der Heiden.
Wellicht herkent u een van deze vraagstukken.
Inmiddels hebben wij ruime ervaring opgedaan met Business Intelligence. Wij staan ook u graag te woord bij vragen of opmerkingen.
Business Intelligence (BI) is het technologie gedreven proces van gegevensanalyse dat bedrijven in staat stelt om waardevolle inzichten te halen uit hun gegevens. BI-oplossingen kunnen helpen bij het verzamelen, analyseren en presenteren van bedrijfsgegevens om betere beslissingen te nemen en concurrentievoordeel te behalen.
BI richt zich op het verzamelen, analyseren en presenteren van historische en huidige gegevens om bedrijfsprestaties te meten en te rapporteren. BA daarentegen richt zich meer op het voorspellen van toekomstige trends en mogelijkheden door geavanceerde analysemethoden en -modellen toe te passen op gegevens.
Het gebruik van BI-oplossingen kan bedrijven helpen om hun prestaties te verbeteren, betere beslissingen te nemen en concurrerend te blijven. Het kan hen helpen om inzicht te krijgen in klantgedrag, trends te identificeren, kosten te verlagen, de efficiëntie te verbeteren en nieuwe zakelijke kansen te ontdekken.
Growteq biedt verschillende BI-oplossingen aan, waaronder Power BI van Microsoft, QlikView en Qlik Sense, Tableau en SAP BusinessObjects. Elk van deze oplossingen heeft zijn eigen sterke punten en functies, en kan worden aangepast aan de behoeften van een bedrijf.
Ja, Growteq kan bedrijven helpen bij het implementeren van BI-oplossingen door het bieden van strategisch advies, consultancy en implementatiediensten. Ze werken samen met klanten om oplossingen op maat te maken die aan hun specifieke behoeften voldoen en hen helpen om waarde te halen uit hun gegevens.
De kosten van BI-oplossingen kunnen variëren afhankelijk van de grootte van het bedrijf, de omvang van de implementatie en de gekozen oplossing. Growteq werkt samen met klanten om oplossingen te vinden die passen bij hun budget en behoeften. De voordelen van het gebruik van BI-oplossingen kunnen echter vaak opwegen tegen de kosten, omdat ze bedrijven kunnen helpen om hun prestaties te verbeteren en hun concurrentievoordeel te behalen.
De implementatie van een BI-oplossing omvat meestal de volgende stappen:
- Definiëren van de doelstellingen en vereisten van het BI-project
- Verzamelen en integreren van relevante gegevens uit verschillende bronnen
- Het ontwikkelen van een datawarehouse om de gegevens op te slaan in een logisch model
- Implementatie van dashboards, KPI’s en visualisatie voor gegevenspresentatie
- Training van medewerkers
- Continue monitoring en optimalisatie van de BI oplossing
BI maakt verschillende soorten analyses mogelijk, waaronder:
- Descriptive analyse: Hierbij worden historische gegevens gebruikt om te begrijpen wat er in het verleden is gebeurd.
- Diagnostische analyse: Hierbij wordt onderzocht waarom bepaalde gebeurtenissen of trends zich hebben voorgedaan
- Voorspellende analyses: Hierbij worden gegevens en modellen gebruikt om toekomstige gebeurtenissen en trends te kunnen voorspellen
- Prescriptive analyse: Hierbij worden aanbevelingen gedaan over mogelijke acties op basis van analyse en voorspelling
Enkele populaire BI-tools zijn o.a.:
- Microsoft Power BI
- QlikView
- Qlik Sense
- Tableau
- MicroStrategy
- IBM Cognos
Business Intelligence (BI) kan gegevens uit verschillende bronnen gebruiken, zoals:
- Interne databases en systemen (bijv. CRM-systemen, ERP-systemen)
- Externe gegevensbronnen (bijv. marktonderzoekgegevens, sociale media)
- Gestructureerde gegevens (bijvoorbeeld databases en spreadsheets)
- Ongestructureerde gegevens (bijv. tekstuele gegevens, e-mails, logboeken etc.)
- Big data-bronnen (bijv. sensorgegevens, weblogs)
Growteq heeft ervaring met al deze bronnen.
Selfservice BI verwijst naar het vermogen van niet-technische gebruikers om zelfstandig gegevens te verkennen, te analyseren en rapporten en dashboards te maken met behulp van gebruiksvriendelijke BI-tools. Enkele voordelen van selfservice BI zijn o.a.:
- Verminderde afhankelijkheid van IT-afdelingen voor rapportage en analyses
- Snellere besluitvorming doordat gebruikers direct toegang hebben tot benodigde gegevens
- Verhoogde flexibiliteit en aanpasbaarheid bij het verkennen van gegevens
- Stimuleert gegeven gestuurde cultuur binnen de organisatie