web-dev-qa-db-ja.com

ルーメンとLaravelの違いと類似点

私はドキュメンテーションを読みました、そして、それはルーメンがより少ない機能でLaravelであるようです。私は何かが足りないはずです。 LaravelとLumenの両方のコンポーネントと機能の比較表を探しています。誰もが違いを知っていますか?

166
Ranjit Karki

アップデート(5.2)

最新バージョンのLumen(5.2)では、MicroframeworkはステートレスAPIに焦点を当てています。
ドキュメント は次のように述べています。

ルーメン5.2は、ステートレスなJSON APIの提供に専念するために、ルーメンのスリム化への移行を表しています。 そのため、セッションとビューはフレームワークに含まれなくなりました。これらの機能にアクセスする必要がある場合は、Laravelをすべて使用してください。フレームワーク。


元の答え(<= 5.1)

ルーメンはすべてスピードについてです。 Laravelよりも速く、1秒あたりのリクエスト数を処理できます。

Laravelは多くのコンポーネント(サードパーティとLaravels自身のコンポーネント)を接着するフレームワークです。これで、Lumenは同じコンポーネントを多数使用しますが、ブートストラップ処理を最小限に抑えます。あなたはそれが「異なる接着剤」であると言うことができます、コンポーネント(そしてそれ故に多くの機能)はほとんど同じです。

パフォーマンスの向上は、設定の観点からフレームワークの柔軟性をいくらか取り除き、デフォルトのブートプロセスを変更することによって達成されます。

それに加えて、より多くの機能がデフォルトで無効になっており、それらを使用する前にアクティブにする必要があります。例として、ファサードDB::table()のように)
それらを有効にするには、最初にbootstrap/app.phpのこの行をコメント解除する必要があります。

// $app->withFacades();

Dotenv環境ファイルとEloquentについても同じことが言えます。

ルーティングには、Lumenはsymfonysルーターの代わりに nikic/FastRoute を使用します。これは、パフォーマンスが大幅に向上し、マイクロフレームワークがさらに大きく向上するためです。

それ以外はほとんどすべてLaravelと同じです。

ルーメンをよく読む

192
lukasgeiter

LumenはLaravelに代わるものとして設計されているのではなく、マイクロサービスおよびAPI用に設計された、より特殊化された(そして削除された)フレームワークです。 HTTPセッションやCookieなどのAPIに不要な機能を削除し、構成オプションの数も制限しました。 初期状態で、LumenはスピードのためにLaravelの柔軟性を犠牲にしました。

ただし、LumenにLaravelコンポーネントを追加して拡張することができます。そのため、はマイクロサービスやAPI以外にも使用できます。ただし、Lumenを拡張してWebサイトにすることを目的としている場合は、代わりにLaravelを使用することもできます。

彼らはまた異なるユースケースを持っています。ルーメンとLaravelは連携して動作することを意味しています。 APIやサービスが頻繁に呼び出される場合は、Lumenを使用してください。ユーザー向けアプリケーションの場合は、Laravelを使用してください。


この答えは、私が書いた ブログ投稿 から取られたもので、LumenとLaravelの違いを説明しています。

38
d4nyll

マット・スタウファーからの引用

ルーメンはLaravelと同じ基盤を持ち、同じコンポーネントの多くを持っています。しかし、Lumenはマイクロサービス向けに構築されており、ユーザー向けのアプリケーション向けにはあまり開発されていません(BootstrapやElixirなどのフロントエンドの優れた機能、認証ブートストラップやセッションはそのままでは有効になりません)。そして、ブートストラップファイルを拡張したり変更したりするための柔軟性があまりありません。

もっと読むことができます ここ

13
Ivan Dokov

ルーメンマイクロフレームワークは、Laravelフルスタックフレームワークの軽量版です。ルーメンはLaravelの構文とコンポーネントを使用しており、Laravelに簡単に 'アップグレード'できます。

ルーメンは、マイクロサービス開発とAPI開発のために設計された、より特殊化された(そして削除された)フレームワークです。そのため、HTTPセッション、Cookie、テンプレート作成など、Laravelの一部の機能は必要ではなく、Lumenはそれらを取り除きます。ルーティング、ロギング、キャッシュ、キュー、検証、エラー処理など他のカップル。

4
pardeep

なぜルーメンなのですか?

LumenはLaravelベースのマイクロサービスを構築し、高速APIを燃やすための完璧なソリューションです。実際、これは利用可能な最速のマイクロフレームワークの1つです。あなたのLaravelアプリケーションをサポートするための驚くほど高速なサービスを書くことはかつてないほど簡単になりました。 Doc

LumenはAPIを構築するためのフレームワークです。これは基本的にあなたのリクエストに対するJSONレスポンスを提供します。それでおしまい。

これらの種類のアプリケーションは、一般にWebサービスとして知られています

Lumen 5.2アップデートの時点では、laravelビュー、セッションなどはサポートされていません。そのため、フルlaravelフレームワークにアップグレードする必要があります。

Laravelフレームワークの一部のコンポーネントは、パフォーマンスを優先して他のパッケージと交換されています。 ここでチェックしてください

ルーメンを考慮できるシナリオの例

  • あなたはAPIを介して他の開発者にアプリケーションのいくつかの機能を公開したいかもしれません
  • あなたのアプリケーションはWebとモバイルの両方のアプリケーションをサポートする必要があり、それからそれはLumen APIでラップされたDBにデータを格納するのに最適でしょう。
  • スケーラビリティを重要な点として考えると、Lumenが必要になるかもしれません。
0
Shobi