後方互換性の問題ステートメント

いつものように、プレゼンテーションを開始する前に、「後方互換性」のセマンティック定義を示します。







後方互換性は、APIシステム全体の特性であり、長期にわたって安定しています。これは、次のことを意味します。APIを使用して開発者が作成したコードは、長期間にわたって正しく機能し続けますこの定義には2つの大きな疑問があり、それらには2つの説明があります。







  1. 「機能的に正しい」とはどういう意味ですか?







    これは、コードがその機能を実行し続けることを意味します-いくつかのユーザータスクを解決するために。これは、同じように機能し続けることを意味するわけではありません。たとえば、UIライブラリを提供する場合、シャドウの深さや境界線のストロークの形状など、機能的に無関係なデザインの詳細を変更しても、後方互換性が損なわれることはありません。ただし、たとえば、ビジュアルコンポーネントのサイズを変更すると、一部のカスタムレイアウトがバラバラになる可能性があります。







  2. 「長い時間」とはどういう意味ですか?







    私たちの観点からは、後方互換性を維持する期間は、対応するサブジェクト領域のアプリケーションのライフサイクルの期間にリンクする必要があります。ほとんどの場合、適切なガイドラインはプラットフォームのLTS期間です。プラットフォームのサポートが終了したため、アプリケーションは引き続き書き直されるため、APIの新しいバージョンへの切り替えも提案するのが普通です。主な対象分野(デスクトップおよびモバイルオペレーティングシステム)では、この期間は数年で計算されます。









後方互換性を維持する必要がある理由(API設計段階で必要な対策を講じることを含む)は、定義から明らかです。APIプロバイダーの障害によるアプリケーションの(完全または部分的な)終了は、開発者にとって、特にこのAPIにお金を払っている場合、災害ではないにしても、非常に不快なイベントです。







: ? ? , , , .







, API. : , , . , , , , API, :







  • , , , ;







  • : , ;







  • , API , .









« API », . : API , , API — — .







NB: : « » API.







, API — , . , : - — , , . : , , .







API, : , .









, API, — . , . :







  1. on-demand , - , ( SDK, , JS API), API . , - .







    , — SDK . , on-demand — , , . , ( ) SDK. , - , API .







  2. on-demand , , . , — «» , API, , . , Web-; , — :







    • , ;
    • ( , , , «» );
    • , .







      . , API — , API.







      SDK, API , , HTTP . , , API - SDK, . : SDK — SDK ( - ), . « — », , : API — , API . , , API .











, API stateless SDK ( SDK ), , — API. - API SDK.









— , API. , , - :







  • ;
  • ;
  • .


, API . API - , API, , — . , — , , .







, API , , , () . , API , , , .









, — «», API. , , , , . , , , SDK. , , .







, , ( API) , , .







, API , . , — , , , . «» , API.









, :







  • , API, ; , , ;
  • API ;
  • , API .


.







  1. API.







    . API , , . , , . , . , , ( ), , .







  2. .







    , : . 5-10 , — , . , .







  3. ( ) .







    :







    • API SDK, API, : API , ;
    • code-on-demand SDK, SDK , , - . , , .




これらの問題については、次の章で詳しく説明します。さらに、セクションIIIでは、消費者に新しいバージョンとサポートの終了を警告する方法、および新しいAPIバージョンへの移行を促す方法についても説明します。










これは、API開発に関する本の将来の章のドラフトです。作業はGithubで行わます。

同じ章の英語版がメディアで公開されています。redditで共有していただければ幸いです。プラットフォームのポリシーに従って私自身はできません。








All Articles