De software defined-wereld is een nieuwe Gouden Eeuw

We komen terecht in een enorm inventieve software defined-wereld, dankzij een nooit eerder vertoonde keuze aan tools, talen, platforms en architectuurstijlen.

Marc Andreessen zei het al: software neemt de wereld over. Van de ouderwetse pc, via een microservice naar de alsmaar uitdijende cloud, overal loop je tegen iemands code aan. De decenniaoude belofte van allesomvattende computing is eindelijk hier, maar belangrijker: de tools die we hebben om deze wereld te scheppen zijn beter en geavanceerder dan ooit. Ouderwetse monolitische applicaties worden nu losse diensten of platforms, en worden deel van jouw applicaties.

Microservices voor iedereen

Nieuwe ontwikkelconcepten zijn geoptimaliseerd voor deze gedistribueerde, asynchrone computing-wereld en dat is de kern van de grote verandering die we zien. Ja, we bouwen nog steeds apps met de MVC- en MVVM-architecturen - en dat blijft nog lange tijd zo. Maar de ontwerppatronen die gebaseerd zijn op microservices zorgen voor nieuwe tools die schaalbare, parallelle, consequente applicaties opleveren die nodig zijn voor asynchrone diensten.

Programmeertalen als Erlang demonstreren veel van deze principes, net als PaaS-tools als Service Fabric van Microsoft Azure en Lambda van AWS. Je kunt ook je eigen microservices inzetten met een het open source MQTT-framework en de microservice Node.js-toolkit Seneca. Microservices zijn ideaal om actors te implementeren, omdat ze de schakeldienst vormen van cloudsoftware: ze verwerken inputs en verzenden de output naar andere diensten.

Node.js en Go

Om deze reden is Node.js een van de belangrijkste technologieën voor moderne software: het levert die schakeldienst, met ondersteuning voor REST- en JSON-API's. Het levert een cross-platform-omgeving want het ondersteunt de meestvoorkomende besturingsyststemen (en binnenkort een keuze aan JavaScript-engines). JavaScript gaat naar een jaarlijks updatescheme met ECMAScript en er is ruimte voor snelle taalevolutie door nieuwe JS-talen als Dart van Google en TypeScript van Microsoft.

Node.js is slechts één voorbeeld. Docker - de containerdienst en toonbeeld van speler die disruptie veroorzaakt in de softwarewereld - gebruikte Google's Go, een systeemtaal van dezelfde ontwikkelaars die C bedachten. Zoals zoveel nieuwe talen ondersteunt Go parallelle software en parallelle berekeningen, waardoor ontwikkelaars gebruik kunnen maken van moderne processor-architecturen en gedistribueerde computermodellen.

Cross-platform

Laten we de cross-platform-tools en -frameworks die het mogelijk maken om apps op vrijwel alles te draaien vooral niet vergeten. Sommige daarvan, zoals Apache's Cordova, zijn hybride HTML-omgevingen die een runtime gebruiken om near-native prestaties te leveren. Andere, zoals Xamarin, leveren tooling die ervoor zorgt dat vertrouwde code gecompileerd kan worden naar native apps op meerdere besturingssystemen. Weer andere, zoals de iOS- en Java-tools in Visual Studio, maken het eenvoudigere om cross-platform-code te beheren in een enkele omgeving en een enkel project.

Hierna: Containerisatie is de drijvende kracht achter het huidige momentum van applicatiebouw.

1 2 Page 1
Page 1 of 2
 
Shop Tech Products at Amazon