つい先日、Rails技術者認定試験運営委員会は「Rails7ベーシック試験」を発表しました。
発表記事は以下をご覧ください。
この試験は発表時点での最新リリースバージョンであるRails 7.1を対象としています。
Rails技術者認定試験としても大きなバージョンアップを迎えることとなります。そこで今回は、最近のRailsの歴史について振り返ってみたいと思います。
Rails 5 (2016年~)
Action Cable
RailsにWebSocketの機能を統合し、リアルタイムな双方向アプリケーションをRailsらしく実装できる機能が導入されました。
Webブラウザ上でリアルタイムな双方向通信を実現するWebSocketですが、利用するためにはサーバーとクライアント双方でかなりの労力を要する状況でした。そんな中、Railsはこの双方をフルスタックで提供しました。
これによりリッチな双方向アプリケーションを比較的容易に実現できるようになり、RailsアプリケーションのUXは大幅に向上しました。
Rails API
通常のWebページを提供する目的では無く、APIを提供するために軽量化されたアプリケーションを構築する機能が導入されました。
SPA(Single Page Application)やスマートフォンアプリと通信するサーバーアプリケーションを構築する場合、サーバーとクライアントとのやり取りはJSONなどのシンプルなメッセージを利用することとなり、通常のRailsアプリケーションでは機能が厚すぎる、という状況でした。
Rails APIはシンプルな機能を提供することに特化し、Railsのやり方で軽量なAPIサーバーを開発できるようになりました。
Rails 5.1 (2017年)
JavaScript関連機能の強化
Webアプリケーション開発においては切っても切り離せないJavaScriptの領域ですが、このバージョンのRailsではJavaScriptの資産をより扱いやすくするための変更が加えられました。
jQueryへの依存から脱却し、YarnやWebpackを用いたモダンなJavaScriptを活用した開発がしやすくなりました。
Rails 5.2 (2018年)
Active Storage
モデルのレコードに関連する外部ファイル、例えば画像などをどのように扱うか、というトピックはRailsでは標準提供の機能が無かったため頭を使う領域でした。
そこで導入されたActive Storageによってこの問題は解決されました。ローカルストレージだけではなくAmazon S3などのクラウドストレージにも対応し、これらの違いを設定ファイル以外の面ではほとんど意識すること無くRailsのやり方で扱えるようになりました
Rails 6 (2019年~)
Action Mailbox
Webアプリケーションとメールの送受信は切り離せない関係にあります。
Action Mailboxにより、送信だけではなく受信の機能をもRailsに統合されました。
Action Text
CMSをRailsアプリケーションとして構築することはよくありますが、記事を自由に編集できるようにする……文字の大きさや色を変えたり、画像を配置したり……といったWYSIWYGエディタ、リッチテキストエディタの実現は、決して簡単ではありませんでした。
Action TextはRailsの標準機能としてリッチエディタを実現する仕組みをもたらしました。
Rails 6.1 (2020年)
データベース関連機能の強化
RailsのActive Recordは大変高機能で、アプリケーションの裏側にあるデータベースについてあまり意識することなく開発をすることができます。その一方でアプリーションが大規模化・複雑化するとデータベースを無視することはできず、細かな制御や設計が必要となってきます。
このバージョンでは、そういった状況に向き合うための機能が強化されました。
Rails 7 (2021年~)
Rails 7のリリース時、DHHは「ビジョンの実現、前菜からデザートまでが揃ったomakase menu」と表現しました。
Railsアプリケーションでのフロントエンド開発は、周辺環境であるJavaScript、NodeJSに依存した部分があることでサーバーサイドの開発に比べると複雑であり、開発体験を損ねているところがありました。
このバージョンでは、それまでのTurbolinksやRailsUJSを置き換えるHotwireの導入、特定のJavaScript関連技術との密結合の回避が実現されました。
これにより、Railsのフロントエンド開発はサーバーサイド開発のシンプルさに近づきました。
Rails 7.1 (2023年)
記憶に新しいRails 7.1については、是非過去のコラムをご覧ください。
まとめ
最新のRails 7.1に対応したRails技術者認定試験の開始を前に、最近のRailsの歴史を簡単に振り返ってみました。
より高機能なアプリケーションをRailsらしく実現するために、Railsの機能が強化されていった流れの片鱗が伺えたかと思います。
今回はマイナーバージョンのみを取り上げてご紹介しましたが、パッチバージョンの更新を含めると更に膨大な機能が追加、更新されており、全体を把握することは困難です。
Rails7ベーシック試験では、基本となる領域について全体的な理解度を確認することができます。
本試験の実施はもうしばらくお待ちいただく必要がありますが、その前の2024年3月3日(日)にベータ試験が開催されます。
ベータ試験ではありますが合格された方は全員が第一号の本認定として扱われますので、ご興味のある方は是非お申し込みください。
Rails7ベーシック・ベータ試験のお申し込みはこちらから
お知らせ
当委員会はRails 7 技術者認定ベーシック試験を実施することを発表いたしました。
試験の概要については以下のページをご覧ください。
Rails技術者認定試験のエントリー資格である「Rails7ベーシック試験」を発表