20 нояб. 2009 г.

Новый JavaScript инструмент от Google


Каждый день миллионы людей используют продукты от Google и эти продукты написаны в основном, используя один известный язык - JavaScript!

Google выпустил JavaScript библиотеку для разработки веб-приложений под лицензией Apache 2.0. Данная библиотека предназначена для построения сложных и масштабируемых веб-приложений, которая используется многими крупными веб-приложениями Google, например Gmail.




Библиотека состоит:
  • JavaScript ООП библиотека
  • Утилита для объедения нескольких JS файлов в один
  • Компилятор для сжатия и оптимизации JavaScript кода
  • Расширение FireBug для улучшенной отладки
  • Шаблон для JavaScript и Java
Это огромная (более 400 JS файлов) библиотека организована в хорошо документированные "пакеты", "классы" и "подклассы", что дает интенсивное использование Java-Doc синтаксиса (http://java.sun.com/j2se/javadoc) для описания каждого компонента.

Что отличает ее от других библиотек (jQuery, YUI, Dojo и другие), доступных в настоящее время - это цель, структура и подход к клиенту со стороны развивающегося JavaScript. Популярные библиотеки (JQuery, YUI, Dojo и другие) работают очень хорошо и дают возможность многим без каких-либо усилий и быстро (с точки зрения времени, необходимого кодирования и скорости исполнения кода) разрабатывать приложения на JavaScript.

Разработка приложений с помощью новой библиотеки построена на объектно-ориентированных принципах, что позволяет создать несколько JS файлов, каждый из которых представляет один класс (customer.js, mediaplayer.js, loader.js и т.п.), организовывать архитектуру приложения в пакеты и развертывать его с помощью инструментов для получения одного сжатого безопасного JS файла, который очень быстро работает и не содержит мертвого кода (неиспользуемые функции, объекты и т.д.).

Таким образом, это не просто новая JavaScript библиотека, а новый способ программирования на JavaScript! Команда Google имеет инженерные основы, которые позволяют писать JavaScript на том же уровне, как написание Java (с точки зрения подхода) на стороне клиента и в то же время, предлагать новые захватывающие инструменты и возможности для разработчиков интерфейса и объектно-ориентированного дизайна приложения.

Библиотека содержит
  • Компоненты пользовательсокго интерфейса (вкладки, редакторы, выпадающие списки, ползунки, меню и т. д.)
  • Утилиты DOM (позволяют выбирать, создавать и удалять узлы, мониторинг изменения размера шрифта, мониторинг просмотра изменений и т.д.)
  • AJAX Toolkit
  • Перетаскивание (drag and drop)
  • Анимационные эффекты
  • Утилиты работы с датами (создание, сложение, вычитание дат и времени, получить число дней в месяце и т.д.)
  • Таймер класс для работы с повтором/задержкой задачи (очень похож на Actionscript 3 Timer)
  • И многое другое
Данная библиотека является сложным JavaScript framework-ом с целью позволить разработчикам реализовать лучшее и стабильное исполнения клиентских приложений. Это инструмент НЕ для всех, он требует хорошего опыта JavaScript и по крайней мере, минимум знаний ООП, и элементарные знания по SVN (потому что это единственный путь для загрузки и получения исходного кода).
Библиотека поднимает JavaScript на качественно новый уровень!

Полезные ссылки

6 комментариев:

  1. а как JS библиотека помогает строить _масштабируемые_ приложения?

    ОтветитьУдалить
  2. @Igor Katkov
    Абстрактный вопрос

    ОтветитьУдалить
  3. никакая клиентская библиотека JS не поможет строить масшатбируемые приложения, IMHO

    ОтветитьУдалить
  4. @Igor Katkov
    два вопроса:
    1. К чему коммент?
    2. Google уже строит, ну конечно же не на голом JS

    ОтветитьУдалить
  5. Статью хочется затроллить с первого абзаца:
    """
    продукты от Google ... написаны в основном, используя ... JavaScript!
    """

    ОтветитьУдалить
  6. @Иван Маркеев
    Продукты Google написаны много на чем (я о серверной стороне), но везде есть JS...

    ОтветитьУдалить