Problem nativneho prekladu javy je hlavne v tom, ze vseci radi generuju/stahuju bytekod. GCJ malo v sebe koli tomu interpreter a cele to nestalo za nic.
Samozrejme, ide to aj bez toho (android), ale velke riesenia (spring) sa bez toho nepohmu, nie ze by sa nedali prerobit (na annoation procesory/reflection/java.lang.reflect.Proxy), ale znizuje to hodnotu existujuceho ekosystemu.
No ale Spring prafe tu reflection / reflect.Proxy pouziva :-) Diky cemuz bylo mozne tohle:
https://jira.spring.io/browse/SPR-16991
Samozrejme, je to jen pocatek podpory, ale nevypada to jako nic neresitelneho.
A obecne prechod k annotation procesorum je urcite vhodny i z mnoha jinych duvodu.
Obecně záleží na tom, jak se různé variace (Javy) ujmou. Android byl z počátku nekompatibilní s kde čím, ale díky jeho popularitě jej mnoho knihoven začalo podporovat. Což zřejmě vyžadovalo změny v kódu speciálně pro Android. S native-image je to podobné. Funguje to trochu jinak, ale zdá se to být užitečné. Budou-li si to myslet tvůrci knihoven a frameworků, tak se do pár let přizpůsobí.
Znáte Micronaut? Tam se pánové dost snaží a mají i speciální mód pro podporu GraalVM. Nedávno jsem zahlédl, že mají i podporu hlavních anotací ze Springu. Zkuste to. Jestli odvedli dobrou práci, tak to bude fungovat téměř samo.