Overall App Structure: Modularity #170
Replies: 2 comments
-
I think this is right on. A few stray thoughts,
|
Beta Was this translation helpful? Give feedback.
-
(reposting here from chat, which I posted to because GitHub was down at the time) @jwildfire Yes on the parent ui/server simplicity! And even more... most I doubt we'll want a For the plugins: Yup, safetyGraphics is what I had in mind there, at least that general idea! It won't be so much that you'll be able to hook ANYTHING into a gsm.app raw, but, if you format it right, we can use it. For example, we'll likely have to know which filter(s) should display when your tab is displayed, so you'll have to tell us something about that. Reply from @jwildfire: Yep - that all makes sense to me in general. I think we're generally aligned here and ready to get to work. Can sort out next level of details as we go. |
Beta Was this translation helpful? Give feedback.
-
To make it easier for us to work on things at the same time, we should diligently modularize everything.
bslib::navset_bar()
, but somewhat cleaned up to "feel" more modular)An important part of this breakdown is that each thing shouldn't have to know about anything inside one of its neighbors. If it needs data from a thing deeper down, that data needs to be returned by a server module in that module family (important note: any given module can have multiple server modules, if that makes sense for a given application, each of which can return a different reactive value associated with that module, for example). I haven't finished working out how/whether this impacts the way the htmlwidgets are built.
This isn't 100% "baked" yet; I'll need to figure out what feels "right" for some pieces of it as we build. In particular the two-way communication between Shiny and the various widgets for selecting sites remains a little fuzzy for me, but I think we can get to a clean, maintainable solution.
(I was going to put some data thoughts in here, too, but I'm splitting that into its own discussion)
Beta Was this translation helpful? Give feedback.
All reactions