-
Notifications
You must be signed in to change notification settings - Fork 31
Remove all React and JSX #1
Comments
Over on salesforce/runway-model-elevators#1, @joelburget wrote:
I guess some rendering library needs to be built-in to runway-browser for its own use: for the timeline and other such widgets. It probably makes sense to pick a reasonably good library for this, and to expose that to models for convenience. I'm not set on d3 for this, but it's my current preference. If there's something clearly better, we should migrate runway-browser to that instead of d3. @joelburget, out of curiosity, why is React so appealing to you? Then there's the bit about not being prescriptive: good idea. https://runway.systems is a mode of operation that I definitely want to keep, but developing locally or bundling a model along with runway-browser make sense to me too.
Supporting Safari/old browsers isn't necessarily a goal, but relevant to this discussion is: what steps do you take to get your models to run at all under Safari today? |
Absolutely. The idea is that webpack can bundle all files leaving no external dependencies.
I use babel (as a webpack transform) so my ES 2016 / jsx is transpiled down to js that every browser can understand (bye,
I need to think about this. I guess I need to better understand the interface between runway-browser, the model, and the view. Unfortunately it's hard to get around bundling everything ahead of time. But I'll think about it. By the way, I just had the thought -- have you thought about the security implications of dynamically loading models from github? |
Because it's more general in some ways than d3, and much easier to write / understand for me, especially for nontrivial views. This isn't public yet (don't share), but I'm about to release some thoughts on React + d3. |
Models get to run Javascript, so they might try to attack your browser, show you things, or phish you. It's generally equivalent to visiting a malicious website, except that you might place more trust into the runway.systems domain. Modules from untrusted repos currently get a modal confirm dialog. Here's an example: https://runway.systems/?model=github.com/dgryski/modelchecking/master/runway/river. Is that what you had in mind? |
This isn't used widely anymore, and it's a rather large dependency that should be removed. Existing code needs to be ported to d3 first, however.
The text was updated successfully, but these errors were encountered: