Come posso implementare la mia libreria multipiattaforma (ad esempio su JRE) per operare in modo thread-safe su riferimenti a oggetti, in modo che front-end nativi su altre piattaforme possano osservare l'oggetto e trarre vantaggio da schemi osservabili?
Un po 'di background: esiste un concetto di associazione dei dati utilizzato nella maggior parte dei framework front-end. In C # e Java questo è legato alla caratteristica Osservabile che dà a una classe la possibilità di lanciare eventi quando si verificano cambiamenti, a cui possono sottoscrivere più controlli o "osservatori". In questo modo gli osservatori non devono continuare a sondare / leggere la risorsa, confrontando per gli aggiornamenti.
Voglio lavorare su un motore di analisi che apporti modifiche agli elenchi di dati nel tempo. Sarebbe bello poter avere il front-end in grado di osservare questi elenchi mentre l'analisi è in esecuzione. Mi sembra che ciò richiederebbe al front-end di essere in grado di passare un oggetto al motore di analisi, scritto in una libreria che si spera sia multipiattaforma, e di poter eseguire letture thread-safe su quell'oggetto. Oppure, fai in modo che la biblioteca soddisfi i contratti di osservabilità.
Il modo in cui questo viene gestito nei vecchi motori CLI in stile Unix consiste nell'utilizzare stdin / stdout / stderr e fare in modo che il motore invii aggiornamenti a intervalli regolari. Ciò richiede un overhead standard e l'analisi del testo che preferirei evitare, se possibile.