A minimalist open-source multi-engine web browser built in Ruby with Glimmer DSL for SWT
NOTE: I am no web browser development expert. This project was created primarily for personal use and as a fun exercise in determining if software engineers could simply build their own web browsers instead of worrying about privacy rules in various available web browsers, especially given the very terse Glimmer GUI DSL syntax and the highly productive Ruby programming language. As such, it has not had a packaged release. Feel free to inspect its code to learn more about how to get started in building a web browser with Glimmer DSL for SWT. The project mostly takes advantage of the SWT Browser widget, which has support for Chromium and Webkit on the Mac (it also supports Edge/IE on Windows if I am not mistaken, but I did not expose that part since I run it on the Mac). That said, it is a simple wrapper that does not expose all web browser engine features automatically, so quite a bit of extra work is needed to bring it up to par with common browsers, but it's 50% of the way there out of the box, which is very useful if someone needs to slap a custom web browser together in less than a day. You may check the TODO section to learn more about the future direction of the project, but remember that it is a personal free and open-source project, so issues may be discovered without getting fixed. You are welcome to fork and submit your own contributions and fixes in the meantime, especially if interested in learning how to do desktop GUI development with Ruby and Glimmer DSL for SWT.
Unlike other web browsers, Connector is a multi-engine web browser, supporting both Chromium and Webkit, albeit running old versions of them at the moment.
The TODO lists future ideas, feature suggestions, and discovered issues.
For example, the JxBrowser third-party custom widget provides a more modern version of the Chromium engine than the one included with SWT.
- Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet.
- Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it.
- Fork the project.
- Start a feature/bugfix branch.
- Commit and push until you are happy with your contribution.
- Make sure to add tests for it. This is important so I don't break it in a future version unintentionally.
- Please try not to mess with the Rakefile, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.
Copyright (c) 2021 Andy Maleh
Built with Glimmer DSL for SWT (JRuby Desktop Development GUI Framework)
Connector icon made by Freepik from www.flaticon.com