Home/Nieuws en kennis/Nieuws en blogs/Top 5 softwaretrends voor 2021!

Top 5 softwaretrends voor 2021!

Top 5 software development trends

De wereld van softwaretools, frameworks en ontwikkelmethodes verandert razendsnel. Wat vandaag hypermodern is, is morgen alweer hopeloos verouderd. Sommige tools en talen lijken uit het niets te komen, maar zijn zo weer vergeten. Anderen zoals Java, C++, PHP en SQL blijven dan weer jarenlang het centrum van het universum. In zo’n dynamisch en veranderlijk speelveld is het lastig te voorspellen welke ontwikkelingen de komende jaren op ons afkomen. Toch zijn er een aantal tools en omgevingen die je volgens ons in 2021 niet uit het oog mag verliezen. We zetten ze voor jou op een rij in dit trendrapport.

Laravel

Laravel is niet de eerste poging om het probleem van boilerplate code voor ontwikkelaars op te lossen met oplossingen voor inherente taken. Maar waar veel van deze initiatieven zoals Kohana strandden, wordt Laravel inmiddels door 50 % van de PHP-ontwikkelaars gebruikt.

Laravel is een gratis, open source PHP-webframework. Taylor Otwell ontwikkelde Laravel in 2011 als uitgebreider (maar toch eenvoudiger!) alternatief op het Codelgniter framework. Het is gemaakt voor een snelle ontwikkeling van webapplicaties volgens de MVC structuur (Model, View en Controller) en gebaseerd op Symfony componenten. De nieuwste versie dateert van september 2020 en ondersteunt ontwikkelaars met een constante release van nieuwe modules. Laravel heeft een aanzienlijk scala aan basistools met onder andere API-authenticatie, routes en two-factor authenticatie klaar voor gebruik.

In tegenstelling tot voorganger Symphony, met de rigide controle over structuren en coderingspatronen, is Laravel een stuk flexibeler. Met Laravel ga je direct naar bedrijfslogica en krijg je in een korte tijd een werkend prototype voor de klant. Ontwikkelaars hebben toegang tot een uitgebreide community, een groot aantal gratis handleidingen en tutorials.

Dit alles zorgt voor een stijgende populariteit van Laravel en we verwachten dat deze groei zich ook in 2021 verderzet. Het bewijs? Zet het aantal installaties van Laravel (110.666.344) en Symfony (54.016.694) maar even naast elkaar.

Java

Wanneer applicaties asynchroon op veranderingen reageren, ontwikkelen en gebruiken we vanuit development- en frameworkperspectief een reactieve aanpak. Nu de front-end applicaties actief gebruik maken van de RxJS-bibliotheek, heeft Java een analoog van RxJava. RxJava is een library die asynchrone code beter leesbaar en onderhoudbaar wil maken. Rx gebruikt hiervoor dezelfde syntaxis voor actiebeschrijvingen als in functioneel programmeren zoals Java Streams.

Rx heeft een groot aantal voordelen:

• Het vermijdt callback hell
• Het is veel eenvoudiger om asynchroon / threaded te werken
• Veel operatoren vereenvoudigen het ontwikkelen
• Het is heel eenvoudig om gegevensstromen samen te stellen
• Complexe threading wordt heel gemakkelijk
• Je krijgt een veel schonere, leesbare codebasis
• De back-pressure is eenvoudig te implementeren.

Er zijn nog steeds aan aantal valkuilen die je moet omzeilen wanneer je met Rx aan de slag gaat. Gebruik je het echter op de juiste manier, dan produceer je minder én schonere code. Minder code betekent ook minder bugs, wat natuurlijk een positief effect heeft op jouw ontwikkelsnelheid.

Hoe zit dat nu met front-end development

In de front-end ontwikkeling bleek de Closure Library van Google al snel geen veelbelovende concurrent meer. De populariteit van React en aan dit ecosysteem gerelateerde technologieën zien we wel toenemen. Denk maar aan Cypress voor integratietests en graphQL als een systeem voor requests en communicatie tussen API’s. Eigenlijk zijn dit al vrij populaire technologieën, maar er zijn ook een aantal nieuwe tools in React zoals bijvoorbeeld de Fiber-engine waarmee we afbeeldingen kunnen renderen op basis van ruwe data.

Fiber biedt developers de tools om 3D snel en eenvoudig te implementeren. 3D bestaat natuurlijk al heel lang, bijvoorbeeld in de vorm van webGL. Maar dit is erg moeilijk te ontwikkelen. Met Fiber is het een stuk eenvoudiger, waardoor ontwikkeling toegankelijker wordt. Wordt webdesign binnenkort wel driedimensionaal en ruimtelijk? Wellicht, maar dat zal zeker nog niet het volgende jaar gebeuren. Want naast de verdere ontwikkeling van hardware zoals telefoons is er ook nog een fikse ontwikkeling van snelheid en performance vereist.

Wat zijn nu de meest interessante frameworks voor front-end ontwikkelaars?

1. Vue JS framework versie 3. Het lijkt erop dat deze versie niet achterwaarts compatibel is met de tweede versie, die veel mensen gebruikten. Maar de ontwikkelaars hebben hard gewerkt en de applicaties blijken niet alleen lichter te zijn (bijna 50 %), ze zijn ook sneller. Bovendien zijn er nieuwe functies uit verschillende frameworks toegevoegd. Niet veel mensen hebben het al uitgeprobeerd, maar de discussies worden gevoerd en we willen er zeker uitgebreid op ingaan.

2. Het Svelte-framework wordt langzaam maar zeker populair. Het is anders ontworpen (in vergelijking met bijvoorbeeld React), het werkt gemakkelijker en sneller. IT’ers gebruiken het vaak om losstaande onafhankelijke modules te ontwikkelen die aan een bestaand project kunnen worden gekoppeld. Het is onwaarschijnlijk dat het de meest populaire frameworks zoals React en Angular zal inhalen, maar de populariteit groeit gestaag. One to watch!

Mobiel

Kotlin en Swift hebben als programmeertaal in mobiele ontwikkeling zo’n indruk gemaakt op de ontwikkelaars dat ze nog lang de standaarden zullen blijven.
Swift heeft op een unieke wijze de wereld van iOS-ontwikkeling veroverd. Een hoge snelheid in development, prestaties, steeds meer tools en een groeiende community lieten heel weinig ruimte over voor Objective-C-ontwikkeling. En ja, we kennen alle debatten tussen Java- en Kotlin-supporters in Android-ontwikkeling. Meestal is de keuze individueel. In de praktijk moet je echter voordat je een taak op je neemt, deze evalueren en een aanpak en manieren kiezen om deze uit te voeren. Pas hier wordt duidelijk welke taal je beter kunt gebruiken. Met alle voor- en nadelen in de argumenten tussen Java en Kotlin, fascineert in Kotlin alleen de benadering: Kotlin geeft een frisse kijk op de wens om ontwikkelaars te voorzien van eenvoudige en handige tools die niet veel code vereisen. Dit is een belangrijke factor die de tevredenheid van ontwikkelaars beïnvloedt.

Maar er zijn in mobiele ontwikkeling zeker nog enkele andere interessante tools om in de gaten te houden:

1. Koin: Een pragmatisch lichtgewicht dependency injection framework voor Kotlin-ontwikkelaars. Dit is een soort vervanging voor Dagger2. Dagger werd te zwaar en de code zelf overbodig. Je schrijft hetzelfde in Koin, en bespaart zo tijd.

2. Flipper: Erg handig bij de ontwikkeling van grote projecten. Het is platformonafhankelijk, dus voor zowel iOS als Android en bovendien voor ReactNative. Het maakt onmiddellijk alle crashes, logboeken en netwerkverzoeken zichtbaar. Het bevat ook veel native-specifieke dingen, zoals bronnen, gedeelde voorkeuren enzovoort.

3. Wireless debugging is in Android 11 een erg handige tool die een nieuwe methode biedt om vanaf je werkplek draadloos je app te implementeren en te debuggen.

Machine Learning

Er zijn een hoop scenario’s te bedenken waarin machine learning enorm kan helpen. Bijvoorbeeld het voorspellen van machinestoringen waarmee je productiestops voorkomt. Of grijp bijtijds in bij een toekomstig tekort aan onderdelen waardoor de productie automobielindustrie niet tot stilstand komt. En wat te denken van Domino’s Pizza? Ze optimaliseerden met behulp van kunstmatige intelligentie en machine learning de online processen en de processen op maar liefst 4.000 locaties. Ze realiseerden een hogere klanttevredenheid en hun bezorgers ontvingen meer fooi.

Deze succesverhalen zorgen voor een stijgende interesse op het gebied van machine learning, Software Development Kits en platforms. Grote spelers als Amazon, Microsoft Azure, Google Cloud AI, IBM Watson spelen daar handig op in met Machine Learning as a Service.

Er zijn ook kanshebbers zoals Deep Cognition en FloydHub. Zij combineren state-of-art frameworks en bibliotheken en bieden de mogelijkheid om met kunstmatige intelligentie te spelen zonder een hele omgeving op te hoeven zetten.

Conclusie

Binnen softwareontwikkeling is het belangrijk om voorop te lopen, maar wees voorzichtig met een uitgebreid gebruik van enorme hoeveelheden tools die op korte termijn verouderd kunnen raken. Ga dus niet onmiddellijk aan de slag met de allernieuwste tools, maar wacht even rustig af en kijk hoe de wind draait. Doe dit voor zowel de technologieën die je momenteel gebruikt als voor de toekomstige. Maar blijf de ontwikkelingen goed volgen en stap over naar de nieuwe wereld zodra je weet dat een nieuwe technologie leidend wordt.

Wie software ontwikkelt met toonaangevende technologie, biedt zijn ontwikkelaars een gezonde uitdaging. Plus je software is een stuk beter onderhoudbaar dan software die je bouwt met hopeloos achterhaalde tools en talen.

Ga terug

Geïnteresseerd?