Mindre fodaftryk og hukommelsesforbrug er vejen sammen ned hurtigere start af apps er vejen for de fleste udviklere. Nu kan Spring-apps kompileres til færdiglavede containere i lynhurtig maskinkode. Dette leveres af samarbejdet mellem GraalVM (Oracle) og Spring (VMWare). Spring benyttes af bl.a. Alibaba, Amazon, Google og Microsoft.
Java-frameworket Spring kan nu genere apps i maskinkode, i stedet for at benytte Javas virtuelle maskine (JVM), dog foreløbigt som beta-udgave. Det skriver en af projektets udviklere, Sébastien Deleuze, i et blogindlæg. Muligheden er udviklet i samarbejde med udviklere på Graalvm.
Oracles Graalvm-miljø, der findes i open source og kommercielle aftapninger, giver muligheden for at kompilere Java-programmer til maskinkode. Den færdige binære kode fylder væsentligt mindre og med lavere hukommelsesforbrug. Derudover kommer hurtigere starttider og svar, hvilket er passende til nutidens container-miljøer på servere.
Spring Native Beta med understøttelse af Java og Kotlin
Spring har i dag annonceret, efter halvandet års arbejde, beta-udgivelsen af Spring Native og dens tilgængelighed er på start.spring.io!
Ud over den almindelige Java Virtual Machine, betaunderstøttelse kompilering af Spring programmer til Native Image der med GraalVM giver en ny måde at implementere Spring programmer på.
Disse oprindelige Spring-programmer kan implementeres som en enkeltstående eksekverbar fil (ingen JVM-installation kræves) og tilbyder interessante egenskaber, herunder næsten øjeblikkelig opstart (typisk < 100ms), øjeblikkelig topydelse og lavere hukommelsesforbrug på bekostning af længere byggetider og færre kørselsoptimeringer end JVM.
Med enkle mvn spring-boot:build-image- eller gradle bootBuildImage-kommandoer kan du generere et optimeret minimalt OS-lag og en lille indbygget eksekverbar fil, der kun leverer de nødvendige bits fra JDK, Spring og de biblioteker, du bruger i din applikation. Se for eksempel nedenfor en minimal container billede med en 50MB eksekverbar indeholder Spring Boot, Spring MVC, Jackson, Tomcat, JDK og ansøgningen.
Der er en bred vifte af bruger situationer, hvor Native kunne give mening for en Spring Programmør:
- Serverless med Spring Cloud-funktion
- Billigere og mere bæredygtig hosting af dine Spring mikrotjenester
- Direkte integration med Kubernetes platforme såsom VMware Tanzu
- Optimale containere, der pakker dine Spring applikationer og -tjenester
- Microservices på Knative med Spring Boot og GraalVM.
Samarbejdet med GraalVM-teamet er for at forbedre den oprindelige kompatibilitet og fodaftryk. Som Vojin Jovanovic fra GraalVM siger det: “Det er en stor glæde at samarbejde med Spring teamet om at skabe det oprindelige JVM-økosystem: Deres dybe tekniske viden, indpakket med følsom opmærksomhed for samfundet, fører altid til de bedste løsninger. Den seneste Spring Native udgivelse, og dens mange anvendelser i JVM økosystemet, vil bane vejen for en bred tilslutning af til maskin kompilering”
Der er to hovedsøjler i Spring’s strategi for at gå Native vejen. Den første er at tilpasse Spring infrastruktur til Native uden at kræve væsentlige ændringer i de millioner af eksisterende Spring Boot applikationer.
Den anden søjle er bredere end Spring selv, Native er en platform med forskellige egenskaber end JVM, men Java-økosystemet skal være så konsekvent som muligt for at undgå to meget forskellige varianter af Java, der vil være udfordrende at vedligeholde. Derfor samarbejder vi intensivt med GraalVM-teamet for at reducere dette hul. Dette samarbejde vil fokusere på at forbedre Native test og Native konfiguration for det bredere JVM økosystem i de kommende måneder.
Som konklusion kan vi sige at Spring er i en positiv udvikling, hvorfor vi holder på at denne Java Udviklingsplatform er på TOP5 med fornemme kvaliteter.
Hvad er Spring?
Spring gør programmeringen af Java hurtigere, nemmere og sikrere for alle. Springs fokus på hastighed, enkelhed og produktivitet har gjort det til verdens mest populære Java-ramme.
Spring er overalt
Springs fleksible biblioteker er betroet af udviklere over hele verden. Spring leverer dejlige oplevelser til millioner af slutbrugere hver dag – uanset om det er streaming-tv, tilsluttede biler, online shopping eller utallige andre innovative løsninger. Spring har også bidrag fra alle de store navne inden for tech, herunder Alibaba, Amazon, Google, Microsoft og meget mere.
Spring er fleksibelt
Springs fleksible og omfattende sæt udvidelser og tredjepartsbiblioteker lader udviklere bygge næsten enhver tænkelig applikation. I sin kerne udgør Spring Framework’s Inversion of Control (IoC) og Dependency Injection (DI) funktioner grundlaget for et bredt sæt funktioner og funktionalitet. Uanset om du bygger sikre, reaktive, skybaserede mikrotjenester til internettet eller komplekse streamingdatastrømme for virksomheden, har Spring værktøjerne til at hjælpe.
Spring er produktivt
Spring Boot transformerer, hvordan du nærmer dig Java-programmeringsopgaver, og strømliner din oplevelse radikalt. Spring Boot kombinerer fornødenheder såsom en applikationskontekst og en automatisk konfigureret, integreret webserver for at gøre udvikling af mikrotjenester til en leg. For at gå endnu hurtigere kan du kombinere Spring Boot med Spring Clouds rige sæt understøttende biblioteker, servere, mønstre og skabeloner for sikkert at implementere hele mikrotjenestebaserede arkitekturer i skyen på rekordtid.
Spring er hurtigt
Vores ingeniører bekymrer sig dybt om ydeevne. Med Spring vil du som standard bemærke hurtig opstart, hurtig nedlukning og optimeret udførelse. Springprojekter understøtter i stigende grad også den reaktive (ikke-blokerende) programmeringsmodel for endnu større effektivitet. Udviklerproduktivitet er Springs supermagt. Spring Boot hjælper udviklere med at opbygge applikationer med lethed og med langt mindre slid end andre konkurrerende paradigmer. Integrerede webservere, automatisk konfiguration og “fede krukker” hjælper dig med at komme hurtigt i gang, og innovationer som LiveReload i Spring DevTools betyder, at udviklere kan gentage hurtigere end nogensinde før. Du kan endda starte et nyt Springprojekt på få sekunder, med Spring Initializr på start.spring.io.
Spring er sikret
Spring har en dokumenteret track record for at håndtere sikkerhedsspørgsmål hurtigt og ansvarligt. Spring-bekræftelserne samarbejder med sikkerhedsfolk om at rette og teste eventuelle rapporterede sårbarheder. Tredjepartsafhængigheder overvåges også nøje, og der udstedes regelmæssige opdateringer for at hjælpe med at holde dine data og applikationer så sikre som muligt. Derudover gør Spring Security det nemmere for dig at integrere med branchestandardens sikkerhedsskemaer og levere troværdige løsninger, der som standard er sikre.
Spring er støttende
Spring samfund er enorm, global, forskelligartet, og spænder folk i alle aldre og kapaciteter, fra komplette begyndere til erfarne proffer. Uanset hvor du er på din rejse, kan du finde den støtte og de ressourcer, du har brug for for at få dig til det næste niveau: quickstarts, vejledninger og tutorials, videoer, meetups, supporteller enddaformel træning og certificering.
Hvad kan Spring gøre?
- Mikrotjenester: Leverer hurtigt produktionsgrade funktioner med uafhængigt evolvable mikrotjenester.
- Reaktiv: Springs asynkrone arkitektur, der ikke blokerer, betyder, at du kan få mere ud af dine computerressourcer.
- Skyen: Din kode i enhver sky – vi har dig dækket. Tilslut og skaler dine tjenester, uanset din platform.
- Webapps: Frameworks til hurtige, sikre og responsive webprogrammer, der er forbundet til ethvert datalager.
- Serverless: Den ultimative fleksibilitet. Skaler efter behov og skaler til nul, når der ikke er nogen efterspørgsel.
- Hændelsesdrevet: Integrer med din virksomhed. Reagere på forretningsarrangementer. Se dine streamingdata i realtid.
- Batch: Automatiserede opgaver med f.eks. Offlinebehandling af flere datasæt ad gangen, så de passer til dig.