Двоичная среда выполнения для беспроводной связи
Эту статью необходимо обновить . ( май 2023 г. ) |
Двоичная среда выполнения для беспроводной связи ( Brew MP , Brew , Qualcomm BREW или 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 также полагалась на собственное мобильное оборудование.
История версий [ править ]
BREW 1.0/1.1 (2001–2003) [ править ]
Дебютировавшая в 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 года.
BREW 2.0/2.1 (2002–2009) [ править ]
Выпущенный в середине 2002 года, он был установлен на большинство телефонов с поддержкой BREW с конца 2002 по конец 2009 года. Он включает в себя поддержку расширенного воспроизведения мультимедиа (возможность воспроизведения видео и аудиофайлов, а также поддержку мультимедийных форматов 3GPP), возможность подключения EV-DO и поддержку Bluetooth, а также заставки и другие улучшения. Он также поддерживает MIDP 2.0 в BREW 2.1 и обратно совместим с приложениями BREW 1.x.
Он был установлен на большинстве функциональных телефонов в Индонезии, Китае и других странах с 2004 года и поддерживался несколькими операторами связи до 2017 года.
BREW 3.0/3.1 (2004–2012) [ править ]
Выпущенная в середине 2002 года, она была установлена на большинство телефонов с поддержкой BREW в конце 2004 — начале 2012 года. Это была первая версия BREW, в которой были внесены серьезные изменения, и она имеет подавляющее большинство функций для мобильных телефонов, таких как Wi-Fi. возможности подключения, 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 года и до сих пор поддерживается некоторыми операторами связи.
BREW 4.0.1 — 4.0.2 (2007–2011) [ править ]
Выпущенный в 2007–2011 годах, он был интегрирован лишь в очень немногие мобильные телефоны (например, LG enV Touch и LG Versa). Он имеет лишь несколько улучшений, и позже ему на смену пришла Brew MP. Он имеет дополнительные функции, которые также доступны в Brew MP, такие как поддержка акселерометра и другие изменения.
Он также используется для консоли Zeebo в Мексике и Бразилии.
Brew MP 5.0.1 — 5.0.4 (2009–2021) [ править ]
Brew 5.0 был выпущен в 2009 году с несколькими новыми функциями (включая изображения SVG) и был обратно совместим с BREW 3.x и 4.x. Некоторые устаревшие API в этой версии устарели. Этот выпуск также ознаменовал переход на собственное ядро реального времени BREW вместо использования ОС Qualcomm REX.
Страница разработчика Brew MP была закрыта 23 июля 2021 года после восьми лет бездействия.
Разработка приложений BREW [ править ]
Для тестирования приложений в процессе разработки в состав SDK входит эмулятор BREW или, начиная с версии BREW 1.1 и выше, BREW Simulator . Среда BREW обеспечивает несколько уровней подписей приложений . Одна подпись удостоверяет подлинность разработчика. Другая подпись подтверждает, что приложение прошло тестирование True BREW и предоставляется Intertek. Отдельные операторы связи настраивают телефоны так, чтобы либо обеспечивать, либо игнорировать наличие и проверку этой второй подписи. Телефоны с поддержкой BREW имеют тестовый режим, который позволяет приложениям обходить проверку подписи. Qualcomm делает приложения, прошедшие тестирование, доступными для операторов беспроводных сетей с поддержкой BREW. Затем операторы могут выбрать, какое из этих приложений сделать доступным для конечных пользователей в своем каталоге.
Собственные подписи BREW защищены электронным серийным номером (ESN) и идентификатором мобильного оборудования (MEID) . Это означает, что это предотвращает несанкционированное распространение/загрузку неопубликованных приложений BREW третьим лицам, а не операторам связи. Как только приложение будет загружено OTA через оператор связи на базе BREW, файл .sig автоматически сгенерирует электронный серийный номер для установленного телефона.
Эмулятор BREW под названием BREW Simulator не эмулирует аппаратное обеспечение телефона. Вместо этого приложение BREW компилируется в собственный код и связывается с совместимой библиотекой времени выполнения BREW . Из-за этого приложения не могут быть протестированы на наличие ошибок платформы, связанных с выравниванием памяти и различными сбоями, связанными с прошивкой, без работы телефона BREW в тестовом режиме.
В целях тестирования приложения BREW можно перенести с помощью универсальной последовательной шины (USB) или последовательного кабеля на любой BREW-совместимый телефон с помощью загрузчика приложений BREW от 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. Этот процесс сертификации может восприниматься признанными разработчиками программного обеспечения как преимущество, поскольку трудности, связанные с затратами на тестирование и разработку, создают высокую стоимость входа для разработчиков с небольшим бюджетом и небольшим количеством времени, что приводит к меньшему размыванию рынка. В частности, разработчики казуальных игр меньше рискуют конкурировать с бесплатными аналогами, разработанными и самостоятельно опубликованными любителями. Однако для конечного пользователя это обходится дорого, поскольку конкуренция за разработку лучшего решения по самой низкой цене для конечного пользователя меньше.
- После написания приложения на каждую итерацию тестирования True BREW уходит две недели (каждый раз, когда приложение не проходит тест).
- Далее начинаются переговоры с перевозчиком(ами).
- Затем (в случае успеха) оператор связи потратит время на повторное тестирование приложения с помощью собственных тестов в своей сети.
- Наконец, выпуск новой версии означает начало процесса заново.
Различия между Java ME и BREW [ править ]
В этом разделе может потребоваться редактирование текста с точки зрения грамматики, стиля, связности, тона или орфографии . ( январь 2024 г. ) |
В настоящее время большинство разработчиков предпочитают поддерживать как 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++ плюс и прямой доступ к оборудованию (особенно для игр). [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-значный номер)» в «исключении». в корне каталога, то телефон автоматически перезагрузится сам. Когда приложение Java ME выйдет из строя под действием BREW, Java ME обработает правильно и восстановит их после перезагрузки телефона самостоятельно.
Некоторые/немногие производители мобильных телефонов не позволяют интегрировать виртуальную машину Java ME на некоторые из своих телефонов.
Сейчас существуют коммерческие технологии, позволяющие полностью автоматизировать портирование с Java ME на BREW. Это снижает входной барьер для создания приложений BREW, устраняя необходимость разработки двух версий одного и того же приложения как на Java, так и на C/C++.
Системный сбой [ править ]
Сбой системы в BREW вызван тем, что компоненты перестают работать должным образом, отсутствует файл, необходимый для приложения BREW, сбой приложения или некоторые другие ошибки. Он создает файл «$SYS.EXCEPT_XXXX» внутри папки «исключение» в корне каталога. Сбой системы BREW имеет 2 варианта, ошибка компонента и перезагрузка смерти.
Ошибка компонента (example.c XXXXX) [ править ]
Ошибка компонента — это ошибка, при которой в течение примерно 5 секунд отображается черный, белый или синий экран с текстом ошибки, если компонент перестал работать должным образом, после чего телефон перезагрузится сам. Эта ошибка может варьироваться в зависимости от вашей активности, например:
- fs_dir.c (ошибка файловой системы)
- mdsptask.c (ошибка задачи)
- oemheap3x.c (нарушение кучи)
- Memory.c (повреждение памяти)
- nvm.c (нарушение проверки NVM)
- srch_mdsp.c (ошибка индекса)
- callheap.c (ошибка вызова)
Вероятность возникновения этого варианта очень редка, так как чаще встречается перезагрузка смерти. Вот пример этих действий для запуска этого варианта:
- Понижение напряжения на работающем телефоне приведет к повреждению памяти (обычно, если батарея почти разряжена, на современных устройствах добавлена защита от пониженного напряжения) (например, LG VX10, [5] LG VX4400, [6] и LG PM225)
- Телефон в неисправном состоянии. Обычно, если это произошло, телефон вместо отображения ошибки компонента вызывает перезагрузку смерти.
- Папка «brew», «nvm» или «.efs_private» удалена. (fs_dir.c или nvm.c)
Перезагрузка смерти [ править ]
Перезагрузка смерти — это ошибка, которая приводит к перезагрузке телефона вместо отображения черного, белого или синего экрана с текстом. Этот вариант встречается гораздо чаще. Вот пример этих действий для запуска этого варианта:
- Сбой приложения.
- Удаление карты R-UIM.
- Телефон в неисправном состоянии.
- Неправильный ввод ИП-кода.
- Приложение, которому требуются файлы, отсутствует.
- Запуск теста исключений в инженерном режиме.
Использование устройства и доступность оператора связи [ править ]
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 Чили в Латинской Америке , Sistema Shyam (ныне МТС) в Индии , а также сетью 3 в большей части Европы , Великобритании и Австралии на многих мобильных телефонах, выпущенных специально для их сети.
Поскольку BREW предлагается только мобильным сетям, работающим в CDMA, другие страны (за исключением некоторых частей Европы , Великобритании и Австралии через сеть 3 , Индии, Японии и Китая) не имеют BREW, поскольку у них нет CDMA-сети.
Такие производители, как Huawei , INQ Mobile , Amoi , LG , Samsung Mobile , ZTE и HTC , среди других, используют Qualcomm BREW в некоторых своих мобильных телефонах, и он присутствует в трех британских телефонах, таких как Skypephone 3 , INQ1 , ZTE Z431 и Huawei. u7510 (3 касания). от Tectoy Zeebo — единственная игровая консоль, использующая BREW. Собственный T720 компании Motorola, а также RAZR V3m также используют Qualcomm BREW.
См. также [ править ]
- Java ME — конкурент BREW.
- Разработка мобильных приложений — чем BREW отличается от альтернатив на мобильных платформах.
- Платформа (вычисления)
- Удаленная синхронизация
- Смартфон
Ссылки [ править ]
- ^ SDK и инструменты | Разработчик Brew MP. Архивировано 17 декабря 2012 г. на archive.today . Разработчик.brewmp.com. Проверено 21 июля 2013 г.
- ^ Сертификаты подписи кода для подлинных идентификаторов документов для BREW — цифровые подписи | Symantec. Архивировано 5 февраля 2009 г. в Wayback Machine . Verisign.com. Проверено 21 июля 2013 г.
- ^ «Выбор между J2ME и BREW для беспроводной разработки — TechRepublic» . Техреспублика . Проверено 21 июня 2017 г.
- ^ «Посмотрите графическую разницу между играми Java и BREW» . Карманный геймер . Проверено 21 июня 2017 г.
- ^ Телефоны Стивена (14 июля 2019 г.). «LG VX10 — Когда батарея ДЕЙСТВИТЕЛЬНО разряжена» . Ютуб . Проверено 4 октября 2022 г.
- ^ Телефоны Стивена (14 июля 2019 г.). «LG VX4400 — Когда батарея ДЕЙСТВИТЕЛЬНО разряжена» . Ютуб . Проверено 4 октября 2022 г.