Yeah I like meant: We are not so far apart in what we think are options. there is no need to create lot's of small JS modules => I didn't suggest that. I would say a balance is needed. This thing around "network/chatter" when having too many JS files: It is true if you have 100++. But its also true that if you have only 1 JS file: It is likely to be >2MB. And then you need to show loading animations or similar. So most apps divide it into smaller chunks of JS or dynamically load it when needed.
draggable/droppable/resizable => Yeah that is the main issue. So I tend to think if you can have 4-5 different JS apps in the conference room page: You may have a chance to tackle areas one by one. And isolate those effects above into certain legacy JS that you can tackle when ready. Thanks, Seb Sebastian Wagner https://www.linkedin.com/in/sebastianwagner/ <https://www.youracclaim.com/badges/da4e8828-743d-4968-af6f-49033f10d60a/public_url> <https://www.youracclaim.com/badges/b7e709c6-aa87-4b02-9faf-099038475e36/public_url> On Tue, 12 May 2020 at 00:48, Maxim Solodovnik <[email protected]> wrote: > > > On Sun, 10 May 2020 at 07:18, [email protected] <[email protected]> > wrote: > >> I think our ideas are not so far apart. >> >> Your argument around not using npm/yarn and other JS tools is bit funny >> > > I never told npm shouldn't be used > My points are > 1) there is no need to create lot's of small JS modules > 2) there is no need to add NPM to create lots of small JS scripts > 3) there is no need to use React > > Currently Maven creates 5-6 bigger JS files using > 1) 3rd party JS modules we need to have in our code base > 2) raw-*.js files > > This can be improved by using NPM > it can > 1) manage 3rd party dependencies > 2) create on huge JS file for the project > > >> :) It sounds like arguing that using Java without Maven/Ant/Gradle is a >> good idea cause "I could also write my own script doing that just fine" :):) >> > > Wicket can successfully serve small JS files as-is as well as currently > being used Maven modules do its job as expected > but this can be improved by using NPM and it's dependency management > > >> >> With "draggable/droppable/resizable" alternatives >> => It will require quite a bit of re-write I'm afraid. What alternatives >> do you have in mind ? >> > > There was a typo in my text: > > From jquery-ui we are using > 1) draggable/droppable/resizable - seems to have to alternatives > > should be > > From jquery-ui we are using > 1) draggable/droppable/resizable - seems to have NO alternatives > > > "re-write" is something I would like to avoid ... > > >> >> Cheers, >> Seb >> >> Sebastian Wagner >> https://www.linkedin.com/in/sebastianwagner/ >> >> <https://www.youracclaim.com/badges/da4e8828-743d-4968-af6f-49033f10d60a/public_url> >> <https://www.youracclaim.com/badges/b7e709c6-aa87-4b02-9faf-099038475e36/public_url> >> >> >> On Sun, 3 May 2020 at 16:21, Maxim Solodovnik <[email protected]> >> wrote: >> >>> >>> >>> On Sun, 3 May 2020 at 04:17, [email protected] < >>> [email protected]> wrote: >>> >>>> I guess I'm bit more creative on how I think it could work. >>>> >>>> We are already using JS-only components. So I would hope most would >>>> just stay as-is. >>>> >>>> For example: https://github.com/webrtc/adapter >>>> => we are using this, but instead of having a package.json and >>>> reference the script we copy n paste it. >>>> >>> >>> NPM will also copy/paste it while `npm run build` >>> But dependencies will be managable >>> >>> >>>> >>>> Many of those raw-xyz classes could be converted into one or many NPM >>>> modules imho. >>>> >>> >>> This can be done without NPM >>> I spend some time to pack small JS files into one big JS file to minify >>> the number of web requests and reduce load time >>> >>> >>>> >>>> You could probably also easily do this in stages and an initial stage >>>> could be: >>>> - Leave the Apache Wicket header and Page component, but load one or >>>> many standalone JavaScript apps into it (that is pretty much what we do) >>>> >>> >>> This was my plan >>> extract all our js files into `openmeetings-js` Maven module >>> And build single JS out of it >>> >>> Only small `preloader` js will stay in `openmeetings-web` >>> (this need to be investigated) >>> >>> >>>> - Bundle each of those standalone JavaScript apps using webpack, >>>> >>> >>> there is no need to create multiple js apps >>> >>> >>>> you can trigger that from Maven easily with: >>>> https://github.com/eirslett/frontend-maven-plugin >>>> >>> >>> yes, i do remember i have shared the link to this plugin before >>> >>> >>>> - Reference the produced JS file from the various places in the code >>>> >>> >>> It will be one reference (maybe 2 :))) >>> >>>> >>>> Having those separated JS apps would make it much easier to develop >>>> them. >>>> >>> >>> As I wrote earlier in this email: separate JS can be created with wicket >>> but this will increase request count and will slow down initial load >>> >>> >>>> Obviously from tooling perspective. But you can just load them into a >>>> page in isolation. You don't need the entire room, but you can just >>>> concentrate on 1 section. >>>> It brings all the advantages of separation of concerns. But also >>>> doesn't mean a big rewrite. >>>> >>>> And you can replace fragment by fragment of the website. One by one. >>>> >>>> Cheers >>>> Seb >>>> >>>> Sebastian Wagner >>>> https://www.linkedin.com/in/sebastianwagner/ >>>> >>>> <https://www.youracclaim.com/badges/da4e8828-743d-4968-af6f-49033f10d60a/public_url> >>>> <https://www.youracclaim.com/badges/b7e709c6-aa87-4b02-9faf-099038475e36/public_url> >>>> >>>> >>>> On Sat, 2 May 2020 at 16:53, Maxim Solodovnik <[email protected]> >>>> wrote: >>>> >>>>> Hello Sebastian, >>>>> >>>>> From jquery-ui we are using >>>>> 1) draggable/droppable/resizable - seems to have to alternatives >>>>> 2) dialog - can be replaced any time due to we are using basic >>>>> functionality only >>>>> >>>>> Touch events are now works for room >>>>> >>>>> I still don't see why we need to rewrite everything ... >>>>> >>>>> On Sat, 2 May 2020 at 11:31, [email protected] < >>>>> [email protected]> wrote: >>>>> >>>>>> I'm just not sure how long it will take for jquery-ui to stop working. >>>>>> >>>>>> There has been literally no update to jquery-ui since 2016: >>>>>> https://jqueryui.com/changelog/1.12.1/ >>>>>> For jquery Mobile there hasn't been any since 2016 either: >>>>>> https://github.com/jquery/jquery-mobile/commits/master >>>>>> jquery itself has 30 commits in the last 6-12 months: >>>>>> https://github.com/jquery/jquery/commits/master >>>>>> >>>>>> As for Apache Wicket, they may come up with some other JS code or >>>>>> framework over time. So the back end and administration part. It will >>>>>> work >>>>>> and continue to do so. There is also no strong requirement to make that >>>>>> work across Mobile and other platforms. >>>>>> >>>>>> But for coding the conference room UI Front End, we are bit stuck. >>>>>> >>>>>> Thanks, >>>>>> Seb >>>>>> >>>>>> Sebastian Wagner >>>>>> https://www.linkedin.com/in/sebastianwagner/ >>>>>> >>>>>> <https://www.youracclaim.com/badges/da4e8828-743d-4968-af6f-49033f10d60a/public_url> >>>>>> <https://www.youracclaim.com/badges/b7e709c6-aa87-4b02-9faf-099038475e36/public_url> >>>>>> >>>>>> >>>>>> On Mon, 27 Apr 2020 at 21:55, Maxim Solodovnik <[email protected]> >>>>>> wrote: >>>>>> >>>>>>> Hello Sebastian, >>>>>>> >>>>>>> I haven't planned to "brea away the conference room" and re-writing >>>>>>> anything >>>>>>> My goals were to >>>>>>> 1) simplify JS dependency management >>>>>>> 2) simplify Maven build >>>>>>> 3) clean-up "manual polyfilling" and some hacks >>>>>>> 4) use latest MathJax https://github.com/mathjax/MathJax/issues/2414 >>>>>>> >>>>>>> 5*) optionally benefit from normal classes and inheritance >>>>>>> >>>>>>> above can be started any time :) >>>>>>> >>>>>>> p.s. you have too much energy :))) I'm buried with emails :) >>>>>>> >>>>>>> On Mon, 27 Apr 2020 at 15:20, [email protected] >>>>>>> <[email protected]> wrote: >>>>>>> > >>>>>>> > Hi, >>>>>>> > >>>>>>> > how about we start to plan how to break away the conference room >>>>>>> from the rest of the application ? >>>>>>> > >>>>>>> > It is already a lot of pure JavaScript. And writing it would be >>>>>>> probably easier. >>>>>>> > As well as you constantly need latest JS features. >>>>>>> > Compile it stand-alone with Npm or yarn. >>>>>>> > use a package.json >>>>>>> > create and use node_modules >>>>>>> > Run webpack for dev and hot reload the Javascript >>>>>>> > use babel to cross compile for different platforms >>>>>>> > use ES5/ES6 >>>>>>> > use eslint >>>>>>> > >>>>>>> > Doesn't mean it has to be React. >>>>>>> > >>>>>>> > But all those classes/prototype functions like raw-video.js => >>>>>>> could be node_modules. >>>>>>> > >>>>>>> > But I just struggle to see how this dev-cycle we do will attract >>>>>>> new devs from the JavaScript world. >>>>>>> > >>>>>>> > Or how about start with a PoC style: Just create a sample for >>>>>>> Mobile Apps. Just audio/video. That is the only thing they can do >>>>>>> anyway on >>>>>>> that small screen realistically. Instead of trying to break the current >>>>>>> application into a form factor of 600x400px. >>>>>>> > >>>>>>> > And then maybe grow from there. >>>>>>> > >>>>>>> > Cheers >>>>>>> > Seb >>>>>>> > >>>>>>> > >>>>>>> > Sebastian Wagner >>>>>>> > https://www.linkedin.com/in/sebastianwagner/ >>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Best regards, >>>>>>> Maxim >>>>>>> >>>>>> >>>>> >>>>> -- >>>>> Best regards, >>>>> Maxim >>>>> >>>> >>> >>> -- >>> Best regards, >>> Maxim >>> >> > > -- > Best regards, > Maxim >
