開発者たちが Morph の PHP 風アプローチによるモダンウェブ開発について議論

BigGo Editorial Team
開発者たちが Morph の PHP 風アプローチによるモダンウェブ開発について議論

ビルドステップなしでハイパーメディア駆動アプリケーションを構築するための新しい組み込み型フルスタックライブラリ Morph が、PHP のようにサーバーとクライアント側のコードを組み合わせる利点について、開発者間で活発な議論を引き起こしています。 Hono 上で動作し、 Deno 、 Node 、および Bun ランタイムをサポートするこのライブラリは、コンポーネントがハイパーテキストを返す独自の API を呼び出せるようにすることで、ウェブ開発を簡素化することを目指しています。

サポートされているランタイム

  • Deno
  • Node.js
  • Bun

PHP との比較

コミュニティの多くの開発者が、 Morph のアプローチと PHP の伝統的なモデルである HTML とコードの混合との類似点を指摘しています。この比較は、モダンな開発手法と古いパラダイムに関する重要な議論を引き起こしました。あるコメンターは、現代の PHP 開発がビジネスロジックとテンプレートを混合させる方法から進化していることを鋭く観察しています:

「現代の PHP は、ビジネスロジックをテンプレートと混合させるような方法では書かれていません。それには正当な理由があります。」

この意見は、プレゼンテーションロジックとビジネスロジックを区別するウェブ開発における関心の分離に向けた業界の広範な変化を反映しています。議論の中心は、 Morph のアプローチが古い慣行への回帰を表しているのか、それとも特定のユースケースに対する実用的な簡素化なのかということです。

アーキテクチャの考慮事項

いくつかの開発者は、 Morph のアーキテクチャがスケーリングの課題にどう対処するかについて懸念を表明しました。ある開発者は、 Morph が PHP の主要な売りの一つである「共有なし、シングルスレッド、実行して忘れる」という方法論を見逃しているように見えると指摘しました。これはロードバランサーの背後に置いて100台のサーバーをスピンアップできるものです。これは、どのウェブフレームワークにとっても重要な考慮事項を浮き彫りにしています:負荷がかかった状態や分散環境でどれだけうまく機能するかということです。

議論はまた、PHP 風の開発の本質が何かにも触れました。一部の人々は、JavaScript のタグ付きテンプレートリテラルを通じて HTML とコードを混合するだけで既に PHP がやっていることを達成していると主張し、 Morph が CSS やその他のテンプレート機能以外にどのような追加価値をもたらすのかを疑問視しました。

Morph の核心原則

  • コンポーネントはハイパーテキストを返す自身のAPIを呼び出すことができる
  • すべてのコンポーネントはサーバーサイドのコンテキストアクセスでサーバーレンダリングされる
  • 独立したコンポーネントのレンダリングと再レンダリング
  • ネスト機能を持つコンポーネント階層
  • クライアントサイド JavaScript が最小限または不要
  • ビルドステップが不要
  • API データ構造を事前に設計する必要がない
  • あらゆる Deno/Node/Bun プロジェクトに埋め込み可能

コンポーネント指向の開発

Morph のアプローチは、伝統的な PHP よりも、 Blazor や Angular のようなフレームワークに似たコンポーネント指向の開発に傾いているようです。このライブラリは、独立して再レンダリングでき、互いにネストして階層を形成するサーバーレンダリングコンポーネントを強調しています。このモデルは、クライアント側の JavaScript を最小限に抑えながら、サーバーサイドレンダリングの利点とシングルページアプリケーションの動的な性質を組み合わせることを目指しています。

Telegram ボット、デスクトップアプリ、または内部ツールなどの小規模なプロジェクトに取り組む開発者にとって、 Morph はフロントエンドとバックエンドを別々のサービスに分割する必要のない、合理化された開発体験を提供する可能性があります。ビルドステップなしと最小限のクライアント側 JavaScript に焦点を当てたこのライブラリは、複雑さが必要ないプロジェクトのための重いフレームワークの代替として位置づけられています。

ウェブ開発が進化し続ける中、 Morph のようなツールは、開発者体験、パフォーマンス、保守性の間で適切なバランスを見つけるための興味深い実験を表しています。そのアプローチが広く採用されるかどうかは、単純化の約束を果たしながら、開発コミュニティから提起された懸念にどれだけうまく対処できるかにかかっています。

参考: Morph