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

Reply via email to