Kader

Softwarestructuur die ontwikkeling vergemakkelijkt door gestandaardiseerde en herbruikbare functies te bieden

Definitie

Een framework is zoals onze geprefabriceerde toolbox bij onRuntime. In plaats van alles vanaf nul op te bouwen voor elk project (stel je voor dat je een huis bouwt door je eigen spijkers te maken!), gebruiken we deze structuren die ons een goede start en solide conventies geven.

De grote vraag: framework of bibliotheek?

We krijgen deze vraag vaak van klanten, dus hier is de deal:

  • Een bibliotheek is als het lenen van een specifieke tool voor een specifieke taak. Je houdt de controle en beslist wanneer je het gebruikt.
  • Een framework is als het betreden van een volledig uitgeruste werkplaats met zijn eigen regels. Het vertelt je hoe je moet werken.

Er is een gezegde dat het goed samenvat: "Je belt een bibliotheek, maar een framework belt jou."

Frameworks die we graag gebruiken

Frontend kant

  • React: Technisch gezien een bibliotheek, maar het ecosysteem eromheen (React Router, Redux, enz.) maakt het bijna een framework. Het is onze #1 keuze voor gebruikersinterfaces.
  • Next.js: Onze favoriet voor complexe websites! We hebben het gebruikt om onze eigen onRuntime.com site opnieuw op te bouwen.
  • React Native: Voor de mobiele apps van onze klanten, is het onze go-to. We hebben het gebruikt voor Tonight Pass met geweldige resultaten.

Backend kant

  • NestJS: We zijn er helemaal fan van! Het is gestructureerd, modulair en het bespaart ons veel tijd bij grote applicaties.
  • Express: Lichter dan NestJS, we gebruiken het voor eenvoudige API's of MVP's.
  • Prisma: Niet echt een compleet backend framework, maar onze favoriete ORM voor het beheren van databases.

Full-stack

  • Next.js (weer!): We gebruiken het steeds meer als een full-stack oplossing dankzij API-routes.
  • Redwood.js: We hebben het op een paar projecten getest en het is veelbelovend! Een beetje alsof Ruby on Rails, maar voor het JS-ecosysteem.

Waarom we niet alles vanaf nul coderen

  • We gaan veel sneller: Geen problemen die al duizend keer door anderen zijn opgelost
  • Nettere code: Frameworkconventies dwingen ons om gedisciplineerd te zijn
  • Beveiliging: Populaire frameworks worden grondig beoordeeld door duizenden ontwikkelaars die kwetsbaarheden opsporen
  • Easier onboarding: Wanneer we een nieuwe ontwikkelaar in het team integreren, als ze het framework al kennen, zijn ze in een mum van tijd operationeel

Wanneer we ervoor kiezen om (of niet) een framework te gebruiken

Bij onRuntime houden we van frameworks, maar we gebruiken ze niet blindelings. Voor een ultra-specifieke microservice verkiezen we soms een lichtere benadering met een paar bibliotheken. Voor onze Kartrak-applicatie hebben we bijvoorbeeld gekozen voor een meer minimalistische aanpak omdat de prestaties cruciaal waren.

Maar eerlijk gezegd, voor de meeste klantprojecten waar time-to-market belangrijk is, bespaart een goed framework zoveel tijd dat de keuze voor de hand ligt!