web-dev-qa-db-ja.com

Webアプリのフロントエンドを完全にバックエンドにとらわれないようにする必要がありますか

私はとてもアマチュアの開発者です。 parse-serverをバックエンドとして使用するWebアプリを作成しました。

私の質問は、フロントエンドがバックエンド(解析サーバー)に対してどれほど不可知であるかを中心に展開していますか?

たとえば、クライアント側(ブラウザ)で、解析サーバーにデータを照会します。たとえば、関数GetData()を使用するとします。次に、私のWebアプリがそのデータをユーザーに表示します。たとえば、ShowData()を使用します。ただし、GetData()は解析オブジェクトの配列を返します。したがって、クライアント側のレンダリング関数は、データが解析オブジェクトの配列である必要があります。

基本的に、私のコードはparse-serverを使用してロックされています。たとえば、Firebaseでしか利用できないキラー機能「X」が必要だと決めた場合、簡単に移動することはできません。

私にとって、私はバックエンドを移動する予定はありませんが、これがプロのサークルでどのように行われるのか知りたいですか?

したがって、ShowData()は、一般的な形式(JSONなど)のデータを必要とするような方法で記述されます。そしてGetData()は、使用されるバックエンド(parse、firebaseなど)が常に同じ形式(JSONまたはその他)でデータを返すことを保証しますか?

それとも私がそれをした方法は完全に正常ですか?

1
SimpleOne

Parse-serverを他のものに置き換えたい場合は、ここに潜在的な問題があることを正しく認識しました。これに対する「解決策」は、ご提案のとおり、すべてのサードパーティの依存関係がアダプターで確実にラップされるようにすることです。依存関係を切り替える必要がある場合は、アダプターを書き換えるだけで済みます。

実際には、多くの開発者はこれを行うことを気にしません。彼らは、彼らが決して必要としないかもしれない何かのための余分な開発努力の価値がないというスタンスをとります。他の人たちは、コードを構造化して読みやすくするのに役立つので、とにかく余分な開発作業の価値があると信じています。

3
Pete