HTML to Node Migration
Many of our customers use HTML5 audio/video and JavaScript HTML DOM to play media files, but AU335 players do not run HTML because they have no video output. They do have a dedicated Node environment that supports an audio API. This allows customers to control audio playback as they would using JavaScript in HTML5 with audio tags. Customers who would like to use the AU335 platform must review their JavaScript applications running inside roHtmlWidget and put any required JavaScript into a dedicated roNodeJs object, since roHtmlWidget is not available on the AU335.Â
When migrating from roHtmlWidget to Node, please be aware that:Â
roNodeJs takes a JavaScript source file rather than an HTML file as the initial jumping-off point.  This is consistent with how Node and Electron work on other platforms.Â
The "old style" BrightSign custom JavaScript objects (that is, the ones that you don't need to use require @brightsign/xx to access) are not available.Â
The DOM is not available.  Customers whose applications are heavily reliant on DOM APIs can consider using a library like https://www.npmjs.com/package/jsdomÂ
The Node instance will terminate when its message loop becomes idle; this is again consistent with how Node behaves on other platforms. It may be necessary to set a timer or use some other technique in order to keep the program running.Â
Since roNodeJs is available on all platforms, customers who desire maximum portability should use roNodeJs unless their applications are inherently graphical and would be useless on a player with no display, and they are already using roHtmlWidget. Â
If there is critical HTML functionality that cannot be replicated with Node, please contact support@brightsign.biz.Â