didimitrie / future.speckle

Beta.Speckle is an online parametric model viewer. It enables sharing with your clients/stakeholders/community flexible designs, not just static artefacts.
http://beta.speckle.xyz
MIT License
23 stars 5 forks source link

Overarching Architecture of UI + Model Viewer + API #15

Closed didimitrie closed 8 years ago

didimitrie commented 8 years ago

From @didimitrie on February 10, 2016 18:18

Essentially a question of how MVC of the viewer should be structured, and based on what tech, based on the following expansion plans & style perquisites:

TBC

Copied from original issue: didimitrie/viewer.speckle#8

didimitrie commented 8 years ago

From @philipbelesky on February 10, 2016 23:5

Are you considering among the javascript MV* frameworks?

From my experience, Ember, React, Vue, and I think Angular, have implementations similar to webcomponent that nicely encapsulate the markup/style/behaviours of a UI block. Although these are probably more useful to augment/replace Express on the front-end in the future.specke.

If the viewer is staying largely-separate from the speckle.xyz frameworks, maybe Vue.js is worth a look? It's very light weight and flexible, and you can set it up to have fully modular (and hot swappable!) UI components.

didimitrie commented 8 years ago

I was also looking into vue.js! I think it's definitively a go - seems light, easy and also quick to pick up. Only probs is that it might complicate the build process. Ideally I would stick to npm and avoid browserify, etc. but you get that with any lib you go for, so meh.

Ideally, yes, the viewer will stay separately from the main app (handling all the server side mess/so called api); nevertheless:

As such, I'm considering ditching the two repo system in place for a more clear, integrated workflow on just future.speckle. Thoughts welcome!

didimitrie commented 8 years ago

From @philipbelesky on February 11, 2016 9:48

On the twin repo front, I personally would love to have a standalone viewer that I could use to embed models on a portfolio. But at the point that's not possible with the current split, it would seem to make sense to combine the two (if it makes development much easier) and spin off the viewer when it can be used properly in isolation.

didimitrie commented 8 years ago

Yep, that was the plan initially. I think spinning the viewer off on any other major release will make lives easier - it's a good shout. Let's just say every 0.x.0 milestone gets a viewer spin off.

There is also the option of embedding from directly from beta.speckle. Well, this branches off in another todo: embed functionality + embedder routes (speckle.xyz/view/e/shortid). Traffic is cheap, server costs should be budget for (i'm now ironing out the budget and getting final approvals) for at least 3yrs from now; so we should be covered.

didimitrie commented 8 years ago

Some sort of architecture emerged. See here for the deets. This is for sure not the best solution, but the one that's there now :100: