Executando verificação de segurança...
1

Adorei seu post!

E sem contar que o Java 25 tá lindo demais, mano. Import modules, flexible constructor bodies, unnamed variables and parameters (podemos usar _ nos nomes das variáveis locais, parâmetros de metodos funcionais, parâmetro de exceção no bloco try-catch e etc, caso nao precisemos usar aquele parâmetro - so acho que poderiam ter colocado parâmetros sem nome igual o do C++, mas tudo bem, a linguagem vai se aprimorando com o tempo, né?), classfile API, primitive types in patterns and switches, structure concurrency, scoped values, vector api, FFM (Foreign Function Memory - substitui a sun.misc.Unsafe), key derivation function API, PEM encoding of crypto objects... Enfim, tá muito bacana ❤️

Até o java 24, construí um framework de mapeamento relacional de arquivos de propriedades em arquivos de classe Java usando a nova API ClassFile, pra manipular o bytecode java. Infelizmente tive que usar uma API externa pra manipular AST (JavaParser). Não sou muito fã de sobrecarregar meus projetos com APIs e frameworks de terceiros. Geralmente gosto de fazer tudo sozinho, até pra ir aprendendo mais sobre os internos do Java, sabe? Mas tá bem legal o projeto ❤️. Me inspirei no recurso de referência estática que o android studio usa pra referenciar valores de strings e outros valores dentro dos XMLs do diretorio res.
No Android Studio você chama R.strings.nome_da_string (faz tempo que não mexo com a IDE, então eu meio que esqueci essa parte). Meu framework você chama P.NomeDoArquivoDePropriedades.CHAVE_DA_PROPRIEDADE, sendo P em alusão a Properties, NomeDoArquivoDePropriedades seria a classe interna estática criada usando o nome do arquivo formatado e CHAVE_DA_PROPRIEDADE, que contém o valor mapeado.
Contém alguns bugzinhos ainda, mas com o tempo vou lançando novas releases. Agora tô fazendo um hot reloader aprimorado rpo JavaFX. Ele vai contar não somente com o hot reloader, mas também vai tentar mapear as mecânicas do app do dev pra poder fornecer um hot reloader funcional em runtime, apenas fazendo malabarismos com ClassLoaders kkkk

Carregando publicação patrocinada...