iUI, jQTouch, WPTouch, PhoneGap, XUI, iWebkit, Rhodes, gwt-mobile... Alors que l'on commence à s'émerveiller devant le fait que les applications web mobiles regorgent de frameworks et de bibliothèques de classes variés, en fait, les principaux frameworks web viennent tout juste de commencer leur mobile Fields : version Touch du YUI3.2 de Yahoo, jQueryMobile de jQuery, ExtJS intégrant JQTouch et le framework Sencha Touch lancé par la librairie Raphaël. . .
Le changement de nom d'ExtJs en Sencha m'a vraiment choqué.Après tout, j'étais autrefois un fan du framework ExtJs.Il n'est en effet pas facile pour un framework aussi lourd de se retourner soudainement et de se développer dans le sens du toucher mobile. Je ne peux m’empêcher de m’émerveiller devant l’impact des changements majeurs à venir.
OK, ici, je ne veux pas vous présenter la comparaison de l'utilisation et des performances de divers frameworks d'applications Web mobiles. Juste influencé par ExtJs, et voulant savoir jusqu'où j'étais allé et mieux accumuler une expérience front-end, j'ai commencé à imaginer ce que devrait être un bon framework d'application Web mobile et j'ai commencé à essayer de le mettre en œuvre. Réinventer la roue, c'est simplement se forcer à comprendre ce domaine plus profondément, sans être assez arrogant pour remettre en question quoi que ce soit. Ainsi après analyse et comparaison, le résumé est le suivant :
1. Léger
Cela devrait être le point le plus important dans le cadre des applications mobiles. Ne pensez pas à la popularité de la 3G et du WiFi. Les conditions nationales sont des conditions nationales. Il est difficile pour la plupart des utilisateurs de télécharger vos 100 000 fichiers CSS et JS en 3 secondes. Par conséquent, notre cadre d'application mobile doit être aussi léger que possible, et toutes les méthodes de dénomination et d'implémentation de fonctions doivent être aussi concises et hautement compressées que possible. Jetez ces effets spéciaux et composants d'applications Web PC, n'ajoutez pas 7,80 Ko de jQuery.js à votre page juste pour un effet de menu.
2. Compatibilité avec les navigateurs mobiles grand public
Avec autant de plates-formes mobiles et de navigateurs, il est difficile pour votre application mobile de se comporter de manière cohérente sur tous les navigateurs. Parfois, vous devez charger des fichiers de style différents pour différents navigateurs ou exécuter différentes fonctions pour obtenir l'effet. Par conséquent, notre framework doit disposer d'une méthode capable d'identifier les différents navigateurs grand public. Pour être précis, votre framework doit être capable de faire la distinction entre iPhone, iPad, Android, Windows Phone, etc. OK, pour être plus spécifique au pays, QQ mobile. navigateur et UCWeb. La dernière chose à noter est que nous essayons de ne pas utiliser la méthode AU pour juger ici, car l'avigator.userAgent de chaque navigateur est très peu fiable. Ici, vous pouvez vous référer à l'idée demooltools pour juger les navigateurs et l'appliquer. à notre domaine mobile.
3. Sélecteur puissant
Le sélecteur peut être considéré comme l'âme du framework. Les pseudo-classes avancées CSS3 seront largement utilisées dans les futures applications Web mobiles. Par conséquent, notre framework doit être capable de parcourir et de localiser autant de balises HTML5 et de pseudo-classes CSS3 aussi rapidement. autant que possible, même s'ils ressemblent à E:first-of-type est une structure qui n'est pas prise en charge par les sélecteurs jquery.
4. Effet d'animation de page
Différentes des applications Web de bureau, les applications mobiles sont beaucoup plus éblouissantes en termes d'effets de changement de page, tels que : changement de curseur, masque contextuel, fondu d'entrée et de sortie, écran de démarrage, zoom avant, effets de zoom arrière sur iPhone, etc. Jetez un œil aux définitions CSS des animations de fondu et de zoom