Что такое портирование программ

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

Рассматриваются общие принципы портирования приложений, особенности разработки интерфейсов с учетом возможностей смартфона, особенности портирования ресурсов и сложности, возникающие при переносе приложений на другую платформу. Также приведен обзор программных средств, облегчающих портирование, в котором особое внимание уделяется среде Intel XDK. Для наиболее удобного изучения материала данной темы настоятельно рекомендуется предварительно пройти курс Введение в разработку приложений для ОС Android. Скриншоты приложений взяты из магазина приложений Google Play или сделаны самостоятельно с использованием смартфона Мегафон SP-A20i Mint на платформе Intel Medfield.

Ключевые слова: портирование , мобильное устройство, программные средства, android, Marmalade SDK

Портирование это искусство

Общие принципы портирования приложений

Презентацию к лекции Вы можете скачать здесь.

Портирование приложений

Портирование – адаптация некоторой программы или её части, чтобы она работала в другой среде, отличающейся от той среды, под которую она была изначально написана с максимальным сохранением её пользовательских свойств.

Процесс портирования также называют портированием или переносом, а результат — портом. Но в любом случае главной задачей при портировании является сохранение привычных пользователю интерфейса и приёмов работы с программой. Добавление новых или удаление части имеющихся свойств при портировании программных продуктов не допускается.

Необходимость в портировании возникает обычно из-за различий в системе команд процессора, различий между способами взаимодействия операционной системы и программ (API — Application Program Interface), принципиальных различий в архитектуре вычислительных систем, либо по причине некоторых несовместимостей или даже полного отсутствия используемого языка программирования в целевом окружении.

Международные стандарты значительно упрощают портирование. Они описывают среду исполнения программ таким образом, что различия между платформами становятся минимальными. Часто портирование программ между платформами, реализующими один и тот же стандарт (такой как POSIX.1), сводится к перекомпиляции программы на новой платформе. Существует также всё расширяющийся набор инструментов, облегчающих портирование, например, таких как GCC, предоставляющий неизменный язык программирования на различных платформах.

Некоторые языки программирования высокого уровня достигают портируемости путем трансляции исходного кода в промежуточный язык, имеющий компиляторы для многих процессоров и операционных систем.

Читайте также:
Как добавить много друзей в ВК за один раз программа

Термин портирование часто применяется к компьютерным играм, а именно, к процессу переноса компьютерной игры с первоначальной целевой платформы (персонального компьютера, игровой приставки или мобильного устройства) на другую платформу.

На рис. 7.1 представлен пример портированной программы.

Технические особенности смартфонов, влияющие на работу приложений

При портировании десктопных приложений на смартфон следует учитывать возможности мобильного устройства, отличные от возможностей персонального компьютера. Они оказывают существенное влияние на работоспособность приложений, но при этом у разработчиков появляются новые способы взаимодействия с пользователем.

К особенностям смартфонов, требующим особого внимания при разработке приложений, относятся:

  • Ограниченный доступный объем памяти, как оперативной, так и используемой для хранения пользовательских приложений.
  • Сравнительно невысокая скорость обработки информации.
  • Слабый графический процессор.
  • Ограниченный срок работы устройства от батареи.
  • Небольшой экран.

С другой стороны, смартфоны обладают возможностями, отличными от традиционных для обычных компьютеров:

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

Особенности портирования приложений на мобильные платформы

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

Разработка мобильного приложения «с нуля» состоит из нескольких важных этапов:

  • Постановка задачи.
  • Создание прототипа (бумажного или приложения-заглушки).
  • Определение системных требований и выбор инструмента.
  • Работа над графикой и дизайном приложения и разработка приложения (эти процессы обычно выполняются разными людьми и идут параллельно).
  • Тестирование и оптимизация.
  • Подготовка и публикация приложения в магазине.
  • Сбор аналитики и получение обратной связи.
  • Исправление недочетов и выпуск обновлений.

При портировании приложения на Android есть некоторые отличия от описанного процесса. Задача уже поставлена, есть работающий код, который хотелось бы использовать с минимальными изменениями. Готовое приложение нужно будет готовить к публикации и т.д. абсолютно таким же образом. Но на остальных этапах есть значительные отличия:

  • Интерфейс, графические элементы и дизайн необходимо продумать на этапе прототипирования и переделать подходящим образом.
  • Необходимо выбрать наиболее удобный инструмент разработки.
  • При разработке нужно будет подключить работающий код портируемого приложения.
  • В процессе тестирования и оптимизации возможны значительные изменения в коде исходного приложения (например, при работе с графикой), к этому надо быть готовым.
Читайте также:
Программа дыхательных упражнений oxycise отзывы

При выборе платформы разработки приложения необходимо сначала определиться с ее типом. Существуют три варианта: родная (нативная), Web и гибридная.

Родные (нативные) платформы позволяют создавать приложения, которые замечательно выглядят и воспринимаются, а также обеспечивают сравнительно высокую производительность. Оборотная сторона разработки родных приложений ? для каждой платформы нужно писать свой код. Портирование нативных приложений наиболее сложное.

Мобильные Web-приложения обычно пишут на HTML5, CSS и JavaScript. Их можно написать один раз и запускать на разных платформах, но такие приложения могут уступать родным по внешнему виду, восприятию и производительности. Портирование не представляет особых сложностей.

Гибридные инструменты и среды ликвидируют этот разрыв, сочетая в себе простоту программирования и универсальность Web-приложений с блеском родных приложений. Портирование гибридных приложений зависит от многих факторов, которые могут как упрощать, так и усложнять процесс перехода на другую платформу.

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

Источник: intuit.ru

Портирование программ

Портирование — это перенос программного обеспечения (ПО) в новую инфраструктуру, например, на другую ОС, СУБД или в другую инфраструктуру с изменением форматов входных и выходных данных. Портируемость указывает на возможность программы переживать естественные изменения технологий, окружения, производственных циклов и компьютерного оборудования без утраты актуальности, включая накопленный запас данных и знаний.

Когда требуется портирование систем

Портирование ПО необходимо регулярно при смене технологической базы, что случается в большинстве отраслей не реже раза в 10-15 лет. Устаревают программы и операционные системы, появляется новое, более эффективное оборудование, новые технологии улучшают качество работы, и т.д. Эффективное программное обеспечение должно в таких случаях обеспечивать портируемость, чтобы не стать «узким местом» в технологической или управленческой цепочке предприятия.

Примеры ситуаций, требующих портирования программ

  • Масштабная замена парка компьютерного оборудования на предприятии на современные модели («апгрейд»);
  • Появление принципиально новых систем, модулей или технологий в IT инфраструктуре предприятия (например, внедрение взаимодействия с ФГИС);
  • Переход на новый тип или кардинально обновлённую версию СУБД для хранения базы данных предприятия.

Источник: www.novosoft.ru

Как портировать прошивки на Андроид?

Портирование прошивок интересует многих продвинутых пользователей, которые хотят адаптировать свое устройство для другой среды с сохранением её полезных свойств. Обычно основная цель этого процесса — сделать прошивку на своём гаджете «интереснее» и расширить её функционал. Давайте рассмотрим, как всё это происходит на технике Android с платформой ARM.

Портирование ПО на устройствах Андроид

Что нужно для портирования прошивок?

Для осуществления этого процесса требуются следующие составляющие:

  • Приложение Notepad или другой текстовый редактор (впрочем, эта программа считается наиболее удобной и продуманной среди остальных).
  • Архиватор WinRar.
  • Компьютер, через который осуществляется весь процесс.
  • Два ROM`а с одинаковыми ядрами — один является источником для передачи данных прошивки, на другом мы будем собирать их для программного обеспечения.
Читайте также:
Как понять какой цвет волос мне подойдет программа

Подготовка оборудования для портирования

Как происходит портирование прошивки?

Прежде всего, мы создаём backup папку на компьютере, копируя с директории system/app на ПК такие файлы с расширением .apk:

  • Stk.
  • Vpnservices.
  • Camera.
  • Bluetooth.

Копирование нужных файлов на компьютер

Затем, на устройстве, где мы будем собирать прошивку (его другое название — BROM) мы удаляем эти файлы, а вместо них копируем из источника, который ещё называется PROM следующие директории:

  • /data.
  • /system/app.
  • /system/framework.
  • /system/fonts.
  • /system/media.

Ещё на базовый ROM мы копируем в папку /system/lib библиотеку libandroid_runtime.so. Теперь мы снова перемещаем в BROM прежде удалённые файлы из первого действия.

В последующем мы делаем копию таких библиотек из базового ROM’а в PROM, как:

  • system/lib.
  • /system/etc/init.d.
  • /system/etc/permissions.

Создание копий библиотек

Обратите внимание, что копирование производится с заменой существующих на другом оборудовании данных, а не в качестве их дополнения. Теперь мы удаляем три эти директории на BROM и на их место копируем всё из PROM`а.

Переходим к работе с редактором Notepad и выполняем следующие действия:

  • Открываем на каждом ROM`е файл build.prop и размещаем оба окна друг напротив друга.
  • Сверяем, чтобы запись ro.build.description= совпадала на обеих устройствах, иначе не удастся выполнить прошивку. Если нужно, редактируем строку так, чтобы записи в PROM и BROM были идентичны.
  • Переходим по пути /META-INF/com/google/android и теперь открываем для сверки файлы под названием updater-script. Если они не идентичны, то корректировать их необходимо так, чтобы в BROM`е совпадало значение, которое указано в портируемом ROM`е.

Проверка проведенных действий

Примечание. Вы можете редактировать или добавлять такие параметры, как ядро или permissions, asserts, ui_prints, run_programs, но ни в коем случае не меняйте значение symlinks.

Последнее, что необходимо сделать — проверить в скрипте updater параметр Format values на базовом ROM`е (указанные данные должны подходить для вашего оборудования). Если у двух ядер разные производители, обязательно распакуйте ядро и скопируйте из портируемого ROM`a данные BOOTCLASSPATH на BROM по адресу init.rc.

После всех выполненных действий прошивка окажется в базовом ROM`е, а вы сможете дополнить её по своему усмотрению. Как видите, весь процесс занимает немного времени и не требует особых знаний. Поэтому вы вполне можете справиться с портированием прошивок самостоятельно.

Источник: protabletpc.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru