Skip to content

Releases: AdamMusa/ruflet

Ruflet Explorer v0.0.23

Choose a tag to compare

@github-actions github-actions released this 07 Sep 20:23
Resolve bundled package paths correctly on Windows

The Windows client build failed with every bundled package "missing": ruflet
must resolve to D:/a/.../ruflet_packages/ruflet, "got file://D/a/...".

package_config.json entries are resolved against a base URI built as
"file://" + the config path. A POSIX path starts with "/", so that yields the
three slashes a file URI needs. A Windows path starts with the drive, so
"file://D:/a/..." parses "D:" as the URI's host and drops it from the path --
which no local package could then match. URI#path also keeps the leading slash
on the way back, returning "/D:/a/..." to File.realpath.

Both directions now go through helpers that add the slash when the path does not
start with one and strip it back off ahead of a drive letter. POSIX paths are
untouched.

Ruflet Explorer Prebuild (experimental)

Pre-release

Choose a tag to compare

@github-actions github-actions released this 21 Aug 16:06
875c671
prebuild-experimental

Merge pull request #25 from AdamMusa/claude/ruflet-rails-erb-native-d…

Ruflet Explorer v0.0.21

Choose a tag to compare

@github-actions github-actions released this 29 Jul 00:28

Full Changelog: v0.0.20...v0.0.21

Ruflet Explorer v0.0.20

Choose a tag to compare

@github-actions github-actions released this 28 Jul 14:24
Ruflet 0.0.20

Ruflet Explorer becomes the preview client, built for every platform by
the release workflow. Desktop and web clients are server-driven and
resolve their server at launch; mobile ships self-contained with the
embedded VM.

Includes ruby_runtime 0.0.9, rebuilt from current framework sources.

Ruflet Explorer v0.0.19

Pre-release

Choose a tag to compare

@github-actions github-actions released this 15 Jul 21:36
Ruflet 0.0.19

Release 0.0.18

Choose a tag to compare

@AdamMusa AdamMusa released this 15 Jul 04:28

Ruflet

Ruflet is a Ruby framework inspired by Flet for building web, desktop, and mobile apps in Ruby.

Class-based apps are the recommended and documented standard:

  • class MyApp < Ruflet::App
  • implement def view(page)

Start Here

  1. Install mobile client app from releases:
  1. Install gems from RubyGems:
gem install ruflet
  1. Create and run your first app:
ruflet new my_app
cd my_app
bundle install
ruflet run main.rb
  1. Open Ruflet mobile client and connect:
  • Enter URL manually, or
  • Tap Scan QR and scan QR shown by ruflet run ...

Monorepo folders:

  • packages/ruflet_core
  • packages/ruflet_server
  • packages/ruflet
  • packages/ruflet_rails

New Project Behavior

ruflet new <appname> generates a Gemfile that references ruflet.

It does not add ruflet to app dependencies.

That keeps CLI global/tooling-level and app deps runtime-focused.

App Style (Required in docs/examples)

Use class-based apps:

require "ruflet"

class MyApp < Ruflet::App
  def view(page)
    page.vertical_alignment = Ruflet::MainAxisAlignment::CENTER
    page.horizontal_alignment = Ruflet::CrossAxisAlignment::CENTER
    page.title = "Hello"
    page.add(text(value: "Hello Ruflet"))
  end
end

MyApp.new.run

CLI

ruflet new <appname>
ruflet run [scriptname|path] [--web|--mobile|--desktop]
ruflet build <apk|ios|aab|web|macos|windows|linux>

By default ruflet build ... looks for Flutter client at ./ruflet_client.
Set RUFLET_CLIENT_DIR to override.

Development (Monorepo)

cd Monorepo && bundle install

Documentation

This is an Beta version

Choose a tag to compare

@AdamMusa AdamMusa released this 20 Jun 05:30

Ruflet

Ruflet is a Ruby framework inspired by Flet for building web, desktop, and mobile apps in Ruby.

Class-based apps are the recommended and documented standard:

  • class MyApp < Ruflet::App
  • implement def view(page)

Start Here

  1. Install mobile client app from releases:
  1. Install gems from RubyGems:
gem install ruflet
  1. Create and run your first app:
ruflet new my_app
cd my_app
bundle install
ruflet run main.rb
  1. Open Ruflet mobile client and connect:
  • Enter URL manually, or
  • Tap Scan QR and scan QR shown by ruflet run ...

Package Split

Ruflet is split into packages:

  • ruflet: runtime umbrella package
  • ruflet_server: WebSocket runtime
  • ruflet_cli: CLI executable (ruflet)
  • ruflet_rails: Rails integration

Monorepo folders:

  • packages/ruflet_core
  • packages/ruflet_server
  • packages/ruflet
  • packages/ruflet_rails

New Project Behavior

ruflet new <appname> generates a Gemfile that references ruflet.

It does not add ruflet to app dependencies.

That keeps CLI global/tooling-level and app deps runtime-focused.

App Style (Required in docs/examples)

Use class-based apps:

require "ruflet"

class MyApp < Ruflet::App
  def view(page)
    page.vertical_alignment = Ruflet::MainAxisAlignment::CENTER
    page.horizontal_alignment = Ruflet::CrossAxisAlignment::CENTER
    page.title = "Hello"
    page.add(text(value: "Hello Ruflet"))
  end
end

MyApp.new.run

CLI

ruflet new <appname>
ruflet run [scriptname|path] [--web|--mobile|--desktop]
ruflet build <apk|ios|aab|web|macos|windows|linux>

By default ruflet build ... looks for Flutter client at ./ruflet_client.
Set RUFLET_CLIENT_DIR to override.

Development (Monorepo)

cd /Users/macbookpro/Documents/Izeesoft/FlutterApp/ruflet
/opt/homebrew/opt/ruby/bin/bundle install

Documentation

What's Changed

Full Changelog: https://github.com/AdamMusa/ruflet/commits/prebuild-main

Ruflet Explorer Prebuild (main)

Pre-release

Choose a tag to compare

@github-actions github-actions released this 21 Jun 19:30
c2f042a
Merge pull request #16 from AdamMusa/dev

Dev