IT・技術研修ならCTC教育サービス

サイト内検索 企業情報 サイトマップ

研修コース検索

コラム

Ruby on Rails 海外事情コラム

CTC 教育サービス

 [IT研修]注目キーワード   Python  UiPath(RPA)  最新技術動向  OpenStack  システムトラブルシュート 

第44回 大きなRailsコミュニティの今と今後 (野田貴子) 2019年5月

国内外には企業に就職しつつ、Ruby on RailsなどのOSSへフルコミットを続ける方々が存在しますよね。その中の1名がRailsプロジェクトから抜けることになったというご自身の報告ブログを読みました。

『Railsから離れ、次に何をするか』
Moving on from Rails and what's next

この方はこの6年間で1500件近いコミットをされたのだそうです! その過程で別のプロジェクトや組織を立ち上げ、今後はそちらに注力していかれるとのことです。日々Railsを開発し続けている方々の一面を覗くことができました。

さて、去る人もいれば来る人もいる(そして後者の方が格段に多い)この大きなRailsコミュニティですが、次の記事も注目を浴びていました。

『2019年の現状にRailsが未だ適切であると私が信じる理由』
Why I Believe Rails is Still Relevant in 2019

今確認した時点で27件ものコメントがついていました!

この記事で挙げられているRailsのメリットを一部抜粋します。


Railsはスケーラブルである

否定的なネット報道の方が多いですが、私はRailsはスケールすると主張します。

Railsは世界で最速のフレームワークではありません・・・しかし、スケールしたいときに心配すべきものの中で、一番優先度が低いのがパフォーマンスであると私は主張します。

1秒間に処理できるリクエスト数よりも重要なのは、開発チームが長期にわたって生産性を維持する方法です。

Railsアプリケーションはコードの品質に対する確固たる評価軸に重点が置かれているため、他のものと比較して健康で簡潔なままでい続けることができるのです。

すでに強力なルールがある

Railsは強力なルールがあるフレームワークの1つです。個人の好みが大きい決定事項について開発チームで意見をぶつけ合うことは人件費の無駄ですし、合意を得るには心労が溜まります。

データモデルに関連するファイルをどこに置くべきか? /app/model です!

設定をどこに置くべきか? /configです。

Eメールコードは? /app/mailers です。

決定しましたね。議論終了です。それでは机に戻ってコードを書きましょう。

頼りになるルールがあるととても爽やかです。Railsを理解していれば新しいプロジェクトに入ってもすぐに生産性を発揮できます。新しい参加者もすでに慣習に精通しているため、開発者の採用が簡単になります。

DB管理ツールが良い

データベースの管理は困難です。データベーススキーマや移行の管理も困難です。

Railsはデータベース構造を定義する素晴らしい方法のほかにも、すべての環境においてデータベースを移行、リセット、シード、削除、作成するためのCLIコマンド一式を提供しています。

設定管理が良い

あの Twelve-Factor App の3番目の項目は設定管理です。

Railsフレームワークには複数環境のサポートが組み込まれており、テスト、開発、そして製品の各段階に対して良識的な初期値と安全チェックが備わっています。

Railsはdotenvライブラリなどを用いた環境変数も大いにサポートしています。

コードの品質に対する深い文化がある

きれいで読みやすいコードを書くことは、常にRailsのDNAにあります。Rubyの言語自体が主な設計原則として明確で簡潔なコードでデザインされています。

Railsはみなさんがコードを構築するときに自動的にテストを生成するので、開発者は十分にテストされた、きれいなコードを書くように勧められます。

RubyとRailsのおかげで、TDDやBDDの原則が開発の脚光を浴びたと主張する人もいるでしょう。

アセット管理が良い

Railsチームは、現代的な方法でアセットを管理するための単純な(しかし強力な)方法を作成することに多くの時間と努力を注いできました。

JavascriptのWebpackは設定が難しいことで有名です

ありがたいことに、Railsはアセットパイプラインを標準機能のままで利用できるようにしました。

Rubyは使うのが楽しい

言語としてのRubyは単純でゴージャスです

みなさんの邪魔にならず、柔軟で簡潔なメタプログラミングをサポートし、そして素晴らしい標準ライブラリが用意されています。

業界で最も優れたパッケージ管理ツールの1つであることは言うまでもありません

RSpecという黄金の標準テストツールがある

RSpecビヘイビア駆動型開発のための非常に単純なゴールドスタンダードであり、ほぼこれ一つでBDDの動きを生み出しました。

プラグインが選び放題である

プラグインの数と範囲を誇るフレームワークは他にありません。

Railsはオープンソースコミュニティを活用して、すばやく生産性を高めることを目的としています。Railsはすぐに起動して実行するためのツール(とドキュメント)を提供しています。

Herokuと相性が良い

AWSGoogle Cloud Platform、その他のソリューションと比べると確かに少し割高ですが、Herokuはまったくユニークなものなのです。

HerokuはRailsの「バッテリー同梱(訳注:標準機能のまま利用できる)」哲学を採用し、ほぼ一晩で開発業務に革命をもたらしました。

単一コマンドの展開と簡単なプラグインシステムを提供することで、Herokuは開発者が大規模なエンタープライズレベルのインフラを簡単で素早いGUIで展開、管理できるようにしました。

ActiveAdminが良い

私が個人的に気に入っているRailsの特徴の1つは、管理ツールとバックオフィスツールを生成するための自動ツールです。

おそらく最も良いのはActiveAdminです。しっかりとサポートされていて、安全で、そしてスマートなデフォルトで。ActiveAdminは開発者がほんの数行のコードを書けば複雑な管理GUIを自動生成してくれます。

このツールがデータベーステーブルを指すようにして、いくつかのフィールドをリストアップしてレイアウトを定義するだけで、あら不思議! パーソナライズされたデータ管理ツールが手に入ります。無料のテーマを1つダウンロードすれば、ツールの作成で時間を無駄にすることなく、プロジェクトの開発を進めることができます。

業界に認められている

Railsは百戦錬磨であり、業界で実証済みです。(非常に)成功したビジネスの中に、Railsを使って製品を開発している企業が数多くあります。

Twitter、AirBNB、Github、Kickstarter、DigitalOcean、Groupon、SlideShare、Urban Dictionary、Couchsurfing、Basecampなど、枚挙に暇がありません。

Railsは安全で、オープンソースで、どこにでもあります。厚い人材の層があります。フレームワークは成熟し、コミュニティは活気に満ちているのです。

 


 

 [IT研修]注目キーワード   Python  UiPath(RPA)  最新技術動向  OpenStack  システムトラブルシュート