jQueryを更新するタイミング


19

jQuery / jQuery UIの更新を推奨する場合 または言い換えると、jQuery / jQuery UIを更新するためのベストプラクティスは何ですか?

私は少なくとも1年以上かかる長いプロジェクトに取り組んでいます。その期間に、jQuery / jQuery UIは何度も更新されると確信しています。

更新プログラムがリリースされるたびに、jQuery / jQuery UIファイルを更新することをお勧めしますか?または、プロジェクトの最後まで特定のバージョンを使用する方が良いですか?

私はコードの変更を「壊す」ことを恐れており、アップデートがリリースされるたびに、すべてをテストする必要があります。それには時間がかかりすぎます。しかし、一方で、もし私が更新しなかったなら、後で私を後から噛ませるバグを恐れています。

プロジェクトはASP.MVCであり、jQueryを頻繁に使用しています。

何かご意見は?


この記事では、関連する可能性がある:それは促し、常に Googleがホストするバージョンにリンクすることにより、先端にいる:encosia.com/...
アレックスFeinman

回答:


19

新しいバージョンに含まれる新しい機能が必要な場合にのみ、jQueryのバージョンを更新します。そのような単純な。

jQueryを使用して頻繁に開発する場合は、公式ブログに注目してアップデートがいつリリースされ、何が提供されるかを確認してください。数週間ほど待ってから、最新バージョンにアップグレードして、予期しないバグが取り除かれるようにします。


1
+1を行うのが最も安定した方法です。アップグレードのためにアップグレードすると、最終的にバグと闘うときの全体的な開発時間が長くなります。
ニコラススミス

2
また、プラグインにも注意してください。プラグインのバグ修正には、コアjQueryコードのアップグレードが必要な場合があります。
エイドリアンJ.モレノ

12
私はこの答えに同意しません。質問のように製品がまだ開発中の場合は、jQueryの新しいリリースごとにアップグレードしてください。製品が実稼働中の場合、この回答に同意します。アップグレードが必要な場合にのみアップグレードしてください(バグ修正、新機能など)
チャックコンウェイ

@ChuckConway:よく言った。
ジムG. 14年

20

jQueryのリリースごとにアップグレードする必要があります。更新する前に更新ログを確認してください

jQueryチームは、APIの変更と非推奨の呼び出しの文書化について非常に優れています。この時点で、APIの大部分は非常に安定しており、おそらく変更されません。ほとんどの変更は、外部APIに影響を与えない舞台裏のバグ修正です。これは、最新リリース(1.8以降)で特に当てはまります。

更新するもう1つの大きな理由は、プロジェクトに残っているかどうかに関係なく、そのプロジェクトは作業を終えた後に誰かによって維持されるためです。最新バージョンへのアップグレードは、あなた、将来の開発者、ユーザーにとって有益です-jQueryの新しいバージョンは古いバージョンを完全に消してしまうからです。


4
これは受け入れられた答えである必要がありますが、最終的にアップグレードしたいときは、より大きなバージョンジャンプをする必要がありますが、それははるかに困難です。
ダニエルリトル

5

何も壊さずに、できるだけ早くアップグレードしてください。新しい機能、バグ修正、新しい機能がすべての反復で導入されます。

最新の機能は必要ないかもしれませんが、必要な場合は、新しいバージョンを検証する必要があります。

少しずつ増やすことで、5つのメジャーリリースをアップグレードすることなく、すべてを最新の状態に保ち、5時間かけてすべてを一度にテストできます。


1
1.4.xから1.7.xに更新すると何かが壊れるかどうかは、まだ解明しようとしています。
スタイフ

4

JQueryの新しいバージョンに含まれる新機能が必要ですか?あなたのサイトは今日期待どおりに機能しますか?

最初の質問に「いいえ」、2番目の質問に「はい」と答えた場合は、jQueryをアップグレードしないでください。

新しい機能が必要な場合は、テストの増加と新しい問題の導入の可能性とのバランスをとる必要があります。

現在のバージョンのJQueryに問題がある場合は、新しいバージョンで問題が修正された可能性がありますが、新しいバージョンが他の問題を引き起こさないことを確認する必要があるため、テストの負担が増えます。

これが、ユニットテスト、機能テスト、および機能テストの優れたスイートが非常に重要である理由です。


2

リスクに見合う価値があるかどうかを判断できるのはあなただけです。個人的に、私は最新の状態を保つのが好きです。ただし、アップグレード時に何かが壊れた(または奇妙な動作を引き起こした)いくつかのバグがありました。1年前から開発を進めているので、とにかく最終的なQAを経る必要があるでしょう。

私は最新の状態に保つと言います。大規模な統合を一度に行うよりも、継続的な小規模な統合を行う方がはるかに簡単です。


0

テスト。テスト、テスト、テスト、テスト、テスト。

プロジェクトでjQuery UIバージョン(then-current)を使用し、入力補完機能を実行する.autocompleteと呼ばれる外部プラグインを使用して、テキストフィールドをJSONデータソースに結び付けました。多くの場所で使用しました。

それから数ヶ月後、スライダーコントロールを追加する必要がありましたが、これは後の最新バージョンにしかありませんでした。残念ながら、その最新バージョンではネイティブのオートコンプリート機能が追加され、使用したプラグインの精神的な後継者であると主張しましたが、まったく異なる方法論、機能、データ要件を使用し、使用したすべてのページのオートコンプリートフィールドを破壊しました新しいスライダーをオンにします。

この新機能を開発していたページはオートコンプリートを使用していなかったため、気が付きませんでした。私のクライアントは展示会の前にこの機能を急ぐために急いでいたので、ステージングとテストを急いで行って、壊れたオートコンプリートの生産を開始しました。

最終的に、それはMYテストの失敗でした。そして学んだ教訓は、jQueryとjQuery UIは後方互換性にほとんど関心がないということです。開発者として、テストとテストとテストを行う必要があります。


-1

私の経験では、jQueryの新しいバージョンは、呼び出し元のコード(コード)に関するコードのクリーン度の要件が一般的に厳密です。

非推奨にされた多くのアイテムがあります(http://api.jquery.com/category/deprecated/)。残念ながら、このページには非推奨のタグはありません。古い廃止は何かを壊す可能性が高くなります。

最も注目に値するのは(私にとって)、:checkboxセレクターとtoggle()関数が非推奨になったことです。少し前に、この変更は私自身の(最も古い)jqueryコードに影響を及ぼしました。私はこれをしばらく気づかなかった。

一方、新しいjQueryリリースでは通常、パフォーマンスが大幅に改善されています。変更履歴をチェックするか、John Resigのプレゼンテーションの1つをチェックして、パフォーマンスの改善がどこで実現されたかを確認してください。あなたがそれらから利益を得るなら...それはあなた次第です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.