iUI, jQTouch, WPTouch, PhoneGap, XUI, iWebkit, Rhodes, gwt-mobile... Когда мы начали удивляться тому, что мобильные веб-приложения наполнены различными фреймворками и библиотеками классов, на самом деле основные веб-фреймворки только начали свое развитие. мобильные поля: сенсорная версия YUI3.2 от Yahoo, jQueryMobile от jQuery, ExtJS, интегрирующий JQTouch, и инфраструктура Sencha Touch, запущенная библиотекой Raphaël. . .
Переименование ExtJs в Sencha меня очень шокировало. Ведь когда-то я был поклонником фреймворка ExtJs. Для такого тяжеловесного фреймворка действительно непросто внезапно развернуться и развиваться в направлении мобильного сенсорного управления. не удивляйтесь влиянию грядущих крупных изменений.
Хорошо, здесь я не хочу знакомить вас со сравнением использования и производительности различных фреймворков веб-мобильных приложений. Под влиянием ExtJ и желая узнать, как далеко я продвинулся, и лучше накопить опыт работы с интерфейсом, я начал представлять, какой должна быть хорошая платформа веб-мобильных приложений, и начал пытаться ее реализовать. Изобретать велосипед — значит просто заставить себя глубже понять эту область, не будучи настолько высокомерным, чтобы бросать вызов чему-либо. Итак, после анализа и сравнения итоги выглядят следующим образом:
1.Легкий
Это должно быть самым важным моментом в структуре мобильных приложений. Не думайте о популярности 3G и Wi-Fi. Национальные условия — это национальные условия. Большинству пользователей сложно загрузить файлы CSS и JS размером 100 000 в течение 3 секунд. Поэтому наша платформа мобильных приложений должна быть максимально облегченной, а все методы именования и реализации функций должны быть максимально краткими и максимально сжатыми. Выбросьте эти специальные эффекты и компоненты веб-приложений для ПК, не добавляйте 7,80 КБ jQuery.js на свою страницу только ради эффекта меню.
2. Совместимость с основными мобильными браузерами.
При таком большом количестве мобильных платформ и браузеров вашему мобильному приложению сложно вести себя одинаково во всех браузерах. Иногда для достижения эффекта необходимо загружать разные файлы стилей для разных браузеров или запускать разные функции. Поэтому наша платформа должна иметь метод, который может идентифицировать различные основные браузеры. Если говорить конкретно, ваша платформа должна уметь различать iPhone, iPad, Android, Windows Phone и т. д. Хорошо, если быть более конкретным для страны, QQ mobile. браузер и UCWeb. Последнее, что следует отметить, это то, что мы стараемся не использовать здесь метод AU для оценки, поскольку avigator.userAgent каждого браузера очень ненадежен. Здесь вы можете обратиться к идее mooltools для оценки браузеров и применить ее. в наше мобильное поле.
3. Мощный селектор
Можно сказать, что селектор — это душа фреймворка. Расширенные псевдоклассы CSS3 будут широко использоваться в будущих мобильных веб-приложениях. Поэтому наша инфраструктура должна иметь возможность быстро перемещаться и находить как можно больше тегов HTML5 и псевдоклассов CSS3. насколько это возможно, даже если они похожи на E: first-of-type — это структура, которая не поддерживается селекторами jquery.
4. Эффект анимации страницы
В отличие от настольных веб-приложений, мобильные приложения гораздо более впечатляющи с точки зрения эффектов переключения страниц, таких как: скользящее переключение, всплывающее окно маски, постепенное появление и исчезновение, экран-заставка, эффекты увеличения и уменьшения масштаба на iPhone и т. д. Взгляните на CSS-определения анимаций постепенного исчезновения и масштабирования.