Кроме того, энтузиасты портировали Android на ряд известных устройств, среди которых, например, смартфоны на платформе Windows Mobile HTC Touch Dual и HTC TyTN II, на которых Android был запущен в режиме эмуляции. Также было осуществлено полноценное портирование на такие устройства, как интернет-планшеты, работающие на Maemo — Nokia N810 и Nokia N900 (порт под названием Nitdroid), на смартфоны Nokia N9, работающий на платформе MeeGo, и HTC HD2, работающий на операционной системе Windows Mobile, на котором ОС Android можно запускать как с microSD-карты, так и с внутренней NAND-памяти. При этом установленная система имеет полную, ничем особо не ограниченную функциональность. Помимо этого, есть удачный опыт установки Android на некоторые устройства Apple — iPhone, iPodTouch и iPad с помощью специальной программы под названием Openiboot, которая предназначена для запуска на данных устройствах разнообразных ОС, в том числе и Android.
Вышли прошивки с ограниченной функциональностью на устройствах на операционной системе Bada. Компания Koolu не только занялась портированием Android на Neo Free Runner, но и строила свой бизнес на продаже этих смартфонов с предустановленной мобильной платформой от Google. Первый официальный и общедоступный бета-релиз порта Android на Neo Free Runner от Koolu состоялся в декабре 2008 года.[5]
Приложения под операционную систему Android являются программами в нестандартном байт-коде для виртуальной машины Dalvik, для них был разработан формат установочных пакетов. APK. [6] Для работы над приложениями доступно множество библиотек: Bionic (библиотека стандартных функций, несовместимая с glibc); мультимедийные библиотеки на базе Packet Video Open CORE (поддерживают такие форматы, как MPEG-4, H.264, MP3, AAC, AMR, JPEG и PNG); SGL (движок двухмерной графики); OpenGL ES 1.0 ES 2.0 (движок трёхмерной графики); SurfaceManager (обеспечивает для приложений доступ к 2D/3D); WebKit (готовый движок для веб-браузера; обрабатывает HTML, JavaScript); FreeType (движок обработки шрифтов); SQLite (легковесная СУБД, доступная для всех приложений); SSL (протокол, обеспечивающий безопасную передачу данных по сети). По сравнению с обычными приложениями Linux приложения Android подчиняются дополнительным правилам: Content Providers — обмен данными между приложениями; Resource Manager — доступ к таким ресурсам, как файлы XML, PNG, JPEG; Notification Manager — доступ к строке состояния; ActivityManager — управление активными приложениями.
Существует сообщество энтузиастов, разрабатывающее открытые варианты прошивок Android — Cyanogen Mod, MIUI, AOKP (Android Open Kang Project) и другие.[6]
Модифицированные версии Android создаются для дополнения операционной системы новыми настройками, опциями, функциями; удаления из Android-устройства сервисов Google для исключения возможности передачи идентификационной информации на серверы компании, например, информацию о перемещении пользователя в реальном времени, что привело к судебному разбирательству; более оперативного и частого (по сравнению с производителями самих аппаратов) предоставления новых версий Android. Для перепрошивки Android-устройства необходим root-доступ.
Кодовое имя каждой версии операционной системы Android, начиная с версии 1.5, представляет собой название какого-либо десерта. Первые буквы наименований в порядке версий соответствуют буквам латинского алфавита: 1.5 Cupcake («кекс»), 1.6 Donut («пончик»), 2.0/2.1 Eclair («эклер» или «глазурь»), 2.2 Froyo (сокращение от «замороженный йогурт»), 2.3 Gingerbread («имбирный пряник»), 3.0 Honeycomb («медовые соты»), 4.0 IceCreamSandwich («брикет мороженого»), 4.1/4.2/4.3 JellyBean («желейная конфета»), 4.4 KitKat (в честь одноимённого бренда шоколадных батончиков), 5.0 Lollipop («леденец на палочке»), 6.0Мarshmallow(«зефир») .[6]
29 сентября 2015 года СЕО Google Сундар Пичаи отметил, что число пользователей устройств на базе Android превысило 1.4 млрд.
Операционная система Android постоянно развивается и расширяет свои возможности, что делает её главным конкурентом Apple. Некоторые эксперты заявляют, что будущее будет именно за Android системами.
2.1.2 Языки программирования С/С#
Язык Си создан в конце 70х годов Кеном Томпсоном и Деннисом Ритчи при разработке операционной системы UNDC. Первоначально был написан компилятор – программа, обрабатывающая код на языке программирования, находящая и/или исправляющая ошибки в коде. Данный компилятор был использован для компиляции других разделов языка С. [7]
Распространение исходного кода сделало операционную систему UNIX уникальной; программист мог изменить операционную систему, а исходный код мог быть перенесен с одной аппаратной платформы на другую. Сегодня стандарт POSIX определяет стандартный набор системных вызовов UNIX, доступных вС, которые должны быть реализованы в версиях UNIX, являющихся POSIX-совместимыми. Сбыл третьим языком, который разработали Томсон и Ритчи в процессе создания UNIX; первыми двумя были, разумеется, А и В.
По сравнению с более ранним языком — BCPL, Сбыл улучшен путем добавления типов данных определенной длины. Например, тип данных int мог применяться для создания переменной с определенным числом битов (обычно 16), в то время как тип данных long мог использоваться для создания целой переменной с большим числом битов (обычно 32). В отличие от других языков высокого уровня, Смог работать с адресами памяти напрямую с помощью указателей и ссылок.[8]
Язык С является структурным языком программирования, в отличие от современных объектно-ориентированных языков, в нём программист мыслит функциями и процедурами для различных действий. ВС можно определить собственные абстрактные типы данных, используя ключевое слово struct. Аналогично можно описывать собственные целые типы (перечисления) и давать другие названия существующим типам данных при помощи ключевого слова typedef. В этом смыслеСявляется структурным языком с зародышами объектно-ориентированного программирования. В 1983г. ANSI (Американский Национальный Комитет Стандартов) сформировал технический комитет X3J11 для создания стандарта языка C (чтобы "обеспечить недвусмысленное и машинно-независимое определение языка"). В 1989 стандарт был утвержден. ANSI скооперировался с ISO (Международной Организацией Стандартов), чтобы стандартизовать C в международном масштабе; совместный стандарт был опубликован в 1990 году и назван ANSI/ISO 9899:1990. Этот стандарт совершенствуется до сих пор и поддерживается большинством фирм разработчиков компиляторов.
Бьерн Страуструп высвободил объектно-ориентированный потенциал С путем перенесения возможностей классов Simula 67 в С. Первоначально новый язык носил имя "Сс классами" и только потом стал называться C++. Язык C++ достиг популярности, будучи разработанным в Bell Labs, позже он был перенесен в другие индустрии и корпорации. Сегодня это один из наиболее популярных языков программирования в мире. C++ наследует как хорошие, так и плохие стороныС.[7]
В языке С++ полностью поддерживаются принципы объектно-ориентированного программирования, включая три кита, на которых оно стоит: инкапсуляцию, наследование и полиморфизм. Инкапсуляция в С++ поддерживается посредством создания нестандартных (пользовательских) типов данных, называемых классами. Язык С++ поддерживает наследование. Это значит, что можно объявить новый тип данных (класс), который является расширением существующего.
Хотя язык программирования С++ справедливо называют продолжением С и любая работоспособная программа на языке С будет поддерживаться компилятором С++, при переходе от С к С++ был сделан весьма существенный скачок. Язык С++ выигрывал от своего родства с языком С в течение многих лет, поскольку многие программисты обнаружили, что для того, чтобы в полной мере воспользоваться преимуществами языка С++, им нужно отказаться от некоторых своих прежних знаний и приобрести новые, а именно: изучить новый способ концептуальности и решения проблем программирования. Перед тем как начинать осваиватьС++,Страуструп и большинство других программистов, использующихС++ считают изучение языка С необязательным. [8]
Язык программирования C++ в настоящее время считается господствующим языком, используемым для разработки коммерческих продуктов, около 90% компьютерных игр пишутся на С++ с применением DirectX.
DirectX – набор API, разработанных для решения различных зада программирования под операционную систему MicrosoftWindows. Используется для программирования и поддержки компьютерных игр.
При всех своих недостатках и преимуществах, С++ остаётся мировым языком программирования для 90% программистов за счёт своей удобности и простоты. На основе этого языка созданы более поздние версии языков программирования, такие как Python, язык D, семантику этого языка унаследовал Java.[9]
2.1.3 Язык разработки Java
С момента представления в 1995 г. Java-платформы как единого целого мира, Java прошел радикальный эволюционный путь от концепции “апплеты повсюду”, которую исповедовали первые идеологи и приверженцы. Вместо этого мир Java развился до Swing, сконцентрировался вокруг сервлетов, направил движение к J2EE, добавил возможности абстрактного программирования и стал более динамичным, а затем и более функциональным, и продолжает развиваться во множестве интересных направлений.
Сегодня создание программного обеспечения представляет собой чрезвычайно тяжелое занятие. Трудности связаны с разнообразием архитектур машин, операционных систем, графических оболочек и т. д. Стремительный рост технологий, связанных с сетью Internet, дополнительно усложняет эту задачу. К сети Internet подключены компьютеры самых разных типов - IBM PC, Macintosh, рабочие станции Sun и другие. Даже в рамках IBM-совместимых компьютеров, существует несколько платформ, например, MS Windows 9x/Me/XP/NT/2000, OS/2, Solaris, различные разновидности операционной системы UNIX с графической оболочкой X windows. Все эти системы образуют единую сеть, которая должна работать как одно целое, обеспечивая при этом высокий уровень безопасности информации. Под влиянием указанных факторов резко возрастает уровень требований, предъявляемый к программному обеспечению.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 |


