Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Статьи » Створення мобільного додатку коледжу &Угреша& для операційної системи iOS

Реферат Створення мобільного додатку коледжу &Угреша& для операційної системи iOS





йсь контейнер, який для користувача виглядає як нативне додаток. Мінуси цих фреймворків:

Чи не маєте доступу до нативним елементам UI. Тобто навіть якщо ви хочете використовувати стандартну кнопку «Назад» для iPhone, ви повинні її намалювати і зверстати.

Урізаний і узагальнений API для роботи з платформою.

Такий додаток фізично запускається всередині браузера телефону (точніше всередині контролю WebView). (низька продуктивність) .основан на open-source реалізації платформи .NET -Mono. Ця реалізація включає в себе власний компілятор C #, середовище виконання, а так само основні .NET бібліотеки. Мета проекту - дозволити запускати програми, написані на C #, на операційних системах, відмінних від Windows-Unix-системах, Mac OS та інших. Важливо, що розробкою Xamarin займаються ті ж люди, що і розробкою Mono. (рис 8)


Рис. 8Xamarin


З погляду виконання додатків між iOS і Android є одне ключове відмінність - спосіб їх попередньої компіляції. Як відомо, для виконання додатків в Android використовується віртуальна Java-машина Dalvik. Нативні додатки, які пишуться на Java, компілюються в якийсь проміжний байт-код, який інтерпретується Dalvik`ом в команди процесора в момент виконання програми (т.е. Аналогічно тому, як працює CLRв .NET). Це так звана Just-in-time компіляція (компіляція на льоту). У iOS використовується інша модель компіляції -Ahead-of-Time (компіляція перед виконанням). Xamarin враховує це розходження, надаючи окремі компілятори для кожної з цих платформ, які дозволяють на виході отримувати справжні, нативні додатки, які виконуються поза контекстом браузера і можуть використовувати всі апаратні і програмні ресурси платформи. (ріс9)


Рис. 9 Компіляція


Для iOS ситуація проста - ніякої віртуальної машини немає і програмний код повинен бути просто заздалегідь скомпільований в машинний. Для цієї мети використовується AOT компілятор Mono.

Для Android цікавіше. При компіляції додатка відбувається переклад коду на C # в проміжний байт-код, зрозумілий віртуальній машині Mono і сама ця віртуальна машина також додається в упаковане додаток. І Mono і Dalvik написані на Сі і працюють поверх ядра Linux. При запуску програми на Android обидві віртуальні машини починають працювати пліч-о-пліч і обмінюються даними через спеціальний механізм wrapper`.

Про бібліотеки на прикладі Xamarin.iOS (Monotouch).

Бібліотека класів Monotouch.dll надає доступ до всіх можливостей iOS SDK. Для розробника - це просто набір C # -класів з хорошою анотацією. Усередині ці класи використовують розроблені інженерами Xamarin механізми Біндінга на нативні класи та методи. Важливо, що цей же механізм можна використовувати для Біндінга будь-яких бібліотек, написаних на objective-c. Більшість класів і методів називаються так само, як в оригінальному iOS SDK, хоча бувають винятки (в цьому випадку доводиться використовувати пошук в документації Xamarin за оригінальною назвою, тому що воно фігурує в атрибутах Біндінга). У класах активно використовується механізм C # event`ов, що дозволяє писати красивий і компактний код обробників з використанням лямбда-виразів:

button.TouchUpInside +=(s, o)= gt; {.Text= Laquo; Hello! Raquo ;;

};

Та й у цілому код, написаний, на C # виглядає набагато читабельності і приємніше. Подивіться різницю на прикладі коду, що створює рядок з атрибутами:



Для асинхронної розробки Xamarin надає можливість використовувати як класи з простору імен System.Threading.Thread і System.Threading.ThreadPool, так і повний спектр можливостей, що надаються TaskParallelLibrary.

Обмеження

Обмеження в Xamarin.iOS пов'язані в основному з тим, що в iOS, як було сказано вище, на відміну від .NET і Mono немає віртуальної машини. Тому виникають труднощі з підтримкою Generic. Причина ясна - на компілятор лягає завдання проаналізувати код і визначити всі можливі конкретизації в тому чи іншому класі і методі. Звідси виникають такі обмеження:

Не рекомендується використовувати VirtualGeneric методи, т.к компілятор не всесильний і може не врахувати всі можливі варіанти використання;

Не можна створювати Generic-спадкоємців від класу NSObject, який є базовим в ієрархії Objective-C. Досить серйозне обмеження, яке може деяким чином зіпсувати вашу струнку і красиву архітектуру.

Інші обмеження, наприклад, відсутність підтримки динамічної генерації коду.

Розробка UI

Для кожної платформи Xamarin надає можливість використовувати...


Назад | сторінка 7 з 12 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Створення програми, яка дозволяє використовувати камеру
  • Реферат на тему: Розробка термогенератора, який буде використовувати тепло двигуна для заряд ...
  • Реферат на тему: Альтернативні джерела енергії, які можливо використовувати в Японії
  • Реферат на тему: Немає нічого більш складного і тому більш цінного, ніж мати можливість прий ...
  • Реферат на тему: Розробка і супровід додатків на базі операційної системи Android