2

私の仕事ではdojoを使用していますが、ブラウザのメジャーアップグレードが発生すると、古いバージョンのdojoの一部が破損するという経験があります。Webアプリを最新バージョンのブラウザーで動作させ続けるには、実際には最新バージョンのdojoに更新し続ける必要があります。

私は現在、教授がすでに使用しているWebアプリであるmastersプロジェクトに取り組んでいるため、これがすべてのjavascriptライブラリに当てはまるかどうかを知りたいと思います。ライブラリの優れた機能のいくつかを使用したいのですが、このプロジェクトを永遠に維持し続けることは期待していません。ブラウザのアップグレードが公開されたときにアプリの動作を停止したくありません。

とにかく、誰かがこのトピックに関する情報やアドバイスを持っているなら、私は本当にそれをいただければ幸いです。

4

4 に答える 4

2

もちろん、これはすべてのjavascriptライブラリに当てはまります。

ブラウザには、古いバージョンで機能していた新機能や機能の中断があります。ライブラリでできることは、破損に対処する更新バージョンをリリースすることだけです。

コードが公開されていて、機能し続ける必要がある場合は、これがすべてです。

これを軽減する唯一の方法は、標準に固執し、選択したライブラリ内でブラウザのハッキングではない一般的な機能のみを使用することです(これにより、ユーザーが大幅に制限され、役立つとは限りません)。

于 2011-09-20T18:25:11.290 に答える
1

これはJavaScriptよりもはるかに広いです。新しいバージョンのOSがリリースされると、ネイティブアプリを微調整する必要があります。ソフトウェアの新しいバージョンが出てきたら、プラグインを微調整する必要があります。それ自体の外部に依存するものは、その「何か」が変更されたときにメンテナンスが必要になる可能性があります。ただし、JavaScriptの場合は悪化する傾向があります。

それはそれが完全に絶望的であるという意味ではありません。いくつかのガイドラインに従うことで、問題を最小限に抑えることができます。

  • 信頼できるもののドキュメントを読み、ドキュメント化された動作に固執します。文書化されていない機能に依存する可能性が高いため、「機能しているように見える」までたった今叩いたものは、後で壊れてしまう可能性がはるかに高くなります。正しくコーディングすればするほど(つまり、フレームワークプロバイダーが期待する方法)、安定した状態が維持される可能性が高くなります。

  • 信頼するものの数をできるだけ少なくしてください。6つのことに依存している場合、そのうちの1つが壊れます。2つのことに依存している場合、問題が発生するまでにかなり時間がかかる可能性があります。

  • 長い実績を持つフレームワークを探し、アップグレード中にそれらがどのように動作したかを確認します。開発チームがアプローチを変更したという強い声明を出さない限り、未来は過去のように見えると期待する必要があります。

  • 頼りにするものはシンプルにしてください。フレームワークが大きく、より包括的であるほど、根本的な変更があるときに、フレームワークの一部で問題が発生する可能性が高くなります。これに対する当然の結果は、あなたがしていることを単純に保つことです。プログラムを複雑にするほど、問題が発生する可能性が高くなります。

  • 複雑さが必要な場合は、通常、コードよりもフレームワークを使用する方が適切です。広く使用されているフレームワークは、同様の複雑さでランダムに作成するものよりも、将来の中断を回避するために慎重に作成される可能性が高くなります。

結局、複雑な要件は複雑な機能につながり、複雑な依存関係は脆弱なアップグレードにつながります。要件をシンプルに保つと、アップグレードがよりシームレスになります。派手な/派手なものと長期的な堅牢性の間にはトレードオフがあります。長期的なメンテナンスが高額な費用である場合は、シンプルに保ちます。

于 2011-09-20T18:53:55.243 に答える
0

Javascriptライブラリはブラウザに依存していません。そのような場合、ライブラリを管理することは不可能です。

于 2011-09-20T18:26:04.287 に答える
-1

最善の策はJQueryを使用することです...互換性のためではなく、少なくとも新しい改善された機能のために、JQueryを更新する必要があるかもしれません。ただし、互換性を最新に保つのに十分な頻度で更新されます。下位互換性のおかげで、ライブラリの更新は必ずしもコードの更新を意味するわけではないことに注意してください。

于 2011-09-20T18:33:16.377 に答える