Comment puis-je implémenter ma bibliothèque multiplateforme (par exemple sur JRE) pour fonctionner de manière thread-safe sur les références d'objet, afin que les frontaux natifs sur d'autres plates-formes puissent observer l'objet et tirer parti des modèles observables?
Un peu d'histoire - il existe un concept de liaison de données utilisé dans la plupart des frameworks frontaux. En C # et Java, cela est lié au trait Observable qui donne à une classe la possibilité de déclencher des événements lorsque des changements se produisent, auxquels plusieurs contrôles ou "observateurs" peuvent souscrire. De cette façon, les observateurs n'ont pas à continuer d'interroger / lire la ressource, en comparant les mises à jour.
Je souhaite travailler sur un moteur d'analyse qui modifie les listes de données au fil du temps. Ce serait bien de pouvoir faire en sorte que le frontal puisse observer ces listes pendant que l'analyse est en cours. Il me semble que cela nécessiterait que le front-end puisse transmettre un objet au moteur d'analyse, écrit dans une bibliothèque qui, espérons-le, soit multiplateforme, et être capable de faire des lectures thread-safe sur cet objet. Ou bien, demandez à la bibliothèque de respecter les contrats d’observabilité.
La façon dont cela est géré dans les anciens moteurs CLI de style Unix consiste à utiliser stdin / stdout / stderr et à faire publier régulièrement les mises à jour du moteur. Cela nécessite une surcharge standard et une analyse de texte que je préfère éviter, si possible.