Chromium Embedded Framework – интеграция настольных и Web технологий

Статьи

Chromium Embedded Framework – интеграция настольных и Web технологий

Май 7, 2018

Со времен появления Web технологий существовал практически единственный способ их использования – приложение Web-браузера в операционной системе. Развитие пользовательских настольных приложений и приложений для Web шло преимущественно независимо друг от друга. В какие-то моменты Web приложения постепенно вытесняли настольные приложения, развивая свои возможности за счет увеличения предлагаемого браузером API. И все же Web приложения редко становились настольными приложениями в привычном их понимании. Причиной тому – абстрагирование приложения в браузере от остальной системы и строгие политики безопасности браузера.

Интеграция Web в настольные приложения может дать разработчикам очень много дополнительных инструментов. В простейшем случае это банальное окно Web браузера внутри программы. В более сложных ситуациях это тесная безупречная интеграция лучших решений Web, не выделяющихся из общего настольного окружения. Решить весь спектр таких интеграционных задач разработчикам позволяет Chromium Embedded Framework (CEF).

Chromium Embedded Framework (CEF) – библиотека для разработчиков настольного ПО, позволяющая использовать в своих приложениях всевозможные Web технологии. Это путь к интеграции настольной экосистемы и Web.

В одном из проектов Ауриги CEF изначально был применен взамен устаревших технологий. Это решение стало ключевым для дальнейшего плана развития проекта – интеграция С++ кода и Web технологий выросла на порядки. CEF используется не только в качестве простого встроенного Web браузера, но и для решения следующих задач:

  • рендеринг текстов, HTML, растровой и векторной графики для дальнейшего использования изображений C++ кодом;
  • совершенно бесшовная интеграция HTML редактора на языке Java Script в настольный интерфейс;
  • интеграция системы помощи WebHelp;
  • работа встроенного браузера с интегрированным в программу собственным Web сервером без открытия сетевых портов;
  • пользовательские расширения С++ кода с помощью исполняемых JS скриптов, позволяющие расширять функционал программы сторонними разработчиками.

Таким образом нам удалось перевести часть С++ задач на более быстрый в разработке язык JS. Задачи по созданию контента для приложения тоже значительно упростились – появилась возможность делегировать их не только Web-разработчикам, но и дизайнерам, которые рисуют контент в SVG. Все это положительно сказалось на стоимости и времени разработки продукта, скорости работы продукта, качестве контента, удобстве использования продукта конечными пользователями.

Еще в одном проекте Ауриги CEF использовался в базовой конфигурации для замены штатного браузера операционной системы. Сделано это было для того, чтобы обеспечить безопасный защищенный доступ пользователя к порталу тестирования персонала организации. С помощью небольших плагинов разработчики расширили стандартный функционал браузера и организовали дополнительный контроль за пользователем во время проведения тестирования. Разработанное решение исключает возможность фальсификации результата тестирования, что стало еще одним конкурентным преимуществом на рынке подобных систем.

— Андрей Малашенко, Инженер Ауриги

Похожие новости

Новости

Аурига снова названа среди лучших мировых IT-аутсорсеров

Аурига снова названа среди лучших мировых IT-аутсорсеров

Аурига, одна из лидирующих компаний в сфере разработки программного обеспечения на заказ, вошла в рейтинг The Best of The Global Outsourcing 100® по версии Международной

Пять достижений Ауриги в 2018 году

Начало нового года – волшебная пора, когда люди загадывают желания и строят планы на будущее. Вместе с тем, это самое время остановиться и обернуться на...

С Новым Годом и Рождеством!

Поздравляем Вас с Новым Годом и Рождеством! Пусть в наступающем 2019 году Вам сопутствует неиссякаемая удача и впечатляющие достижения! Самые теплые пожелания счастья и благополучия...

Признанный лидер услуг по разработке ПО:
управление командами и проектами;
разработка новых продуктов, сопровождение, тестирование