設計 > SDKありとSDKなしでの実装
RS-232Cが使える環境
関連
背景
- とある装置がある
- とある通信interface(例: RS-232C)で通信する
- その装置との通信用SDKが提供されている
- 対応OSは決まっている
とある装置のエミュレータを作ったのは2年くらい前だった。
その後、PC上でSDKを使った通信ソフトのデバッグにそのエミュレータが活躍してきた(数百時間くらい)。
変更 > SDKを使わない
「SDKなしで通信できたらXXXできるのに」という一言から始まった。
エミュレータがあったので、エミュレータと通信しながら、SDKなしの通信ソフトを実装した。
装置の実機もあるので、その後に実機を使って動作確認も終わった。
SDKを使わない
SDKを使った場合、以下の事項が気になる。
- OSのバージョンアップ時にSDKはそのまま使えるか
- XPから7になったので対応できません、という実例は、とある会社の製品であった
- それを残念がるユーザの言葉が強く印象に残った
- ソフトのEOL (End of Life)を規定する
- XPから7になったので対応できません、という実例は、とある会社の製品であった
- SDKを使えるOS上でしか動かない
- ESP8266やRaspberry Piでは使えない
- 付随情報の通信を行うことにより、処理時間がかかる
- 例:20秒(SDKあり), 1秒(SDKなし)
- 一度に1対1通信しかできない (1対N同時通信ができない)
- SDKでインスタンス変数ではなく、static変数を使っているようだ
アスキー通信の場合は通信内容から推測ができるかもしれない。
バイナリ通信では解析が成功しないとSDKを使うことになる。
状況に合わせてSDKあり、SDKなしを検討するのはいいかもしれない。
独自機能に依存した通信の場合はSDKなしでの利点は少ないかもしれない。
Author And Source
この問題について(設計 > SDKありとSDKなしでの実装), 我々は、より多くの情報をここで見つけました https://qiita.com/7of9/items/43b98a1c112a6e86e306著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .