モバイル アプリのバックエンド インターフェイスはどのように設計されていますか? ? ?アプリのバックエンド インターフェイスの開発を行ったことがあるかどうか教えていただけますか?ありがとう
これは大きな質問です。いくつかの角度から答えてみましょう。
まず、ビジネス要件とパフォーマンスの観点から、どのデータ構造をフロントエンドに配置し、どのデータ構造をバックエンドに配置するか、どのデータ構造を一度取得してキャッシュするだけでよいかを明確に定義する必要があります。フロントエンド、および毎回キャッシュされるもの バックエンドと通信する必要があるもの、リアルタイム応答が必要なもの、プッシュする必要があるものなど。これらすべてが明確に検討され、プロジェクト チームのメンバー全員と十分にコミュニケーションが図られ、フロントエンドとバックエンドの開発者全員がこのアーキテクチャに同意した後でのみ、バックエンドの設計方法を検討し始めることができます。
2 番目に、バックエンドの設計を開始するときに最初に考慮すべきことは、データベースの選択です。これも大きなトピックなので、ここでは詳しく説明しません。理論的には、どの言語にもデータベースを搭載できますが、常にそうとは限りません。 Mongodbにはnode.jsを使うのがベストですが、PHPは大丈夫でしょうか?もちろんできます。インターフェイスが RESTful である場合は、mysql よりも postgresql を選択する方が良いかもしれません。postgresql には独自の REST インターフェイスがあり、開発する必要さえありません。しかし、セキュリティを確保するにはどうすればよいでしょうか。 jwtはサポートされていますか?パフォーマンスはどうですか?これらの問題は慎重に検討する必要があります。事前に広範な調査と経験を積んでおけば、やみくもに開発に投資しないでください。
第三に、データベースと開発言語の両方を選択する場合、既製のフレームワークを使用するかどうかにも依存します。PHP であっても、少なくとも 10 個以上のフレームワークから選択することで、2 倍の効果が得られます。半分の労力で結果が得られます。現段階では、フロントエンドとバックエンドのインターフェースでは主に json 通信が使用され、soap プロトコルはほとんど使用されません。ただし、同期か非同期かによっても異なります。通常は非同期の ajax 通信が使用されますが、同期通信が必要な場合には WebSocket が使用されます。 json を使用する場合でも、独自の json フィールドを直接定義して、rest メソッドを使用するオプションがあります。ajax はステートレスであり、使用可能なセッションと Cookie がないため、セキュリティの問題を考慮する必要があります。
最後に、人的要因があります。開発サイクルは無限に長くすることはできず、全員が学習する時間はありません。そのため、チーム メンバーがどの言語、データベース、フレームワークに慣れているかを考慮する必要もあります。システムのパフォーマンスと開発速度のバランス。
これは大きな質問です。いくつかの角度から答えてみましょう。
まず、ビジネス要件とパフォーマンスの観点から、どのデータ構造をフロントエンドに配置し、どのデータ構造をバックエンドに配置するか、どのデータ構造を一度取得してキャッシュするだけでよいかを明確に定義する必要があります。フロントエンド、および毎回キャッシュされるもの バックエンドと通信する必要があるもの、リアルタイム応答が必要なもの、プッシュする必要があるものなど。これらすべてが明確に検討され、プロジェクト チームのメンバー全員と十分にコミュニケーションが図られ、フロントエンドとバックエンドの開発者全員がこのアーキテクチャに同意した後でのみ、バックエンドの設計方法を検討し始めることができます。
2 番目に、バックエンドの設計を開始するときに最初に考慮すべきことは、データベースの選択です。これも大きなトピックなので、ここでは詳しく説明しません。理論的には、どの言語にもデータベースを搭載できますが、常にそうとは限りません。 Mongodbにはnode.jsを使うのがベストですが、PHPは大丈夫でしょうか?もちろんできます。インターフェイスが RESTful である場合は、mysql よりも postgresql を選択する方が良いかもしれません。postgresql には独自の REST インターフェイスがあり、開発する必要さえありません。しかし、セキュリティを確保するにはどうすればよいでしょうか。 jwtはサポートされていますか?パフォーマンスはどうですか?これらの問題は慎重に検討する必要があります。事前に広範な調査と経験を積んでおけば、やみくもに開発に投資しないでください。
第三に、データベースと開発言語の両方を選択する場合、既製のフレームワークを使用するかどうかにも依存します。PHP であっても、少なくとも 10 個以上のフレームワークから選択することで、2 倍の効果が得られます。半分の労力で結果が得られます。現段階では、フロントエンドとバックエンドのインターフェースでは主に json 通信が使用され、soap プロトコルはほとんど使用されません。ただし、同期か非同期かによっても異なります。通常は非同期の ajax 通信が使用されますが、同期通信が必要な場合には WebSocket が使用されます。 json を使用する場合でも、独自の json フィールドを直接定義して、rest メソッドを使用するオプションがあります。ajax はステートレスであり、使用可能なセッションと Cookie がないため、セキュリティの問題を考慮する必要があります。
最後に、人的要因があります。開発サイクルは無限に長くすることはできず、全員が学習する時間はありません。そのため、チーム メンバーがどの言語、データベース、フレームワークに慣れているかを考慮する必要もあります。システムのパフォーマンスと開発速度のバランス。