RubyはRailsではありません

最近、彼らはRubyRuby on Railsとしてのみ考え始めました 。 しかし、Rubyの世界にはまだ多くの美しくてユニークなものがまだあります。 したがって、偏見と闘うために、偉大で珍しいRubyプロジェクトについて簡単に話したいと思います。


Web


ただし、RubyはWebの言語として知られています。 しかし、Ruby on Railsは唯一のフレームワークからはほど遠いです。

マーブ

主な競合相手はMerbです。 彼はよりクリーンな開発と美しいAPIを持っていると信じられています。

まず、ORMやJavaScriptフレームワークに関連付けられていません。 jQueryまたはExtJSを使用できます。 データベースなしでサイトを作成するか、 Sequelを使用してさらに高速化することができます。 そして、この不可知論はすぐに建築とイデオロギーに組み込まれます。

第二に、サブプロジェクトに分割されます 。最も重要なmerb-coreと特定のタスク用のパッケージです。 サーバーでプロジェクトを生成するためにスクリプトが必要なのはなぜですか?

第三に、Ruby on Rails よりもわずかに高速です 。 その速度は、フレームワークを使用したPHPの速度とすでに比較できるという意見さえあります。 もちろんこれは議論の余地がありますが、おそらくあなたのタスクではより速くなるでしょうか? :)

MVCモジュールと認証実装を作成する必要がある場合、多くの人がスライス実装を気に入っています 。 加えて、Merbのプラグインは普通の宝石です。

もちろん、聖戦「レールズvs. Merb」は無意味な仕事ですが、Merbを見る必要があります-突然あなたはそれを好きになるでしょう。

シナトラ

SinatraはWeb用のDSLです。 正式には、ルーティングシステムのみがミニマリストにとって理想的です:)。 私のためにコードを言ってください:

 「rubygems」が必要
 「シナトラ」が必要

 「/」を取得
   @name = request.cookies ["name"]
   erb:インデックス
終わり

投稿 '/:name' do
   set_cookie "name"、params [:名前]
  リダイレクト '/'
終わり 

その速度はコードの量と一致しています;)。 あなたが小さなプロジェクトを書いているなら、シナトラを見てください。

その他

記事の外には、 RamazeCampingその他多くの人が残ります 。 自分でそれらを参照してください:)。

ORM


ここに簡単に:

DataMapperは、ActiveRecordをRuby on RailsのMerbとして扱います。 サブプロジェクトに分割された、少し速く、場所によりきれいです。 彼らはMerbと一緒にコードの一部「 extlib 」を「共有」します。

SequelはORMでさえなく、SQLをより簡単に書くためのDSLです。 したがって、はるかに高速です。

スクリプト


もちろん、ほとんどのLinuxスクリプトはBashで書かれています。 しかし、Rubyは個人的なスクリプトを書くのに最適な候補です(たとえば、フォトアルバムの特別な組織の場合)。 環境を操作するための簡潔な構文と便利なAPIがあります。コマンドを呼び出すには、内部で指定するだけよく、 IO.popenはコマンドの応答を読み取るのに非常に便利です。 また、対話型のRubyコンソールを持つことは、開発とデバッグの際に非常に役立ちます。

Rakeは、アプリケーションを構築するための美しい構文を導入します。AntやMakeよりもコンパクトで直感的です。

また、 Sake and ThorをRakeの「代替」として参照してください。

Java


ぎくしゃくした速度重視のJavaコード(GUIの説明やテストなど)がある場合は、 JRubyをご覧ください。 多くの場合、実行速度をあまり失うことなく、40〜60%のコードをRubyで記述できます(ただし、プログラミングの速度と道徳的な喜びは増します)。 少なくともプロトタイピングには非常に便利です。 たとえば、GUI用に美しいAPIが作成され、テストには古き良きDSL RSpecを使用できます。

純粋なRubyの人たちは、JRubyの「橋を渡って」見て回ることもできます。Swingは非常に優れたクロスプラットフォームGUIであり、Javaの世界にはProcessingのような多くのデバッグされたライブラリがあります。

くつ


GUIのトピックに触れたので、 Shoesを思い出すしかありません。 各OSのインターフェースがネイティブのように見えると公言していません 。 それどころか、インターネットと同様に、各プログラムには独自のプログラムが必要です。 Shoesにはたくさんのアプリがあります が、私はHackety Hackが本当に好きでしたHackety HackはXULにかかわらず:とにかくクールです。

Ruby Arduino開発


まあ、最後に、最も予期しない-組み込みアプリケーション:)。 方法はわかりませんが、彼らはRADを使用してArduinoマイクロコントローラーの下で書くことができました。 もちろん、美しいDSLの助けを借りて。

最もクレイジーなRADプロジェクトは、素敵なRuby構文を持つバーテンダーです。

 「ドライバー」を飲む
   serve_in 'ハイボールグラス'
  成分はする
     2.オンス:ウォッカ
     5.オンス:orange_juice
  終わり
終わり


PS:もちろん、これらはすべて興味深いプロジェクトではありません。 あなたがいくつかの興味深いことを知っているなら-それらについて書いてください、彼らの開発者はあなたに会えてうれしいです:)。

Source: https://habr.com/ru/post/J45746/


All Articles