A software engineer discusses several open source tools and APIs that allow web developers to add navigation and menus to their sites/apps.
Join the DZone community and get the full member experience.Join For Free
Bugsnag monitors application stability, so you can make data-driven decisions on whether you should be building new features, or fixing bugs. Learn more.
Using web technologies for the GUI of a desktop application makes a lot of sense: they're portable, familiar, and powerful. A popular option is to use a comprehensive framework such as Electron. However, you might want the option of using a regular desktop browser —maybe you want to be able to access your application remotely, or you might prefer a lighter-weight embedded browser such as webview.
I finally found Sam Wray's nwjs-menu-browser, which satisfied most of the goals. It was standalone, modest size, handled menubars as well as popups, and had an API similar to NW.js
(which is similar to that of Electron). However, it had some issues. Missing features included keyboard navigation, inability to "share" menu-items between menus, and some smaller problems. I also found the build process too complicated for me.
Finally, here is a screenshot of jsMenus in action. This is DomTerm, using the Chrome browser. Chrome was started with the
--app command-line option, which (among other things) disables the default menubar and location bar.
Published at DZone with permission of Per Bothner . See the original article here.
Opinions expressed by DZone contributors are their own.