Skip to content

Commit

Permalink
More README updates
Browse files Browse the repository at this point in the history
  • Loading branch information
karmi committed Jan 10, 2009
1 parent 3375e0a commit cb61caf
Showing 1 changed file with 14 additions and 10 deletions.
24 changes: 14 additions & 10 deletions README.markdown
Expand Up @@ -3,7 +3,7 @@ _Shoes_ GUI Toolkit Demonstration Apps

A collection of small apps for demonstrating the features of [_Shoes_][shoes] GUI toolkit.

Suitable for presentation at lectures, user group meetings, etc.
Suitable for presentation at lectures, user group meetings, etc. Fits in under one hour .)

1/ Shapes
---------
Expand All @@ -14,54 +14,58 @@ Basics: drawing shapes on screen. _Shoes_ as domain-specific language (DSL).
2/ Shapes and Colors
--------------------

Drawing with colors. More DSL.
Drawing with colors. More DSL. Programming as inventing and implementing API.


3/ Animations
-------------

The `animate` method. Calculations.
The `animate` method. Calculations. Programming as a "recipe".


4/ Interactivity
----------------

Basics: clicking invokes associated block.
Basics: clicking invokes associated block. _Ruby_ + _Shoes_ = very, very succinct code.


5/ Interactivity with objects
-----------------------------

Subclassing `Shoes::Widget` extends _Shoes'_ DSL with our own methods. Handle `click` and `release`.
Subclassing `Shoes::Widget` extends _Shoes'_ DSL with our own methods. Work with sound. Handle `click` and `release`.


6/ Layout
---------

Inspiration in HTML.
Inspiration: HTML.


7/ Interface
------------

Forms are as easy in _Shoes_ as in HTML.
Forms are as easy in _Shoes_ as in HTML. Very, very easy.


8/ Live Interface
-----------------

Let's send the form data to a _Rails_ application running at `http://localhost:3000` and display the response status. See the simple _Rails_ app in `rails_people` directory.
Let's send the form data to a _Rails_ application running at `http://localhost:3000` and display the response status. See the simple _Rails_ app in `rails_people` directory. Run with `script/server` to have an endpoint for _Shoes_ app.


9/ Uploader
-----------

A bit more complex example: a simple "uploader" sending one or more files with `Net::HTTP` to a [_Sinatra_][sinatra] application (see `sinatra_upload_service.rb`), which receives files and saves them to `uploads` directory. Demonstrates more complex interface, working with progress bars in _Shoes_, using _threads_. (Obviously, in real world application you would do multipart requests, proxy the uploading webservice, etc.)
Simple "uploader" sending one or more files with `Net::HTTP` to a [_Sinatra_][sinatra] application (see `sinatra_upload_service.rb`), which receives the files and saves them to `uploads` directory.

More complex interface, working with progress bars in _Shoes_, using _threads_. Run _Sinatra_ endpoint with `ruby sinatra_upload_service.rb`. Possible "homework": refactor the `upload` method.

(Obviously, in real world application you would do multipart requests, proxy the uploading webservice, etc. This is _not_ production code.)


---

Released under MIT license. Use anything in whatever manner you like.
Released under MIT license in 2009 by Karel Minarik. Use anything in whatever manner you like.


[shoes]: http://www.shoooes.net
Expand Down

0 comments on commit cb61caf

Please sign in to comment.