6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Rails Girls JapanAdvent Calendar 2019

Day 2

Rails Girlsのカリキュラムをこうしていきたいみたいな提案

Posted at

動機

Rails Girlsのカリキュラムが時代に合わなくなりつつあるのでは、みたいな議論を複数人としたことがあるので、個人的な想いを書きたいと思いました。

TL;DR

「動き」のあるアプリケーションを作れるようにするといいんじゃないか。

本編

前提

まず、エンドユーザー(Rails Girlsの参加者の多くはこのタイプ、ここではアプリケーションの生産者ではなく消費者であるという意味合い)が利用するアプリケーション(特にウェブアプリケーション)の品質は年々向上しており、今やSPA(Single Page Application)を利用することすら当たり前の人もいる。

一方、Rails Girlsのワークショップで作るアプリケーションは伝統的なCRUDのアプリケーションであり、そこには現代的なアプリケーション作成における重要なパーツであるインタラクションが欠けている。

問題意識

Rails Girlsの目的は参加者に良いアプリケーションを作ってもらうことではなく、成功体験を持ち帰ってもらうこと。それはそうなのだけど、「普段自分が使うアプリケーションよりもインタラクションの面で明らかに劣るもの」を作って得られる成功体験の質はどれだけ高いのか。この問題意識がこの記事を書かせている。

解決に向けた案

やはりインタラクティブな現代的ウェブアプリケーションを作る上でJavaScriptは欠かせない。しかしRails Girlsの趣旨を考えても、そのために重量級のライブラリを導入するのは避けたい。
色々を除外した結果、ワークショップの方針として、

  1. Stimulusを使う
  2. ライブラリを使わない(Vanilla JS)

の2つを挙げたい。

Stimulus

Stimulusを使うことにはいくつかのメリットが考えられる。

  • DOMに記述が必要なのはdata-targetなどの属性だけで、これはコピペするHTMLに含めてしまうことができる
  • 新しく必要になるJSは単一ファイルなので、説明も比較的容易
  • インストールが簡単(rails new --webpack stimulusでインストール可能)

一方、無視できない欠点もある。

  • インストール時に一手間(webpack関連の記述)が増える
  • 概念は必ずしも易しくはない
  • 魔法が多く、書いてないことが行われる

総じて、個人的にはアリな選択肢だと思われる。

Vanilla JS

要はライブラリを使わないで書くということ。こちらのメリットは、

  • インストール不要
  • 書いたままのことが起こる

欠点は、

  • やろうとすることの複雑さ次第ではライブラリを使うよりもコードが多く複雑になる可能性がある

正直、Vanilla JSで何かちゃんとしたことをやるのが初学者に対してどの程度簡単に感じられるのか次第になってしまう気はする。

まとめ

実は、Stimulusを使ったRails Girlsのワークショップ向け事例を作れないかと思ったのだけど、案の定間に合わなかったので、ふわっとした議論になってしまっていることは否めない。
しかし、2020年になろうというときにせっかく作ったアプリケーションに動きがないのも寂しいと思うので、なんとかしてアプリケーションに動きを付ける方法を模索していきたいと思う。
個人的にはStimulus推し。

最後に

カリキュラムを更新する場合、本家のRails Girlsの方とも一緒にやらないといけないと思われるので、実際はそちらが大変だと思うのだけど、そちらも含めてやっていきたい。

6
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?