Използвани технологии при разработката на софтуерно приложение VChat

PHP за разработка на софтуерно приложение VChat

Темата за езика с отворен код PHP може да намерите в историята на блога – Защо да използваме PHP при разработка на софтуер.

MongoDb за разработване на софтуерно приложение VChat

Изчисленията в облака налагат използването на нерелационни бази от данни, които да позволят т.н. хоризонтално разширение на една система. MongoDB представлява документно-ориентирана система за съхранение на данни, данните, които са предоставяни в лесен за употреба начин от повечето програмни езици от високо ниво. Вложени документи и масиви намалява нуждана от JOIN операции при нейната работа, а липсата на предварително зададена схема я превръща в истинско улеснение за разработчиците.
Високата производителност на системата се основава на липсата на JOIN операции между отделните заявки към нея в комбинация със мощната система за индексиране на съхранената информация. MongoDB поддържа различни схеми на репликация, чрез които се осигуравя висока надеждност на нейната работа. Декомпозицията е автоматично заложена и използването на множество физически сървъри за съхранение на информацията се осъществява без допълнителни инсталации и конфигурации.

Всяка порция данни, която се съхранява в системата е разделена на т.н. шардове(shards), към всеки от които се съхранява поне едно резервно копие. При осъществяване на търсене към информация в даден шард системата автоматично открива физическото му разпределение и извежда данните. Системата поддържа възможност за много сървъри-работници, всеки от които съдържа копие на мета информацията и спомага бързината при работа с нея.

MongoDB структура

Android за разработка на софтуерно приложение VChat

Android e мобилна платформа разработена от Google за Open Handset Alliance. Тя е софтуерна система с отворен код и разчита на други проекти с отворед код като Linux, WebKit, SQLite и т.н., да имплементира услугите си.

На дъното на структурата, близо до силиция, е Linux ядро осигуряващо multitasking, различни системни услуги и управление на процесите. То управлява всички драйвери от ниско ниво и служи като Hardware Abstraction Layer (HAL). Достъпът до всички устройства от ниско ниво трябва да минава през Android framework-а, а не през Linux. Над ядрото се намират слоевете на Android „runtime” и “support libraries”. “Runtime” слоят се състои от Dalvik Virtual Machine (DVM) и core libraries. DVM е „преводач” на биткодове, който осигурява независимост на Android приложенията, както при Java ME. Той е оптимизиран за вградени системи. Използва например регистър-базирани обаждания и съхранение. Освен това core libraries, които изпълняват Java способностите, са написани на “native” код. Важно е, че устройствата могат да изпълняват няколко искания на DVM, като всяко от тях контролира отделен процес. Т.е устройството може да ползва няколко приложения едновременно. Все пак трябва да отбележим, че Android e оптимизиран да работи на един екран.

Системата се състои от четири основни компонента:</p.

  • Кернел / Кърнъл (Kernel) – Това е централния компонент на повечето операционни системи (вкл. Линукс). То представлява мост между програмите и реалната обработка на данните, направена на хардуерно ниво. Главната задача на кернела е управление на системните ресурси – комуникацията между хардуера и софтуера. Освен това Linux ядро осигуряващо multitasking, различни системни услуги и управление на процесите. То управлява всички драйвери от ниско ниво и служи като Hardware Abstraction Layer (HAL). Достъпът до всички устройства от ниско ниво трябва да минава през Android framework-а, а не през Linux.
  • Framework / Application Framework – Представлява „скелета“ на софтуера, използван като основа на разработчиците за да се създават приложения (програми).
  • Dalvik Virtual Machine – Всъщност „виртуалната машина“ Далвик е разработена специално за андроид и основната й функция е да подкарва компресираните приложения на Андроид. Създадена е поради допускането, че мобилните устройства, които ще работят с Андроид ще са с оскъдни ресурси (памет и процесор). Разликата с другите виртуални машини (като Java) е, че архитектурата на Далвик е базирана на принципа на регистъра (registry-based architecture). DVM е „преводач” на биткодове, който осигурява независимост на Android приложенията, както при Java ME. Той е оптимизиран за вградени системи. Освен това core libraries, които изпълняват Java способностите, са написани на “native” код. Важно е, че устройствата могат да изпълняват няколко искания на DVM, като всяко от тях контролира отделен процес, т.е. устройството може да ползва няколко приложения едновременно, въпреки това трябва да отбележим, че Android e оптимизиран да работи на един екран.
  • JIT compiler – Идва от Just-In-Time compilation, това е техника за подобряване на производителността на компютърната програма. Обикновено, компютърната програма има два режима на действие: статично и динамично. Динамичния код се превежда до машината (Далвик) след всяко ваше действие, докато статичният код се превежда в Далвик преди да бъде изпълнено дадено действие и се прави еднократно. JIT представлява хибриден подход, с постоянно превеждане на информация, но същевременно с това запазва кода и е възможно да го използва отново.
  • PhoneGap за разработка на софтуерно приложение VChat

    PhoneGap е проект с отворен код за създаване на мобилни приложения за модерни операционни системи, включително и Android. Основана на HTML5 проекта разчита на добре познатите на програмистите – HTML и Javascript.

    През Април 2009 година проекта печели първо място в състезанието the Web 2.0 Expo LaunchPad от тогава популярността му непрестанно нараства – свален над 350 000 пъти. Проекта е наричан от доста свои последователи “крайъгълен камък в разработката на мобилни приложения за Android ОС”.

    Основната идея заложена в разработката на PhoneGap е да покаже на производителите на смартфони и разработчиците на техните операционни системи е, че обикновените програмисти нямат желание да работят едно и също нещо дузина пъти – по веднъж за всяка мобилна операционна система. Web базираните технологии са своеобразен мост между различните смартфони.

    PhoneGap е напълно безплатен както за лична така и за комерсиална употреба, тъй като лицензиран под MIT license.</p.

    PhoneGap е “обвивка” на HTML, CSS и Javascript кода на приложението, чрез набора си от вградени функции, които предоставя дава достъп до някои от ресурсите на смартфона Android.

    Фиг. 6 представя процеса на разработка на приложението чрез web стандартите – JavaScript, HTML5 и CSS, “опаковането” му, използвайки PhoneGap и разпространяване на крайния продукт до различните мобилни операционни системи.

    PhoneGap for software application VChat

    PhoneGap for software application VChat

One thought on “Използвани технологии при разработката на софтуерно приложение VChat

  1. Pingback: Използвани технологии при разработката на мобилно приложение VChat | Михаил Боянов Великов

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s