Google предложила разработчикам еще один инструмент с открытым исходным кодом — свой HTML-парсер Gumbo, представляющий собой реализацию алгоритма HTML5-парсинга на языке Си. Компания представила это свободное ПО в блоге Google Open Source Blog сообщением Джонатана Танга из группы Search Features.
По его словам, “одним из важных аспектов стандарта HTML5 стала стандартизация алгоритма HTML-парсинга, благодаря чему HTML-документ одинаково представляется всеми браузерами. Ранее большинство реализаций этого алгоритма было либо привязано к конкретным браузерам или движкам рендеринга, либо написано на специфических скриптовых языках. И если вы не работаете в языке, уже имеющем HTML5-совместимую библиотеку парсинга, приходилось писать узкоспециальные средства для разбора и упорядочения кода HTML, что требует труда и времени”.
Именно здесь пригодится Gumbo, поскольку инструмент предоставляет разработчикам “простую библиотеку, которая может послужить базой при создании средств для проверки корректности и реорганизации кода, шаблонизаторов, средств анализа страниц и других небольших программ, необходимых при обработке HTML, — пишет Танг. — Он написан на чистом Си, что упрощает интерфейс с другими языками, и не имеет внешних зависимостей. Gumbo изначально ориентирован на отслеживание позиций в исходном коде и корреляцию узлов в иерархическом дереве парсинга с местонахождением в оригинальном тексте”.
Дополнительные сведения об инсталляции и использовании Gumbo разработчики смогут найти на странице проекта Gumbo, размещенной на сервисе GitHub.
По представленной там информации, Gumbo полностью согласован со спецификацией HTML5, надежен в работе и устойчив к погрешностям ввода. Gumbo включает поддержку позиционирования в исходном коде и отсылки к оригинальному тексту. Сообщается, что инструмент протестирован на более чем 2,5 млрд. страниц из индекса Google.
Gumbo — один из многих инструментов и проектов на базе открытого исходного кода, выпущенных за последние месяцы Google для разработчиков ПО.
В июне Google выпустила облачную “игровую площадку” Cloud Playground с открытым исходным кодом, которая позволяет программистам быстро тестировать приходящие им на ум идеи, не пользуясь локальной средой разработки ПО. Это создает безопасные условия для экспериментального тестирования кода вне продуктивной инфраструктуры. Пока возможности сервиса Cloud Playground ограничиваются поддержкой приложений Python 2.7 в Google App Engine.
Также в июне Google раскрыла для разработчиков свои Google Maps Engine API, чтобы они могли создавать для домашних пользователей и бизнеса приложения, использующие функции и гибкость карт Google Maps. В работе с Maps API разработчики теперь могут задействовать облачную инфраструктуру Google, добавляя поверх Google Map свои данные и предоставляя свои специальные машапы пользователям разных категорий. Такие карты могут коллективно использоваться внутри компаний или организаций, либо публиковаться в Интернете.
В мае Google обновила свой открытый язык программирования Go до версии 1.1 с новыми возможностями и улучшениями производительности, такими как Race Detector для нахождения ошибок, связанных с параллельным доступом к памяти, и новые функции стандартной библиотеки. Go 1.1 вышел в свет спустя 14 месяцев после выпуска в марте 2012 г. исходной версии 1.0.
Между этими версиями выходили два промежуточных малых релиза, однако они лишь исправляли критические ошибки без переработки приложения. Новая версия включает важные усовершенствования по линии производительности с оптимизацией компилятора и компоновщика, сборщика мусора, планировщика процедур, реализации языковой функции map и частей стандартной библиотеки.
В апреле Google выпустила на базе Android открытый код ядра для своего проекта Glass, активно поощряя разработчиков ПО к созданию многочисленных приложений, работающих с гарнитурой Google Glass.
В январе Google объявила о переносе своей Google Cloud Platform (GCP) в среду совместной разработки GitHub, чтобы разработчикам ПО было проще вносить свой вклад в развитие GCP. Проект GCP пошел в рост после того, как в июле 2012 г. Google запустила новую партнерскую программу, помогающую бизнес-заказчикам ориентироваться во всех доступных облачных сервисах Google. GitHub же представляет собой быстро развивающуюся платформу коллективной разработки ПО для публичного и частного совместного использования кода и хостинга.