Infi bouwt eerste applicatie in Scala

Een van onze klanten kwam bij Infi met de vraag of wij mee wilden helpen met bouw van hun nieuwe platform. Een belangrijke eis: het mocht niet in .NET of PHP.

Infi bouwt met name applicaties in PHP en .NET (C#), maar het is zeker geen regel dat dit de enige opties zijn. Toen een van onze klanten vroeg of we wilden meebouwen aan een platform, maar niet gebouwd in .Net of PHP, gingen we die uitdaging natuurlijk aan! We zijn direct samen begonnen met een onderzoek naar de mogelijkheden voor het vinden van de juiste stack. Een flink aantal kandidaten passeerden de revue: Kotlin, Clojure, Java, etc. Alhoewel je in elk van deze talen prima een applicatie kunt neerzetten is de keuze uiteindelijk gevallen op Scala.

Voordelen van Scala

Bij een keuze voor een specifieke taal spelen veel factoren een rol. Dit zijn zowel technische als ‘business’ overwegingen. Scala heeft het uiteindelijk gewonnen omdat het makkelijk koppelt met een aantal veelbelovende frameworks of applicaties zoals Akka en de verschillende document stores. Omdat het de bedoeling is dat de applicatie op termijn volledig onder het beheer van de klant gaat komen, speelde aan de business kant ook mee hoe makkelijk het is om developers te vinden die met deze taal willen werken. Ook op dit vlak scoorde Scala goed.

Microsoft versus Scala

Alhoewel ik tijdens mijn studie veel PHP en Java heb gedaan werk ik al jaren uitsluitend en met erg veel plezier op de .Net stack. Binnen Infi sta (of stond) ik dan ook bekend als de grootste Microsoft fan. Toch moet ik zeggen dat Scala erg goed bevalt. Het is makkelijk om in korte tijd mooie dingen te maken en de bestaande frameworks zoals bijvoorbeeld het Play framework zijn redelijk volwassen. Het werkt allemaal wat anders dan de .NET tegenhangers maar uiteindelijk werkt het vaak minstens net zo goed. Waar ik wel aan moest wennen is het open source karakter van de libraries die je gebruikt. Waar je in .NET vaak wel een antwoord vindt op Stackoverflow, ontkom je er in Scala niet altijd aan om diep in discussies op GitHub over specifieke commits het antwoord op je probleem te vinden. Een andere keer moet je een fork van een library gebruiken omdat een bepaald probleem dat jij ook hebt alleen daar in is opgelost.

​Een andere grote stap is dat ik mijn vertrouwde Windows omgeving (tijdelijk) gedag heb moeten zeggen. Je kunt natuurlijk prima IntelliJ draaien op Windows en daar ben ik dan ook dapper mee begonnen. Wij hebben echter gekozen voor een microservice architectuur op basis van Docker, en ik kwam er al snel achter dat dit niet echt lekker werkt op Windows.

Eerste uitrol

We zijn nu sinds juni bezig en de eerste uitrol naar productie staat gepland voor begin september. Ik vind het erg gaaf om me met een nieuwe techniek bezig te houden en hier ook een mooie applicatie in waar te maken. Wanneer er na dit project zich een nieuwe kans voordoet om weer iets te doen in Scala zal ik daar zeker geen nee tegen zeggen!

[Sander is ontwikkelaar bij Infi]

Gezocht: ondernemende nerds!

› Wil jij je hersens bij ons laten kraken?

Wil je iets waarmaken met Infi?

Wil jij een eigen webapplicatie of mobiele app waarmee jij het bij anderen maakt?

Waargemaakt door de nerds van Infi.
Nerds met liefde voor softwareontwikkeling en die kunnen communiceren. En heel belangrijk: wat we doen, doen we met veel lol!

Wij willen het fixen. Laat jij van je horen?

Voor wie heb je een vraag?