Skip to content

GettingStartedMap.md

Noah Gibbs edited this page Nov 14, 2023 · 3 revisions

Welcome! You've just started on your Shoes journey. What's ready to use, and what doesn't work yet?

Scarpe is still a pretty young project. I'll mark things that work right now and are ready to use as (READY) and things that are still in progress as (NOT YET). There will be some (MAYBE) where things exist but aren't as mature or well-tested as they eventually will be. I'll mark a few things with (FAR AWAY) which means they're likely to take some time to happen.

(When I talk about "Scarpe" I mean our project, which implements Shoes on Webview and Wasm. When I say "Shoes" I mean those, but also learning the Shoes language for writing applications, which is older than Scarpe and has been implemented a bunch of times.)

Let's talk about the steps of your journey -- what they should be, and what they are right now.

Install Scarpe: Your OS

First, about your operating system...

  • (READY) MacOS! MacOS is very friendly to Ruby development and it's the primary OS of most Scarpe developers.
  • (MAYBE) Linux! We have a couple of Linux developers and Ruby works very well on Linux, but it's not Scarpe's primary platform.
  • (FAR AWAY) Windows - the basic libraries we use, like Webview, work on Windows. But right now nobody is actively working on Windows.
  • (FAR AWAY) Anything else - we talk about other platforms, but we don't have a roadmap for anything else yet.

So right this second, you should be using Mac or Linux, or be prepared to do a bunch of work for yourself to make Windows happen. Realistically, a Windows port will be hard and require significant expertise or you'll need to use Scarpe-Wasm for OS independence, not Webview. Eventually we'll have constant multiplatform testing but we're not there yet.

Install Scarpe: Ruby and Gems

Eventually Scarpe will ship with prepackaged Ruby and gems. Right now, you'll have to install it.

How comfortable are you with installing Ruby for yourself?

  • (READY) Very comfortable. I already use a Ruby version manager and I install gems daily, without trouble. I know Bundler pretty well.
  • (MAYBE) I can write some Ruby and I might have a version manager installed. I don't work with Bundler much and it kinda scares me.
  • (MAYBE) I can write Ruby and install gems. I don't mind my gems being a little outdated, but I need them to be on Rubygems already.
  • (FAR AWAY) I want to write Shoes, but I want my Ruby and libraries prepackaged. Everything should just work.

Right now the Scarpe developers are very hands-on, using latest versions of nearly everything. We need to regularly make fixes and improvements to most Scarpe-related gems. It requires some expertise when it comes to Ruby, Rubygems and Bundler. Things are improving, but the published gem versions tend to lag behind the GitHub source code. We're not at a convenient prepackaged point... yet.

Learn Shoes: Books and Videos

You can write a Shoes application just like any other sort of Ruby application. But you'll need to learn the Shoes library, like any other Ruby library.

Nick Schwaderer's "Scarpe Diem" talk from Brighton Ruby 2023 is a great intro to what Shoes is, and how to write a fun app.

_why, the original author of Shoes, wrote a fun weird little book called Nobody Knows Shoes. You'll need to download it to read it, you can't view it on that page.

There is a more standard sort of manual for Shoes, from the older Shoes implementations.

Scarpe maintains Shoes API docs, which are a fast way to determine what style, drawables, etc. are currently supported by Scarpe and how to use them.

Showing Off Your Shoes Applications

It can be hard to show off your Ruby apps to people who aren't Ruby programmers. Scarpe is no exception to this rule (yet).

Old Shoes used to support packaging your application. You could bundle up your app with Shoes and distribute it.

  • (READY) For Ruby programmers, have them install Shoes like you did and run your app.
  • (FAR AWAY) Eventually you'll be able to package your app with Scarpe, just like you did with old Shoes, into archives for all supported OSes.

Clone this wiki locally