Getting something to display is not hard, but getting full Unicode support, font support, high-DPI support, accessibility, translation, fluid layouts, auto-completion, table rendering, dark mode, cross-platform, including mobile, while not looking like something from 2000 is a massive undertaking, and you often end up re-inventing the web browser doing it. Then if you need a diagram or graph rendered, you need to write it yourself or accept 3rd party library with poor style choices, where there are many great packages for the web. Any if your widget library falls short (and it will), you need a native developer to make a kludge.