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

Втората част от технологиите, които изпозвах за разработката на дипломната си работа – “Cloud технологии и разработка на потребителски ориентиран софтуер в cloud среда”. Първата част от може да прегледате на този адрес – Използвани технологии при разработката на софтуерно приложение VChat.

HTML5 – разработка на мобилно приложение VChat

HTML5

HTML5

HTML е акроним от HyperText Markup Language – в свободен превод “тагов език за хипер текст”. Той е най-широко използвания език за писане на интернет страници. HTML използва тагове (етикети), за да маркира определени елементи от интернет страниците и да позволи тяхното представяне като заглавия, параграфи,списъци, хипервръзки и др.

HTML таговете са команди, които се обозначават със знаците “<” и “>”, напр. <p>, Таговете често образуват двойка от отварящ и затварящ таг, напр. двойката тагове за параграф е: <p> и </p>. Текстът, заключен между <p> и </p> ще бъде представен на интернет страницата като един параграф.

HTML5 е следващият голям проект от HTML стандарта, в момента е в процес на разработка. Както неговите предшественици, HTML 4.01 и XHTML 1.1, HTML5 е стандарт за създаване и предоставяне на съдържание в уеб пространство. Работата по този проект започва през 2004 година като през 2009 в интернет пространството за пръв път се появяват примери от HTML5. HTML5 е смесица от много функции въведени от различни спецификации, заедно с тези, въведени от софтуерни продукти, като уеб браузърите. По-специално, HTML5 добавя много нови функции.

Едно от най-големите предимства на HTML5 се състои в това, че той опростява значително DOCTYPE декларацията. Друго голямо предимство на HTML5 пред по-ранните си версии е т. нар. Geo-Location API, тъй като благодарение на него всеки онлайн бизнес може лесно да получаи информация за поведението на своите посетители. Опцията е особено полезна за потребителите, които активно използват мобилни устройства за сърфиране в интернет.

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

Следващата революционна новост в HTML5 е т.н. WebStorage, който предоставя възможност на програмиста да записва информация на машината на клиента като по този начин приложението може да работи и без наличието на Интернет. Преди създаването на WebStorage компютърните приложения имаха голямо преимущество пред web базираните такива – възможността да записват информация, свързана с конкретния потребител, която да бъде използвана единствено от него. Докато при web приложенията се налагаше изпращане на заявки към “мудните” сървъри и базите от данни, където информацията трудно се асоциира с конкретен потребител, WebStorage обръща нещата в полза на web програмистите, предоставяйки механизъм, чрез който браузърите могат да запазват локално key/value двойки от текст.

JavaScript в разработката на мобилно приложение VChat

Широко разпространено е възприятието, че JavaScript е език за писане на скриптове, а не пълноправен член на езиците за програмиране. Най-често под JavaScript се разбира код, който се вмъква в HTML документа между двойката елементи и и се интерпритира в контекста на HTML документа.

В JavaScript има 5 основни “примитивни” типа данни:

  • Неопределен – undefined
  • Нула – null
  • Булев – boolean
  • Числов – numeric
  • Низов/Стрингов – string

Освен горе посочените основни типове данни JavaScript поддържа и обекти, които обхващат всичко останало освен петте основни типа. Един обект може да съдържа в себе си както прости типове данни, така и други обекти или функции.

Пример


var student = {};
student.name = 'Mihail';
student.f_number = '076002';
student.grades = [4, 5, 6, 5];

Освен простите типове данни, които са представени до тук съществуват обекти и класове в JavaScript:


var Student = function(name, fnumber) { // декларация на клас
this.name = name; // инициализация на член променливи
this.fnumber = fnumber;
this.getName = function() { // дефиниране на методи в класа
return this.name;
}
this.getFNumber = function() {
return this.fnumber;
}
}
var me = new Student('Mihail', '076002');
me.getName(); // връща името на студенти – Mihail
me.getFNumber(); // връща факултетния номер на студента – 076002

JSON в разработката на мобилно приложение VChat

Често наричан “наследника на XML”, JSON ( Javascript Object Notation ) не е нищо повече от един прост формат за обмяна на данни. Идеята и реализацията на JSON е разработена от Douglas Crockford и е базиран на подмножество на езика Javascript – Standard ECMA-262 3rd Edition – от декември 1999. JSON позволява лесно структуриране на информацията в чист вид, без допълнителни кодове – в XML е необходимо да задаваме имена на таговете, докато при JSON има само скоби и запетаи.

Масово JSON се използва при изпълнение на AJAX заявки в web приложенията от тип клиент-сървър. Като информацията може да бъде както предавана, така и приемана от клиента чрез този формат. Съществуват различни JavaScript библиотеки, които предоставят допълнителни функции за работа с JSON обекти, най-известната от които е jQuery.

Въпреки че синтаксисът може да е познат на много програмисти на C, C++, C#, Java, JavaScript, Perl, Python, и много други, JSON е напълно независим от реализацията на езика.

JSON поддържа следните типове данни:

  • Числов
  • Низ
  • Булев
  • Масив
  • Обект
  • null

JSON се състои от две структури:

  • Колекция от двойки име/стойност. В различните езици, това се реализира като обект, запис, структура, речник, хеш таблица, именован списък, или асоциативен масив.
  • Подреден списък от стойности. В повечето езици, това се реализира чрез масив, вектор, списък или последователност.

Пример


var myJSONObject = {"bindings": [
{"ircEvent": "PRIVMSG", "method": "newURI", "regex": "^http://.*"},
{"ircEvent": "PRIVMSG", "method": "deleteURI", "regex": "^delete.*"},
{"ircEvent": "PRIVMSG", "method": "randomURI", "regex": "^random.*"}
]};
/* за да достъпим член от JSON обекта може да използваме следния синтаксис */
myJSONObject.bindings[0].method // "newURI"

За да превърнем чист текст в JSON обект може да използваме футкцията eval(), която е вградена в JavaScript компилатора. Скобите се добавят, за да се избегне дублиране на текста с JavaScript код.


var myObject = eval('(' + myJSONtext + ')');

Възможна е и обратната процедура – превръщане на JSON обект в чист текст, използвайки функцията stringify(). Важно допълнение към функционалността на stringify() е, че JSON не поддържа циклични даннови структури.


var myJSONText = JSON.stringify(myObject);

JSON обект може да бъде съхраняван в прост текстов файл с разширение *.json, предоставяйки лесен начин за достъп до информацията в него както за програмиста, така и за програмата.

JQuery – разработка на мобилно приложение за комуникация VChat

JQuery Mobile

JQuery Mobile

Ролята на един уеб програмист не е да търси проблемни фрагменти часове наред, а да създава код, който да изпълнява определени задачи свързани пряко или не с действията на потребителя. Точно за това тук мотото на jQuery “write less, do more” влиза в приложение.

Различната поддръжка на DOM елементите и тяхната манипулация в повечето случаи изисква маса код за създаване на един прост ефект с JavaScript. С помощта на JavaScript библиотека обаче много голям процент от проблемите са решени. Тя ни осигурява достъп до API (Application Programming Interface), който се занимава пряко със задачите, които действително искаме да се изпълнят. Всичко това позволява да не се притесняваме дали дадено действие ще работи на даден браузър или не.

Eднa от най-важните черти на всяка JavaScript библиотека е способността и да манипулира елемент или съвкупност от елементи на дадена уеб страница само с един ред код. Представете си, че имате нужда последният елемент от група елементи да има точно определен class, например:

  • Home
  • About
  • Service
  • Contacts

С jQuery това се постига лесно :


$("ul li:last").addClass("last-element");

Един от основните плюсове, които правят jQuery толкова популярна и удобна библиотека е използването на CSS-базиран синтаксис за манипулиране на DOM елементи. Използват се следните селектори:

Type selectors – това са селектори на HTML тагове или XHTML елементи


$(‘p’).addClass(‘red); // добавя клас red за всички p елементи

Class selectors – тoва Class е име, предшествано от една точка (.)


$(‘.dummy-class).removeClass(‘red’); // премахва класът red от всички елементи, които имат клас dummy-class

ID selectors – тoва ID е име, предшествано от хеш символ (#).


$(‘#first-p’).addClass(‘first’); // добавя клас first към елемента с id атрибут - first-p

Descendant Selectors – те се използват, за да изберете елементите, които са потомци на даден елемент в документа.

Child Selectors – те се използват, за да изберете елементите, които са деца на даден елемент в документа.

Attribute Selectors – те се използват, за да изберете елемент на база негов атрибут.

Eclipse IDE – среда за разработка на мобилно пиложение VChat

Eclipse IDE

Eclipse IDE

Eclipse е напълно безплатна среда за разработка на софтуер с отворен код, която поддържа множество езици за програмиране, както и възможност за добавяне на приставки. Реализирана е предимно на Java като голяма част от приставките също са реализирани на Java, но е възможно използването и на други езици за програмиране за създаването на приставки – Ada, C, C++, COBOL, Perl, PHP, Python, Ruby. Средата е известна и с отделните си наименования за езиците, които поддържа – Eclipse ADT за Ada, Eclipse CDT за C/C++, Eclipse JDT – Java и Eclipse PDT – PHP.
Средата е платформено независима и лесно се използва както под Windows така и под Unix базиране ОС, това е още една от причините за нейната популярност – всеки предпочита познатата програма без значение дали работи върху PHP сайт под Ubuntu или разработва ASP.NET сайт под Windows.

Благодарение на приставките, които са достъпни за потребителите кодът бива подобаващо оцветяван, в зависимост от езика, който се използва – това е особено важно при разработката на web приложение, където често се смесват HTML, CSS и Javascript в един файл. Друг голям плюс е поддръжката на новите стандарти – HTML5 и CSS3, нещо с което малко безплатни среди могат да се похвалят. Съществува и възможност за добавяне на intellysence поддръжка за използваните Javascript библиотеки – jQuery, Sench Touch и PhoneGap.

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