On Sun, 3 May 2020 at 04:17, seba.wag...@gmail.com <seba.wag...@gmail.com> 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 <solomax...@gmail.com> > 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, seba.wag...@gmail.com <seba.wag...@gmail.com> >> 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 <solomax...@gmail.com> >>> 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, seba.wag...@gmail.com >>>> <seba.wag...@gmail.com> 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