iUI、jQTouch、WPTouch、PhoneGap、XUI、iWebkit、Rhodes、gwt-mobile... Web モバイル アプリケーションがさまざまなフレームワークとクラス ライブラリで満たされていることに驚き始めたとき、実際、主要なWeb フレームワークはちょうどその開発を開始したばかりです。 mobile フィールド: Yahoo の YUI3.2 の Touch バージョン、jQuery の jQueryMobile、JQTouch を統合した ExtJS、および Raphaël ライブラリによって開始された Sencha Touch フレームワーク。 。 。
ExtJs の Sencha への名前変更は、私にとって非常に衝撃的でした。私はかつて ExtJs フレームワークのファンでした。このような強力なフレームワークが突然方向転換してモバイル タッチの方向に発展することは、実際には簡単ではありません。今後のモバイル アプリケーションの大きな変化には驚かざるを得ません。
ここでは、さまざまな Web モバイル アプリケーション フレームワークの使用法とパフォーマンスの比較を紹介するつもりはありません。 ExtJ の影響を受けて、自分がどこまで進んでいるのかを知り、フロントエンドの経験をもっと蓄積したいと思い、優れた Web モバイル アプリケーション フレームワークとはどのようなものであるべきかを想像し、実装しようと試み始めました。車輪の再発明とは、この分野をより深く理解することを自分に強制するだけであり、何かに挑戦するほど傲慢になることではありません。分析と比較を行った結果、要約は次のようになります。
1.軽量
これは、モバイル アプリケーションのフレームワークで最も重要な点です。3G と WiFi の普及については考えないでください。ほとんどのユーザーにとって、100,000 個の CSS および JS ファイルを 3 秒以内にダウンロードすることは困難です。したがって、モバイル アプリケーション フレームワークは可能な限り軽量である必要があり、すべての名前付けと関数の実装方法は可能な限り簡潔かつ高度に圧縮されている必要があります。 PC Web アプリケーションの特殊効果やコンポーネントを捨てて、メニュー効果のためだけに 7,80K の jQuery.js をページに追加しないでください。
2. 主流のモバイルブラウザとの互換性
モバイル プラットフォームとブラウザが非常に多いため、モバイル アプリケーションがすべてのブラウザで一貫して動作することが困難な場合、効果を実現するために、ブラウザごとに異なるスタイル ファイルをロードしたり、異なる機能を実行したりする必要があります。したがって、私たちのフレームワークには、さまざまな主流ブラウザを識別できるメソッドが必要です。具体的には、フレームワークは iPhone、iPad、Android、Windows Phone などを区別できる必要があります。具体的には、国別に言えば、QQ mobile です。ブラウザとUCWeb。最後に注意すべきことは、各ブラウザの avigator.userAgent は非常に信頼性が低いため、ここでの判断に AU メソッドを使用しないようにしていることです。ここでは、ブラウザを判断してそれを適用するために mooltools のアイデアを参照できます。私たちのモバイル分野へ。
3. 強力なセレクター
セレクターはフレームワークの魂であると言えます。CSS3 の高度な疑似クラスは将来の Web モバイル アプリケーションで広く使用されるため、フレームワークはできるだけ多くの HTML5 タグと CSS3 疑似クラスを迅速に検索できる必要があります。 E:first-of-type が jquery セレクターでサポートされていない構造であっても、可能な限り。
4. ページアニメーション効果
デスクトップ Web アプリケーションとは異なり、モバイル アプリケーションは、スライド切り替え、マスク ポップアップ、フェードインとフェードアウト、スプラッシュ スクリーン、iPhone でのズームイン、ズームアウト効果などのページ切り替え効果の点ではるかに魅力的です。フェードインおよびズームイン アニメーションの CSS 定義を見てみましょう。