Updating BMC GUI Front End Framework

Ed Tanous ed.tanous at intel.com
Wed Sep 18 08:39:38 AEST 2019


On 9/17/19 3:13 PM, Gunnar Mills wrote:
> 
>>     2. The sizes of the libraries: Vue is about 80KB, much smaller
>>     than Angular (500+KB), React(100KB).
>>

I have no idea where these numbers are coming from, but we need to pump
the brakes a little.  Any framework we pick is going to require some
non-standard modules, and be run through webpack minification and
compression, which will significantly swing the result as we've seen
with other modules we've tried to compare apples to apples.

Rather than try to compare frameworks in a vacuum, I'd rather state that
the "new" framework must be the same size or smaller than the existing
for the same functionality.  If it's larger, why even upgrade given how
precious flash space is to us?


> I think some of the savings of Vue/React would be negated by the plugins
> we would need but agree this is a benefit.
> 
>>
>>     3. It is already used by big internet company like Gitlab/Alibaba.
>>
> Google and Wix are some companies using Angular.
> Facebook, Uber, Instagram, and Paypal, are some companies using React.

All of the above is irrelevant.  I'm fairly certain Gitlab, Alibaba,
Google, and Wix don't build BMCs (or embedded platforms) using those
frameworks, so I'm not really sure why we're name dropping here.

Lets pick the one that works best for the BMC.

>>      
>>
>> Just adding a consensus of the 3 responders so far. Anyone else have
>> any feedback on the future front-end framework for the GUI?
> 
> I think any of these frameworks would work. I would like to see more
> discussion on this, specially around what benefits we are trying to gain.
> 

Completely agree.  I'm really worried we jumped directly to a new
framework and complete rewrite.  Maybe that's where we'll end up, but
I'd like to get some more concrete answers to why we would consider
rewriting the webui from scratch.  Using something "modern" is not a
good reason.  Security isn't a great reason, as that's largely outside
the webui framework.

IMHO good reasons include:
1. Reducing the code size (both in binary and in LOC checked in)
2. Reducing the number of bugs present, by introducing more robust concepts.
3. Increasing load time and run time performance of the webui.
4. Reducing the jankiness/brittleness of the build system (yes, I'll
take the blame for this) by replacing the frameworks with something more
standard that yocto already understands.


More information about the openbmc mailing list