フロントエンドとして AngularJS を使用するのに適したバックエンドについての提案を知りたいです。
提案されたバックエンドが優れている理由は何ですか? 使いやすく、習得しやすいですか?
ベストアンサー1
この質問では意見に基づく回答にかなりのリスクがあるため、より批判的な評価を提案します。
RESTfulなサーバーサイド実装
... Angular での作業がかなり簡単になり、苦痛も軽減されるだけでなく、HTTP 仕様に忠実になり、それに伴うすべての利点が得られます。どの言語を選択する場合でも、フレームワークがこれを行うための労力を最小限に抑えることを確認してください。
私の経験では:
PHP の:
Vanilla PHP と Codeigniter は、これを実行する能力はありますが、不十分なので、使用しないことをお勧めします。Symfony や、より大きな ORM ベースのフレームワークについてはわかりませんが、学習曲線が簡単ではないことは理解しています。このようなことは、WordPress や Drupal などの CMS アプリケーションの使用目的ではないため、使用しないことを強くお勧めします。
Laravelは比較的学習曲線が低く、RESTFulインターフェースを組み込んだ。
ノードJS
NodeJS は、サーバー側用の非常に多くのフレームワークを提供しており、Express とその派生版は、それらの多くのベースとなっているようです。Express は、RESTful インターフェースを作成する柔軟性を提供していますが、デフォルトではこれを行いません。より多くの構文糖を追加するには、通常、独自のミドルウェアを接続する必要があります。
ルビーオンレール私の理解するところによると、Railsを使用したRESTful API。
データベースサポート
PHP のバニラ PHP mysqli のデータベース サポートは機能しますが、使用するにはレベルが低すぎます。CodeIgnighter、Symfony、Lavel などのフレームワークはすべて、さまざまなレベルでデータベースを操作するために必要な抽象化とセキュリティを提供します。この点でそれらを区別することは、主に好みの問題です。PHP フレームワークは、NoSQL タイプの新しいデータベースのサポートに苦労する可能性があります。
ノードJSExpress は、NPM リポジトリからの文字通り何千ものオプションを備えた適切なミドルウェアを使用して、すべての主要な形式のデータベースをサポートします。通常どおり、さまざまな難易度でそれらを接続して自分自身を表現する必要があります。
ルビーオンレールRails は、セキュリティと使いやすさの両方をすぐに利用できるアクティブ レコード パターンをサポートしています。これにより、一般的な標準リレーショナル データベースの大部分がサポートされます。ただし、NoSQL データベースとの統合については不明です。
学習曲線
これは主観的すぎるので、いくつかの落とし穴を除いて多くを語ることはできません。NodeJSコミュニティは始めるのにかなり高いレベルのスキルを期待しており、コールバック地獄この問題は、サーバー側開発の学習者にとって深刻な障壁となるほど大きいです。
安全
PHP のバニラ PHP はセキュリティがほとんどないため、推奨されません。Codeigniter、Laravel、その他のフレームワークは、少なくとも文字列エスケープと SQL インジェクション攻撃に対する保護によって、ある程度の保護を提供します。
ノードJSExpressは、すぐに使えるセキュリティ機能をあまり提供していませんが、次のようなモジュールで強化することができます。ヘルメットこれは欠陥というよりは、このアプリケーションの非意見的な性質を反映していると言えます。
レールRailsはActive Recordによる基本的なSQLインジェクション保護やCSRF保護などの機能を提供していると理解しています。箱の。
個人的に: Angular での作業で、自分のサーバー側開発に Koa (Express に代わるアプリケーション) を使用しています。レガシー プロジェクトでは CodeIgnighter を使用しています。