In Smalltalk, the system browser is the central tool for pretty much anything. Glamour seems to be a package for building general purpose browsers using a declarative scripting language. From the paper it is available in VisualWorks and Pharo, but I'm talking here only for the Pharo version.
Besides the technical advantages of Glamour over older approaches, the support for OmniBrowser seems to be stopped by 2011/2012. So Glamour, which has been around from 2009, could possibly be the logical successor of OmniBrowser. But there is an amazing surprise: Another "browser project" was created, it is called Nautilus.
Possibly because developers noticed that being a browser implementation framework and a class browser is difficult to maintain, OmniBrowser was "splitted" in Glamour for browser framework and Nautilus for Smalltalk Class Browsing. Quoting from the Nautilus chpater: "It was designed to browse RPackage, to be compatible with the RB refactoring engine, to be environment aware and to work with Announcements"
Glamour is actively developed and maintained. After building over 60 browsers with it, I've to say it is an extremely productive framework. Due to the different panes supported (Mondrian, Magritte, Roassal, EyeSee, List, Tree, Text, etc.) it is easy to build applications doing a lot more than is commonly expected of browsers.
I'm not so happy with the current state of Nautilus. There is still too much code for what it does. I'd prefer it to be build on top of a Spec-based Glamour core. Spec is a too low level abstraction for browsers.
If you're developing applications in Pharo, I strongly recommend to use the whole MOOSE environment.
Nautilus is being built to have a good and small browser that the Pharo core maintainers can use. Nautilus replaces the old code browser.
Glamour is being built to prototype and implement new code browsers with totally different shapes and features. Glamour makes it easy for developers to create their own browsers based on their own code and process. Glamour is a large programming framework which currently prevents its inclusion in Pharo core.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With