Client side appliation and frameworks? #184
Replies: 5 comments 12 replies
-
Is there a way to get equivalent status information without the web page? Despite USACE's current preference towards react and client-side rendering, I don't like it because it makes the result unparseable by automated systems (some may see that as a pro, but for our mission, access to data without obstacles is vitally important). |
Beta Was this translation helpful? Give feedback.
-
I am partial to using React + Vite for the frontend framework.Pros
Cons
I will also say it does not need to be all or nothing. Where it makes sense we could still have endpoints that return static and/or Server Side Rendered (SSR) HTML/txt. Thoughts on where to startOur district at USACE (SWT) has a major investment in this due to looming cloud migration. We need a replacement for our page here: This uses The API and/or webpage that results from this could serve as that replacement. Here are some sample json files of what we convert the output of |
Beta Was this translation helpful? Give feedback.
-
Something for everyone to remember in this discussion. The OpenDCS applications, web or others, MUST be able to operate on their own without regards to other implementations like, USACE's cloud migration. It is independent software. This means there will likely be some amount of duplication due to branding issues and the like. |
Beta Was this translation helpful? Give feedback.
-
Upon review of various Javascript GUI frameworks, and having done html/js guis from scratch in the past,for the LRGS web interface I'm going to just go with React. NOTE for the one dissenter above. There will be a full featured API to retrieve appropriate data the this framework would interact with. I agree we don't want something like React to "dominate and be 'the thing'" but we do want to present a nice default UI to the end user that is both easy to use and maintain. Say what you will about React (I also have concerns) but Charles is right that if I went down plain JS I'd just be making my own framework to maintain. If the general web api goes a different way and it looks easier to maintain I'll suffer the effort of porting it when the time comes. |
Beta Was this translation helpful? Give feedback.
-
It would definitely be easier to move to vanillla javascript and call it a day, quicker and less time to do the conversion. With React, myconcern is that it is a technology that could over time get less popular and fall out of grace, similar to angularjs. I understand it's very popular though, and is going strong right now, and supported by large companies like facebook, so it's got a lot of staying power for sure, you just can't predict the future. Also, the corps is using groundwork-water, which could be a benefit. First off - people will have the experience in React, so that's good. Also, if we feel that groundwork-water is going to stick, or already has, then it might make sense to go in that direction, but if we want it to truly independent, then maybe using groundwork-water would couple it too closely to USACE - not sure on this one though, just my thoughts. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
@opendcs/opendcs-core-devs, but specifically @wjonassen, @agilmore2 , @adamkorynta , @DanielTOsborne, and @krowvin
So the current Web Client is primarily JSP, and thus a lot of server side rendering. Nothing fundementally wrong with this but there's definitely some pros and cons to consider in regards to single page applications vs combined server side.
I'm starting in on the DDS over HTTP(s), which will include a web based version of the "rtstat" program. @krowvin intermittently pokes at revamping DcpMon; which likely just be part of that web based rtstat going forward.
I'm inclined towards setting up the LRGS system as a "single page app", or at least more focused on client side rendering using one of those frameworks.
USACE is pretty well bought into React as the framework, and while I have some issues with it I'm inclined to use it for that reason plus the fact that I got a large bundle of training off of humble bundle a while ago. It does also allow the use of typescript which can be rather handy.
Does anyone have any thoughts on an appropriate javascript framework for developing these apps?
e.g.
I'm not hard set on either direction, but it would be good to settle on a direction to start.
Beta Was this translation helpful? Give feedback.
All reactions