Non, une application .net 5 n’est pas une application native !
À chaque version de .net, le mot « natif » est remis en avant. Ceci avec plus ou moins de succès. Cette semaine, j’ai parcouru la documentation .net. Il y a de quoi hérisser le poil des développeurs C et C++. Oui, il y en a encore et on en a besoin (petite question idiote : il est fait en quoi notre runtime ?).
Moi-même ancien développeur C++, je tente d’éviter les abus de langage (sans pourtant y arriver).
Oui, dans l’ancien temps nous commencions presque tous par une première expérience C++ ou VB. Pas de chance, dirons certains, j’ai fait les deux et .net Framework 1.0.
Aujourd’hui, pour faire simple :
- Oui, .net 5 offre des performances proches du natif à nos applications.
- Non, nos applications .net 5, ce n’est pas du natif.
- Une application .net 5 reste une application écrite en code managé avec toute la magie offerte par le runtime : sa gestion de la mémoire, de la sécurité, la protection des types, … etc…
Le JIT, l’AOT, c’est magique. Mais quand l’on ne déploie pas le runtime .net5, on l’embarque d’une manière ou d’une autre (les single file applications ne sont pas non plus le Saint Graal d’un .net natif).