-
Notifications
You must be signed in to change notification settings - Fork 19
The Future of Shoes
In case you haven't heard, Shoes 4 is being developed in Ruby using jRuby and Swt that allow the developers to leverage Java's cross platform abilities. Shoes 3.x uses MRI Ruby or 'cruby' and C plus some Objective-C on the Mac and Gtk plus others. Shoes 3 is not easy to understand or build.
Shoes 3 has some quirky charms and features that would be difficult to implement in Java technologies. Shoes 3.2 is a maintenance release to keep Shoes alive and working on newer OS and Ruby versions. We mostly fixed bugs -- some of them were very difficult but we did it. Backwards compatibility is very important for Shoes 3.2 and the Shoes 4 folks have bent over backwards to maintain a high level of compatibility with Shoes 2 and 3. But, they do diverge. Shoes 3.2 is at the point were we can think about using those quirky features and perhaps diverge further. Did you read the word "Perhaps".
Every thing below is speculation. This is not a road map or even a plan. Not a promise to be found below. No Promises. Some of these might be impossible and the rest very difficult. Some might be better accomplished in a native back end to Shoes4.
You can't put Shoes changes in two categories. They overlap and there are feedbacks from one idea to another.
This request has been around forever. And always short of volunteers and long on pointers to gitub projects that almost do it for one or two platforms. Then those projects fade away to unmaintained because it's a hard problem.
Shoes 3.2 is much better. You can run the packaging code as a Shoes GUI program or drive it with a yaml file and some command line ruby. It's also set up to only package Shoes and not 'anything'. A deeper understanding and integration with NSIS would be needed along with some sort of recipe scheme/DSL like brew, knapsack and rake compiler - some of those are falling into dis-repair.
- icons
- system tray, task bar, dock dynamic changes
- notifications
- install the development tools and libs needed to build native code gems.
- Better user drawn/defined widgets. Provide a repaint method.
- MVC separation
- Ability to define Z order
- GUI builder
- Unit test TestRunner
- Packaging and run a Shoes application in and from an Sqlite3 database.
- Printing feature
It's a wish list. Add yours.