Автор работы: Пользователь скрыл имя, 21 Декабря 2013 в 19:13, лекция
Android (Андро́ід) - операційна система для смартфонів, планшетних комп'ютерів, електронних книг, цифрових програвачів, наручних годин, нетбуків і смартбуків, окулярів Google та інших пристроїв, заснована на ядрі Linux і власної реалізації Java від Google.
Хоча Android базується на ядрі Linux, він стоїть дещо осторонь Лінукс-спільноти та Лінукс-інфраструктури. Базовим елементом цієї операційної системи є реалізація Dalvik віртуальної машини Java, і все програмне забезпечення і застосування спираються на цю реалізацію Java.
1. Операційна система Android
2. Версії Android. Історія створення
3. Системна архітектура Android
4. Застосування на різних апаратних платформах
5. Розробка програмного забезпечення
6. Переваги та недоліки
7. Реалізація мультиплатформеності в Android
7.1. Формат інсталяційних пакетів .apk
7.1.1. Структура .apk
7.2. Віртуальна машина Dalvik
7.3. Архітектура ARM
7.4. Архітектура x86
7.5. Архітектура MIPS
7.6. WebKit
7.6.1. Історія створення WebKit
7.6.2. WebKit2
7.6.3. Компоненти WebKit
7.6.4. Програми, що використовують WebKit
Із самого початку компанія Apple створила WebKit на базі бібліотеки KHTML браузеру Konqueror для використання у якості рушію для Safari у системіMac OS X. Зараз рушій розроблюють деякі учасники проекту KDE, спеціалісти компаній: Apple Inc., Nokia, Google та інших
Код, який згодом став WebKit'ом з'явився у 1998 як проект KDE зі створення рушію виведення веб-сторінок, це були KHTML та KJS (KDE's JavaScript Engine). Ім'я WebKit з'явилося у 2002 році, коли Apple створила форк KHTML та KJS.
Компанія Apple вибрала саме цей проект тому, що ці рушії дозволяють зручно вести розробку, бо є дуже малими за об'ємом коду (менш ніж 144 000 рядків коду), зрозуміло сконструйованими та відповідають стандартам. KHTML та KJS були портовані на Mac OS X та перейменовані на WebCore та JavaScriptCore, відповідно.
WebKit2 був анонсований 8 квітня 2010. WebKit2 був розроблений з нуля. Головна особливість: різні види веб-змісту працюють у різних процесах. Наразі, WebKit2 доступний для Mac та Windows.
13 лютого 2013 року Opera Software заявила про приєднання до розробок на базі WebKit.
3 квітня компанія Google заявила, що зробить форк WebKit із назвою Blink, наразі цей рушій використовується у браузері Chrome (версія 28 і вище) та Opera (15 і вище).
WebKit використовується як рушій виведення у Safari для Windows, Mac OS X та iOS. Інші програми у Mac OS X можуть використовувати WebKit, наприклад програма Mail, клієнт електронної пошти.
Також на базі WebKit побудовані браузер Google Chrome (до версії 28), браузер в ОС Android та інші.
Компанія Nokia портувала WebKit для свого браузеру, для операційної системи Symbian S60. Компанія Apple портувала WebKit для операційної системи iOS, що працює на телефонах iPhone, планшеті iPad та плеєрі iPod Touch.
WebKit був портований на велику кількість фреймворків, які підтримують багатоплатформність. Наприклад: GTK+, Qt.
WebCore - це бібліотека, що відповідає за вивід, рендерінг, та об'єктну модель документу для HTML та SVG. Код бібліотеки виданий за під LGPL (GNU Lesser General Public License). WebKit «обгортає» WebCore і JavaScriptCore, які написані на C++, програмним інтерфейсом для Objective-C.
WebKit проходить тесті Acid2 та Acid3, з відмінним рендерінгом на рекомендованому обладнанні.
JavaScriptCore - це фреймворк, що реалізує JavaScript-рушій для WebKit. JavaScriptCore був створений на базі KJS та (бібліотека для роботі з регулярними виразами). З часу створення форку, JavaScriptCore збільшив свій функціонал та швидкість роботи. 2 червня 2008 був анонсований переписаний JavaScriptCore під назвою «SquirrelFish», інтерпретатор байткоду. Цей проект еволюціонував до SquirrelFish Extreme (або просто SFX), анонсований 18 вересня 2008. SFX компілює JavaScript у нативний машинний код, не потребуючи інтерпретатору і таким чином прискорюючий виконання JavaScript.
Drosera - це дебагер для JavaScript, який входить до складу нічних збірок WebKit.
Бенчмарк, який вимірює продуктивність JavaScript на типових запитах, як то маніпуляції з текстом, шифрування.