Този сайт използва бисквитки (cookies). Ако желаете можете да научите повече тук. Разбрах

Новини Технологии и концепции
бр. 12, 2017

2017-а - годината на мощните платформи за приложения

от , 21 декември 2017 0 919 прочитания,

Живеем в свят, който все повече се управлява от софтуер. В модерната бизнес среда голяма част от работата минава през SaaS (Software as a Service), мобилни и “настолни” приложения, които се използват на практика постоянно. Комуникацията с колегите и синхронизирането на задачите често стават през специализирани апликации. Проследяване на проекти, човешките ресурси, техническата поддръжка… всичко става с помощта на програми.

Приложенията са инструменти за вършене на определени задачи, които могат да са достъпни през компютър, таблет, мобилно устройство или отвсякъде. Колкото по-лесно е да бъдат разработвани и внедрявани такива решения, толкова по-ефективен може да е бизнесът. Затова никак не е чудно, че е налице ръст при популярността на инструменти за разработка и поддръжка на приложения, както и при платформи за създаване на приложения с минимално количество код...


2017-а - годината на мощните платформи за приложения


Тенденции при разработката на софтуер

Традиционно инструментите за разработка на софтуер следват нуждите на софтуерните инженери и изискванията към техните проекти, коментира за сп. CIO Вели Пехливанов, старши директор „Софтуерно инженерство и връзки с разработчици“ в Progress. Модерните софтуерни решения са все по-мащабни, комплексни и взаимосвързани. В същото време от софтуерните разработчици се очаква да покажат растящи нива на продуктивност и качество на разработката. Това поставя нови предизвикателства и пред средствата и инструментите за разработка на софтуер, от които се изисква същото ниво на адекватност и повишена продуктивност. Тенденциите са тези инструменти да намалят комплексността на разработения софтуер, като съберат (интегрират) на едно място действия, свързани със създаването, тестването, внедряването и поддръжката на софтуера. По този начин все по-популярни стават решения тип all-in-one, които опростяват стъпките от стартиране на проекта до доставка на готово решение до клиента.

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

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


Нови приложения с малко програмиране

През последните години, в отговор на голямото търсене на софтуерни инструменти и недостига на квалифицирани специалисти, се появиха решения, позволяващи създаване на “апове” с помощта на малко код. Една т.нар. Low-Code Development Platform (LCDP) позволява създаване на приложения с помощта на графични интерфейси и конфигурации вместо чрез програмиране. Разбира се, повечето такива инструменти все пак изискват някакви технически познания, като целта по-скоро е намаляване на необходимостта от писане на нов код, например при добавяне на функционалности към дадено бизнес приложение.

Може да се каже, че тези платформи позволяват на повече служители в дадена компания да си правят сами приложения, необходими в тяхното работно ежедневие. Те обаче могат да бъдат полезни и на традиционните разработчици и ИТ специалисти, чрез които те биха могли да ускоряват доставката на софтуерни решения за специфични бизнес нужди. Вместо да ги изграждат от нулата, те биха могли да ги сглобят от вече налични компоненти. Те могат да обединяват предварително зададени шаблон (темплейти), елементи, формуляри и обекти, така че бързо да предложат на даден отдел или екип необходимия инструмент.

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

Както може да се очаква, не всяко подобно предложение покрива добре и двете описани крайности. Някои са разработени така, че да водят потребителя по време на процеса. Други биха били по-трудни за вникване от страна на средностатистическия работник, нямащ опит при програмирането. Те обаче са по-подходящи за разработчиците, предоставяйки им среда за работа. Може да се каже, че в първия случай се очаква потребителят сам да си създаден прост инструмент, например за разпределяне на работни смени или копиране на данни от таблици, а във втория може да става дума за по-комплексни модели, работа с бази данни, интерфейси и т.н.


Прогресивни уеб приложения

Въпреки настоящата доминация на “аповете” много специалисти са на мнение, че доминация всъщност им всъщност представлява проблем заради заложената в тях статичност. Те се изграждат с точно определена цел за точно определена платформа и за обновяване дори на детайл, като продуктово лого например, потребителят трябва да си свали и инсталира наново цялото приложение. В повечето случаи това става автоматизирано, но основните негативи остават.

Разбира се, традиционният софтуер, писан за дадена платформа, предлага несъмнени предимства като работа офлайн и по-добро оползотворяване на хардуера. Тук могат да се добавят още предимства по-отношение на сигурността – тъй обикновено като става дума за инсталиране на приложенията лични устройства. Тоест може да се каже, че в повечето случаи потребителят е “проверен”.

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

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

За наличие на проблем при мобилните приложения свидетелстват данни на Google: 60 на сто от предложенията в нейния онлайн магазин всъщност никога не са сваляни, а просто си стоят там. Също така 30% от тези, които все пак достигат до потребители губят аудиторията си за около три месеца, като повечето хора използват новосваления софтуер не повече от няколко дни.

Решението на тези проблеми предлага хибридният подход – т.нар. прогресивни уеб приложения (Progressive Web Apps, PWA), които представляват обединяване на силните страни на уебсайта и на мобилната апликация. Това мнение споделя например Крисчън Хайлман, старши програмен мениджър Developer Experience and Evangelism в Microsoft, който бе един от лекторите на наскоро провелото се тазгодишно издание на конференцията за разработчици DevReach.

Една от основните идеи, стоящи зад PWA, е, че приложението трябва да следва потребителя, а не обратното. Според Хайлман в момента потребителят трябва да си свали даден софтуер, за да разбере дали той ще му е полезен. Пряко следствие на това са споменатите статистики на Google. По думите му далеч по-удобен би бил модел, при който човек получава пълен достъп до услугата, отваряйки съответния уеб адрес, и чак при някое от следващите му посещения (т.е. наличие на интерес) той да бъде уведомяван, че може да постави икона за бърз достъп на работния си плот, която да му дава бърз достъп до някои функции (включително и офлайн).

За да бъдат безопасни, прогресивните уеб приложения трябва да идват от сигурен източник. За целта те трябва да поддържат HTTPS или HTTP/2. Според Хайлман обикновеният HTTP не отговаря на реалностите, имайки предвид например риска от прехващане на данни. Сигурната среда предоставя повече възможности като достъп до камерата, до GPS приемника, батерията и други хардуерни компоненти на устройството. Тоест тя прави възможно всичко онова, което преди време е било считано за прекалено рисково.

Според Вели Пехливанов от Progress прогресивните уеб приложения са съзряваща технология, която отговаря на нуждата от ново поколение софтуер, който работи безупречно на разнообразни типове устройства и се нагажда според поведението на потребителя. „Някои я смятат за бъдещето на уеб технологиите, други я виждат като продуктивно средство, чрез което да достъпят едновременно десктоп и мобилни канали на взаимодействие с потребителя, обяснява той. И при в двата случая прогресивните уеб приложения извеждат на преден план полезни практики като оптимизиране на бързодействието и достъпа до данни, фокус върху потребителското изживяване и леснота на ползване, широкодостъпност на софтуера независимо от наличния хардуер.“

КОМЕНТАРИ ОТ  

Полезни страници
    За нас | Аудитория | Реклама | Контакти | Общи условия | Декларация за поверителност | Политика за бисквитки |
    Действителни собственици на настоящото издание са Иво Георгиев Прокопиев и Теодор Иванов Захов