Vilka delar av lösningen är low-code och vilka är kundanpassad kod?
Vårt arbetssätt är code-first low-code, inte low-code som en ”svart låda”.
I plattformen finns två typer av kod: baskod (återanvändbara komponenter och tjänster) och autogenererad projektkod. Det viktiga är att all kod (baskod eller genererad kod) ursprungligen är skriven av ingenjörer. En utvecklare implementerar först en komponent/modul/tjänst enligt vår interna kodstil och branschstandarder, varefter den granskas och testas. Därefter omvandlas komponenten manuellt till en mall som passar generatorn och som kan ingå i en applikationsmall.
Under den inledande utrullningen (vanligtvis ~20–40 minuter) av en kundlösning anpassas (refaktoreras) mallkoden av generatorn så att den motsvarar kundprojektet (t.ex. namngivning, prefix, namnrymder, copyrighthuvuden osv.). Som en del av denna process skapas en kopia av komponenten/mallen, som lagras i ett separat, dedikerat kodförråd som skapats för just den kunden och det projektet. Den refaktorerade kopian följer samma kodstandarder och kodstil och är tillgänglig för manuell utveckling och ändringar efter driftsättningen.
Autogenererad kod är tillgänglig för felsökning och utbyggnad (t.ex. via partiella klasser och arv) och förblir läsbar och standardenlig.
Exempel på autogenererad kod (merparten):
- TypeScript-modeller för frontend som genereras från backendens datamodeller och gränssnitt i C#
- Lokaliseringshjälpare för frontend (översättningsvariabler) som krävs för ett flerspråkigt användargränssnitt
- Grundläggande hjälp- och mappningsklasser för vanliga UI-representationer (strängar, listelement osv.)
Exempel på baskod (återanvändbar kod):
- AuthService – autentisering och auktorisering
- NotificationService – notifieringar (e-post, sms, push, i appen)
- FileService – lagring/hantering av filer och bilder
- SyncService – återanvändbara integrationsmekanismer för anslutning till ERP-system (inkl. synkroniseringsmönster)
Förtydliganden (riskminskning)
- Ingen ”magi” vid körning
- Kodgenereringen sker under uppsättningen/implementeringen; resultatet är en vanlig kodbas, inte dold logik som körs i en proprietär motor.
- Underhållbarhet
- Den genererade och refaktorerade koden följer en enhetlig kodstil och enhetliga arkitekturkonventioner.
- Säkra utbyggnadspunkter
- Vi bygger ut med standardmekanismer (partiella klasser, arv, separata tilläggsfiler) så att uppdateringar/omgenerering inte skriver över kundspecifik logik.