Microsoft — мировой лидер в области ПО и ИТ-услуг
381,26
рейтинг
14 октября 2014 в 15:00

Разработка → WinJS 3.0 – релиз для всех платформ перевод



Команда проекта «Библиотека Windows для JavaScript» (WinJS) спешит сообщить о первом релизе с момента представления открытого проекта на конференции //BUILD 2014 – библиотеке WinJS 3.0. Релиз WinJS 3.0 предлагает разработчикам:

  • Кроссбраузерную/кроссплатформенную поддержку, охватывающую наиболее распространенные декстопные и мобильные браузеры, а также основанные на HTML среды приложений, такие как Apache Cordova

  • Модульный подход, предоставляющий разработчикам контроль над оптимизацией производительности и загрузкой только тех модулей библиотеки WinJS, которые необходимы для их веб сайта или приложения

  • Улучшенный дизайн универсальных элементов управления, обеспечивающий более комфортную работу для конечных пользователей и охватывающий телефоны, планшеты, компьютеры — форм-факторы с различными размерами экранов и устройства ввода


Релиз включает в себя ряд улучшений, основанных на отзывах и pull-запросах, предложенных членами сообщества GitHub. Мы хотели бы выразить особую благодарность всем тем, кто уже внес свой вклад в проект таким образом.

Вы можете начать использовать WinJS.3.0 сегодня, с помощью вашего любимого диспетчера пакетов (Bower, npm, или NuGet), с помощью CDN ссылки, загружая zip архив с нашего веб сайта или копируя репозиторий для сборки собственной копии с GitHub’а.

Кроссплатформенные возможности и улучшения дизайна


Последние пять месяцев команда WinJS была сосредоточена на том, чтобы библиотека без проблем работала на различных платформах и браузерах. Это означает, что теперь вы можете использовать WinJS не только для ваших универсальных Windows-приложений, но также для ваших веб сайтов и при создании мобильных приложений, основанных на HTML, при помощи различных платформ, использующих технологии, аналогичные Apache Cordova. Смотрите полную таблицу браузеров и операционных систем, поддерживаемых библиотекой WinJS.

Основное, на чем мы акцентируем внимание в релизе 3.0 — улучшение кросс-платформенной инфраструктуры для композиции интерфейса, работы с клавиатурой, локализации строк и поддержки языков, которые пишутся справа налево, а также на исчерпывающем наборе юнит-тестов, работающих на наших компонентах для основных операционных систем и браузеров; на обновлении дизайна для стандартных элементов управления WinJS и встроенных элементов управления HTML, обеспечивая единый пользовательский интерфейс на многих платформах и браузерах.

Обновления дизайна


Добавление в репозиторий WinJS шрифта, содержащего символы, используемые в AppBar, NavBar, FlipView, Ratings, Hub, и SearchBox; так что теперь они отображаются на многих операционных системах и браузерах. Например, вот как выглядит элемент управления Ratings:



ListView теперь поддерживает шаблоны Grid и List на всех платформах. Зависимость шаблона от CSS Grid была убрана, таким образом теперь поддерживается ListView с группировкой элементов.





AppBar теперь имеет визуальное представление для скрытия и вызова панели, благодаря этому панель больше на зависит только от жестов с краев.





Кнопки навигации по FlipView всегда отображаются на платформах, которые не поддерживают точки привязки прокрутки в CSS.



Элементы управления диапазоном ввода (Input range), встроенный элемент управления HTML — слайдер, и другие встроенные элементы управления получили обновление внешнего вида на разных платформах.



После того, как была убрана зависимость от CSS Grid, у элемента управления NavBar обновилась композиция интерфейса.



Поисковые подсказки в элементе управления Searchbox стали отображаться на различных платформах (после того, как была создана прослойка для поддержки API подсказок).



Элемент управления Toggle switch больше не зависит от встроенного HTML слайдера и является полнофункциональным и визуально привлекательным на всех платформах.



Теперь у элемента управления Pivot есть кнопки по обе стороны от заголовка, поэтому его можно использовать при помощи мыши. Также он красиво отображается на экранах всех размеров (раньше он отображался только на небольших экранах мобильных телефонов).

Модульность


Теперь WinJS 3.0 разделена на несколько десятков модулей. Вы можете продолжить использовать библиотеку со всеми модулями, как в раньше или вы можете сделать кастомную сборку WinJS только с теми модулями, которые вам нужны. Это дает вам возможность контроля над оптимизации вашей производительности и размером загружаемых ресурсов.

Это особенно удобно при использовании WinJS для веб-сайта или при использовании ее вместе с другими популярными библиотеками, как AngularJS или Knockout. WinJS была разработана с нуля для того, чтобы иметь хорошую внутреннюю архитектуру и совместимость с другими библиотеками. Теперь легко делать такие сборки WinJS, которые будут включать только те слои, которые вы используете.

Например, если вы хотите использовать только AppBar в вашем приложении, вы можете сделать кастомную сборку WinJS, которая будет содержать подходящие модули для Appbar, исключая всю остальную библиотеку WinJS, а, затем, использовать ее вместе с библиотекой вроде Knockout, включая связывание данных.

Инструкцию по сборке кастомной библиотеки WinJS смотрите на вики-странице на GitHub'е.

Мы сделали нашу собственную сборку для того, чтобы улучшить быстродействие сайта try.buildwinjs.com. В таблице ниже представлены данные о некоторых кастомных сборках, которые вы можете сделать, а также соответствующие размеры JavaScript кода



Улучшенный дизайн универсальных элементов управления


В дополнении к кроссплатформенным изменениям, мы начали процесс объединения нашей библиотеки. Таким образом, телефоны, планшеты и компьютеры будут поддерживаться одним единственным релизом WinJS.

Для достижения этой цели, анимации, которые до этого были доступны только для телефона, сейчас доступны для всех форм-факторов в WinJS 3.0. Элемент управления Pivot, ранее доступный только на телефоне, теперь также поддерживается на всех форм-факторах. Он был усовершенствован таким образом, что им можно управлять при помощи мыши и клавиатуры, а также масштабировать на все размеры экранов.

Оставайтесь с нами для того, чтобы быть в курсе дальнейших улучшений в этом направлении!

Двигаясь вперед


Члены команды проекта WinJS MS Open Tech хотят искренне поблагодарить за теплый прием, который мы получили от GitHub сообщества, а также за проявленный интерес и поддержку.

Вместе мы можем продолжать собирать WinJS как большую открытую JavaScript библиотеку, которая приспосабливается к нуждам веб разработчиков по всему миру и помогает всем нам создать восхитительную, основанную на опыте пользователей библиотеку, которая может совместно использовать код между сайтами и приложениями. Мы призываем вас присылать pull запросы и проблемы с файлами через GitHub или при помощи ссылок «задать вопрос» на нашем сайте.

Проверяйте нашу страницу в фейсбуке и подписывайтесь на нас в твиттере @buildwinjs, там мы размещаем крупные анонсы о нашем проекте.

Дополнительные ссылки


WinJS на GitHub'е.
Основные элементы управления библиотеки WinJS здесь.
Протестируйте основные элементы управления на сайте try.buildwinjs.com.
Про использование FlipView в универсальных приложениях можно почитать тут.
MVA курс по мобильной разработке для веб-разработчиков.
Скачать Microsoft Visual Studio можно здесь.
Автор: @a_bogdanova Rachel Nizhnikova
Microsoft
рейтинг 381,26
Microsoft — мировой лидер в области ПО и ИТ-услуг

Комментарии (26)

  • +2
    8 шакалов из 10.
    • +8
      image
    • +5
      На всякий случай, расширю свой комментарий.
      Использовать картинки такого качества это неуважение к читателям. А в блоге такой компании, и вовсе выглядит нелепо.

      Вот я по это:

  • 0
    посмотрел все примеры. Вроде прикольно, если смотреть на результат выполнения (вкладка Output). Но код получается вообще не красивый и не лаконичный.

    у товарища в хроме вообще не запустились примеры, ругалось на необъявленную переменную 'a'
  • +5
    В примерах код, конечно, не самый красивый, но радует, что не Angular'ом единым.
  • –2
    *Здесь традиционный комментарий про Linux*
    • +5
      И что он гласит? Я, видимо, не в теме…
      • +3
        Поздразумевается, что раз в заголовке есть слово «для всех платформ», или «кроссплатформенно», то должна быть и поддержка Linux. Далее принято ругать Microsoft за: 1) если реализация под Linux есть — то за плохую реализацию: 2) если реализации нет — то за то, что не помнит о других операционках.

        А конкретно в данном случае, в таблице указано чуть ли не всё, кроме Linux. Т.е. выглядит так, как будто работать то оно может и будет, но эту операционку осознано игнорируют.
        • +1
          Погодите,
          1) Chrome и Firefox разве на Linux по-другому работают со стандартами?
          2) Какой дистрибутив Linux нужно указывать? Следуя вашей же логике, мало указать один конкретный дистрибутив конкретной версии, потому что после это вы придете и спросите, мол а что с другими дистрибутивами.
          3) Напишите запрос в гитхабе, чтобы поправили страничку, как находите нужным.
          • +4
            1) Chrome и Firefox разве на win 7, 8 и mac os x по-другому работают со стандартами? А зачем тогда указали?)
            2) Steam OS, конечно же! :-) Про дистрибутивы — и приду, и спрошу. Но если будет хоть один, то это будет чистой воды бурчание.
            3) Нет-нет! Что Вы! Я хочу чтоб поправили данную статью в виде «кроссплатформенно*», или «для всех операционок*», а ниже сделали приписку для звёздочки: "* означает, что для всех кроме Linux".

            Ах да, простите, забыл тэг «ирония». Или она не обоснована? В т.ч. в моём первом комментарии, в т.ч. самоирония линуксоида.
            • +1
              Вы хотите тэга «ирония»?
              Хорошо, я начинаю.

              — Как вы заметили, эта табличка лежит на гитхабе — ресурсе, цель которого — дать возможность сообществу помогать развивать инструменты для общего блага.
              — вы пишете, что хотите линукса.
              Линукс — это свободное ПО, творимое сообществом. То есть вы как бы поддерживаете идею сообщества. Отлично!
              — Вам предлагают стать частью сообщества и объединить усилия.
              Ваш ответ, цитата:
              «Нет-нет! Что Вы! Я хочу чтоб поправили»

              М.
              Странно, чего ж это там линукса-то нету в табличке?..
          • 0
            [irony] И вообще! Вы отклоняетесь от канона спора про Linux в Microsoft-тредах! Вы должны были написать какую-нибудь фишку, что её придумали и ввели в Windows 7. Вам на это должны аргументированно и со сслыками ответить, что ещё в 1996 её реализовывал лично Торвальдс. Часто при этом мокрое сравнивают с твёрдым и каждая сторона всё-равно остаётся при своём мнении! [/irony]
  • 0
    Почему у AppBar точечки под иконками, хотя в нативном WP8-приложении точечки сверху и выезжают вместе со всем AppBar при открытии?
    • +1
      Потому что в примере панель приложения прикреплена к верхнему краю. Если указать placement: 'bottom', то точечки будут наоборот вверху.
  • +1
    И ни слова о том, что это за библиотека. Я понимаю, что можно нагуглить или догадаться. Но сначала я некоторое время листал текст туда-сюда в поисках описания.
    • 0
      Да всё с ней ясно, с этой библиотекой — можно RIA (Rich Internet Application) делать, а можно приложения для Windows 8.
      • 0
        Ну вот я только после вашего комментария узнал. Представлял другое. Да не важно, я просто сообщил авторам, что на мой взгляд плохо написано.
    • 0
      Ну да, вы правы :)
      1. Это перевод, в нем в начале есть ссылки на информацию про библиотеку.
      2. Мы тут уже несколько месяцев на Хабре про нее пишем, не начинать же каждую статью с того, что такое WinJS.
      • 0
        Я хабр получаю в виде рассылки в почту и про WinJS в первый раз пришло. Ну в общем не обращайте внимание, я хотел чуток конструктивной критики подкинуть, на самом деле мне без разницы.
  • +2
    В целом меня смущает, мягко говоря, отвратительная кроссплатформенность. Неужели так сложно набросать стилей для всех браузеров, а не только под осла?

    У меня в голове не укладывается одно — почему свободные продукту, сделаные в свободное время всегда заботятся о всех, вылизаны с каждой стороны, а продукт от мирового гигант как всегда… Сюда прямо просится «хотели как лучше, а получилось как всегда».

    • 0
      Хотя идея и начинание хорошие.
    • +2
      Да потому что это было раньше частью «внутренностей» Windows 8 и не предполагалось к использованию ничем, кроме Internet Explorer.
      Потом Microsoft решила сделать тулкит открытым для всех платформ и столкнулась, что у браузеров свои проприетарные загоны(как будто их не было у IE) и до релиза WinJS 3.0 использовать это в браузерах, отличных от осла, было не то, что трудно, а вообще невозможно. Теперь это теоретически возможно, но желания использовать это сильно не возникает.

      Кстати, если память не изменяет, в WinJS довольно отвратительная (или ее вообще нет) привязка данных к контролах.
      Думаю WinJS неплохо скрестить с KnockoutJS или Angular
      • 0
        Думаю, ещё немного, и они вычистят привязку к хакам IE, начнут использовать Autoprefixer и сделают для всех элементов box-sizing: border-box.
      • 0
        Посмотрите вот тут try.buildwinjs.com/#binding — Binding и Binding Templates. Тем не менее, несмотря на наличие встроенного решения, одна из решаемых командой задач — сделать WinJS максимально совместимой со сторонними решениями, включая KnockoutJS и Angular, кстати.
  • 0
    А что с иконками у редактора комментариев?
    Его на WinJS в этом посте переписали?

    — Думал что только на работе такая фигня, оказывается нет — везде…

    image
    • 0
      Стили кнопок (g-icon, g-icon-*) куда-то пропали.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.

Самое читаемое Разработка