Binary Runtime Environment for Wireless ( BREW , также известная как Brew MP или Qualcomm BREW ) — устаревшая платформа разработки приложений, созданная Qualcomm , изначально для мобильных телефонов с кодовым разделением каналов (CDMA) , с сторонними приложениями, такими как мобильные игры . Она предлагалась в некоторых функциональных телефонах (в основном со спецификациями, аналогичными спецификациям мобильных телефонов среднего и высокого класса), а также в смартфонах.
Впервые разработанный в 1999 году как платформа для беспроводных приложений на мобильных телефонах на базе CDMA, он дебютировал в сентябре 2001 года. Как программная платформа, которая может загружать и запускать небольшие программы для игр, отправки сообщений и обмена фотографиями, основным преимуществом Brew MP было то, что разработчики приложений могли легко портировать свои приложения между всеми устройствами Brew MP, предоставляя стандартизированный набор интерфейсов прикладного программирования . Программное обеспечение для телефонов с поддержкой Brew MP может быть разработано на языках C или C++ с использованием свободно загружаемого комплекта разработки программного обеспечения Brew MP (SDK). [1] Библиотека времени выполнения BREW является частью встроенного ПО беспроводного устройства или операционной системы , позволяя программистам разрабатывать приложения без необходимости кодирования системного интерфейса или понимания беспроводных приложений. BREW описывается как псевдооперационная система, но не настоящая мобильная операционная система . BREW не была виртуальной машиной , такой как Java ME , поскольку она запускает код изначально .
Для разработчиков программного обеспечения Brew MP представлял собой полный набор интерфейсов прикладного программирования (API), позволяющих создавать программное обеспечение и приложения на языках C , C++ , Java , и поддерживался (платформенно) специализированной интегральной схемой (ASIC). Он занимал около 15 900 КБ (15,9 МБ). С версий 1.x по 2.x (до 2004 года) он занимал меньше памяти — около 60 КБ. BREW также имеет прямой доступ к оборудованию. Версии до Brew MP работали/зависели от REX OS (собственная RTOS компании Qualcomm), в то время как Brew MP использовал Brew RTOS (еще одну RTOS для телефонов с расширенными функциями). Вместо использования кода на основе интерпретатора BREW также полагался на собственное мобильное оборудование.
Дебютировав в 2001 году, это была первая фактическая версия BREW. Первоначально созданная для Kyocera QCP-3035 (который был самым ранним коммерчески доступным телефоном с поддержкой BREW) и Sharp Z-800. Она использовала функции уровня персонального цифрового помощника (обычно для некоторых приложений и возможности запуска приложений BREW). Однако в ней отсутствуют расширенные мультимедийные функции и поддержка Java ME, которые были доступны в последующих версиях. Это была единственная версия BREW, поддерживающая монохромные экраны, поскольку поддержка монохромных экранов была удалена в BREW 2.0. BREW 1.1 была первой версией Brew, запускающей приложения Java ME. Она была доступна в некоторых телефонах с поддержкой BREW в 2002 и начале 2003 года.
Выпущенный в середине 2002 года, он был установлен на большинстве телефонов с поддержкой BREW в конце 2002 года и до конца 2009 года. Он включает поддержку расширенных воспроизведений мультимедиа (возможность воспроизведения видео и аудио файлов, а также поддержку форматов мультимедиа 3GPP), подключение для поддержки EV-DO и Bluetooth, а также заставки и другие улучшения. Он также поддерживает MIDP 2.0 на BREW 2.1 и обратно совместим с приложениями BREW 1.x.
С 2004 года он был установлен на большинстве обычных телефонов в Индонезии, Китае и других странах и поддерживался несколькими операторами до 2017 года.
Выпущенный в середине 2002 года, он был установлен на большинстве телефонов с поддержкой BREW с конца 2004 года по начало 2012 года. Это была первая версия BREW, в которой были внесены серьезные изменения, и в ней реализовано подавляющее большинство функций для мобильных телефонов, таких как подключение по WiFi, OpenGL ES 1.0, поддержка 3G, GPS, QWERTY-клавиатур и поддержка мобильных экранов выше 176x220. Он обратно совместим с приложениями BREW 2.x, но не с приложениями BREW 1.x.
Это также первая версия BREW, поддерживающая рендеринг 3D-графики, хотя она использует только программный рендеринг (который также поддерживает JSR 184 для игр Java ME). Аппаратное ускорение также поддерживается изначально через OpenGL ES 1.0 (если доступен чип 3D-ускорения).
С 2005 года он был установлен на большинстве обычных телефонов в США и других странах и до сих пор поддерживается несколькими операторами.
Выпущенный в 2007 и до 2011 года, он был интегрирован только в очень немногих мобильных телефонах (таких как LG enV Touch и LG Versa). Он имеет лишь несколько улучшений и позже был заменен Brew MP. Он имеет дополнительные функции, которые также доступны в Brew MP, такие как поддержка акселерометра и другие изменения.
Он также используется для консоли Zeebo в Мексике и Бразилии.
Brew 5.0 был выпущен в 2009 году с несколькими новыми функциями (включая изображения SVG) и был обратно совместим с BREW 3.x и 4.x. Некоторые устаревшие API были объявлены устаревшими в этой версии. Этот выпуск также ознаменовал переход к собственному ядру реального времени BREW вместо использования REX OS от Qualcomm.
Страница разработчиков Brew MP была закрыта 23 июля 2021 года после восьми лет бездействия.
Для тестирования приложений в процессе разработки в SDK включен эмулятор BREW или, начиная с версии BREW 1.1 и выше, симулятор BREW . Среда BREW обеспечивает несколько уровней подписей приложений . Одна подпись аутентифицирует разработчика. Другая подпись подтверждает, что приложение прошло тестирование True BREW и выдается через Intertek. Отдельные операторы связи настраивают телефоны так, чтобы они либо обеспечивали, либо игнорировали наличие и проверку этой второй подписи. Телефоны с поддержкой BREW имеют тестовый режим, который позволяет приложениям обходить проверку подписи. Qualcomm делает приложения, прошедшие тестирование, доступными для операторов беспроводных сетей с поддержкой BREW. Затем операторы могут выбирать, какие из этих приложений сделать доступными для конечных пользователей в своем каталоге.
Собственные подписи BREW защищены электронным серийным номером (ESN) и идентификатором мобильного оборудования (MEID) , что означает, что он предотвращает несанкционированное распространение/загрузку приложений BREW третьим лицам, а не операторам. После загрузки приложения OTA через оператора на основе BREW файл .sig автоматически сгенерирует электронный серийный номер для установленного телефона.
Эмулятор BREW, называемый BREW Simulator , не эмулирует аппаратное обеспечение мобильного телефона. Вместо этого приложение BREW компилируется в собственный код и связывается с совместимой библиотекой времени выполнения BREW . Из-за этого приложения не могут быть протестированы на наличие ошибок платформы, связанных с выравниванием памяти и различными сбоями, связанными с прошивкой, без мобильного телефона BREW, работающего в тестовом режиме.
Для целей тестирования приложения BREW можно переносить с помощью универсальной последовательной шины (USB) или последовательного кабеля на любой совместимый с BREW телефон с помощью BREW App Loader от Qualcomm. Приложение BREW содержит несколько компонентов, которые, если они отсутствуют и недействительны, приводят к автоматическому удалению приложения при перезагрузке. Сюда входят скомпилированный двоичный файл, файл, описывающий приложение, используемые им функции и запрашиваемые разрешения, файл, содержащий строковые и графические ресурсы, если это необходимо, и файл, содержащий цифровую подпись приложения.
Приложения BREW могут быть выгружены из потребительского телефона для экономии места в памяти телефона. Это называется «Отключить/Восстановить» и является требованием процесса тестирования True BREW. Сохраненные файлы остаются нетронутыми с помощью «Отключить/Восстановить», и можно перезагрузить приложение без повторной оплаты. В ситуации «Отключить» все файлы .bar, .mod и .sig удаляются с телефона, в то время как все остальные файлы остаются на своих исходных местах. Во время операции «Восстановить» файлы .bar, .mod и .sig загружаются из мобильного магазина оператора, и ранее отключенное приложение будет иметь полную функциональность. Процесс «Отключить/Восстановить» доступен для пользователей-потребителей только после заполнения памяти телефона.
28 мая 2008 года компании Qualcomm и Adobe объявили о партнерстве с целью интеграции Adobe Flash Lite в качестве поддерживаемого пользовательского интерфейса в BREW.
С марта 2006 года самый дешевый пакет цифровой подписи для разработчиков стоит 400 долларов США за 100 заявок. [2]
Строго говоря, время выхода на рынок может занять больше времени с BREW, чем с Java ME из-за строгих требований сертификации Qualcomm BREW. Этот процесс сертификации может восприниматься как преимущество устоявшимися разработчиками программного обеспечения, поскольку трудности, связанные с тестированием и затратами на разработку, создают высокую стоимость входа для разработчиков с низким бюджетом и небольшим временем, что приводит к меньшему размыванию рынка. В частности, разработчики казуальных игр меньше рискуют конкурировать с бесплатными аналогами, разработанными и самостоятельно опубликованными любителями. Однако это обходится конечному пользователю дорого, поскольку меньше конкуренции за разработку лучшего решения по самой низкой цене для конечного пользователя.
В настоящее время большинство разработчиков выбирают поддержку как Java ME, так и BREW или только Java ME. [ нужна цитата ] Java ME может предложить рынку более низкую стоимость, поскольку большинство операторов разрешают запускать несертифицированные приложения Java ME на своих телефонах. Телефоны Java ME имеют большую долю рынка, чем телефоны с поддержкой BREW. Java ME широко используется в Европе, в то время как BREW в основном используется в США и Японии. [ нужна цитата ] Одним из первоначальных преимуществ BREW было то, что Verizon упростил покупку приложений с телефона, в то время как большинство операторов Java ME этого не делали. Однако большинство операторов телефонов Java ME теперь предлагают легкодоступные порталы покупок.
Из-за различных API Java ME полагается на виртуальную машину Java (код на основе интерпретатора), которая технически медленнее, чем BREW, которая использует собственный C/C++ plus и прямой доступ к оборудованию (особенно для игр). [3] Java ME имеет ограниченное подмножество API (как для приложений, так и для игр). Тем не менее, сторонние API и реализации (такие как MascotCapsule от HI CORPORATION. (API 3D-рендеринга) и DoJa / Star от NTT Docomo) доступны, но не пользуются популярностью и успехом за пределами Японии (особенно в плане принятия устройств). BREW (с другой стороны) полагается на свои собственные API и прямой доступ к оборудованию.
Производительность приложений и игр Java ME ниже, чем у BREW. Для 3D-игр Java ME использует JSR 184 (M3G), а 3D-игры, разработанные на Java ME, медленнее (что приводит к 10 кадрам в секунду на некоторых/большинстве телефонов) и имеют ограниченную графику, в то время как BREW использует либо программный рендеринг (если телефон BREW не имеет чипа 3D-ускорения), либо OpenGL ES (который может использовать его производительность). [4]
В отличие от Java ME, при сбое приложения BREW телефон перезагрузится, так как BREW не сможет обработать и восстановиться. В случае сбоя приложения оно создает «$SYS.EXCEPT_(4-значный номер)» в папке «except» в корневом каталоге, после чего телефон автоматически перезагрузится. При сбое приложения Java ME под управлением BREW Java ME правильно обработает его и восстановит после перезагрузки телефона.
Некоторые производители мобильных телефонов не разрешают интегрировать виртуальную машину Java ME на некоторые из своих телефонов.
В настоящее время существуют коммерческие технологии для полной автоматизации портирования с Java ME на BREW. Это снижает барьер входа для создания приложений BREW, устраняя необходимость разрабатывать две версии одного и того же приложения как на Java, так и на C/C++.
Сбой системы в BREW вызван тем, что компоненты перестали работать должным образом, отсутствует файл, необходимый для приложения BREW, происходит сбой приложения или некоторые другие ошибки. Он создает файл "$SYS.EXCEPT_XXXX" внутри папки "except" в корне каталога. Сбой системы BREW имеет 2 варианта: ошибка компонента и перезагрузка или смерть.
Ошибка компонента — это ошибка, которая будет отображать черный, белый или синий экран с текстом ошибки в течение примерно 5 секунд, если компонент перестал работать должным образом, затем телефон перезагрузится сам по себе. Эта ошибка может различаться в зависимости от вашей активности, например:
Вероятность возникновения этого варианта очень мала, поскольку перезагрузка смерти более распространена. Вот пример этих действий для запуска этого варианта:
Перезагрузка смерти — это ошибка, которая сама по себе перезагрузит телефон вместо отображения черного, белого или синего экрана с текстом. Редкость возникновения этого варианта гораздо больше. Вот пример этих действий, которые вызывают этот вариант:
Qualcomm BREW используется некоторыми производителями мобильных телефонов и мобильными сетями, однако, чаще всего конечный пользователь не знает об этом, поскольку мобильные телефоны под управлением BREW чаще всего не имеют какой-либо маркировки Qualcomm BREW, а BREW работает в фоновом режиме с пользовательскими «скинами» производителя или оператора мобильных телефонов поверх. Qualcomm BREW используется Sprint Nextel , metroPCS , US Cellular , Verizon , Syringa Wireless, Cricket Wireless и AT&T (в HTC Freestyle) в США , KDDI в Японии, KT и SK Telecom в Южной Корее, China Telecom в Китае , MOVILNET и BellSouth Chile в Латинской Америке , Sistema Shyam (теперь MTS) в Индии и сетью 3 в большей части Европы , Великобритании и Австралии на многих мобильных телефонах, произведенных специально для их сети.
Поскольку BREW предлагается только для мобильных сетей, работающих в стандарте CDMA, в других странах (за исключением некоторых стран Европы , Великобритании и Австралии через сеть 3 , Индии, Японии и Китая) BREW недоступен, поскольку у них нет сетей CDMA.
Такие производители, как Huawei , INQ Mobile , Amoi , LG , Samsung Mobile , ZTE и HTC, среди прочих, используют Qualcomm BREW в некоторых своих мобильных телефонах, а также он представлен в 3 британских телефонах, таких как 3 Skypephone , INQ1 , ZTE Z431 и Huawei u7510 (3 Touch). Zeebo от Tectoy — единственная игровая консоль, использующая BREW. Собственные T720 от Motorola, а также RAZR V3m также используют Qualcomm BREW.