Juste une question pratique, comment ne pas utiliser certaines classes standards qui sont fortement liées à la plateforme ? Je pense notamment aux exceptions.
Par exemple le code Java suivant
1 2
| Object[] array = {};
array[5] = "bazinga!"; |
Lève une
java.lang.ArrayIndexOutOfBoundsException. Or cette exception fait bien parti de l'API standard et il est difficile de l'ignorer.
Plus généralement, le
try {} catch() {} lui même est basé sur la class
java.lang.Throwable.
Je pense également au à la boucle foreach qui utilise l'interface
java.lang.Iterable<T>.
Je ne sais pas trop pour les autres plateformes, il me semble que certaines utilisent les même classes, d'autres on sûrement les leurs (et dans ce cas là comment écrire une API commune ?).
Donc je comprends, et trouve interessante, l'idée de fournir une API de base libre de droits, mais il me paraît difficile de s'abstraire complétement de l'API standard (ou plutôt des APIs de base de chaque plateforme).
Partager