
Уеб приложение е част от софтуера, която може да бъде достъпна с помощта на уеб браузър. Това включва всичко от уеб базиран софтуер за отчитане до бизнес разузнаване (BI), електронна търговия, портали, счетоводство и всичко между тях. Вероятно вашата компания вече използва и/или разработва уеб приложения на някакво ниво.
Защо уеб приложенията са толкова важни в този момент? Тъй като светът става все по-дигитален, по-голяма част от вашия бизнес ще се провежда онлайн. В резултат на това създаването на вашето уеб приложение се превръща във важен компонент от вашата организация.
Какво включва създаването на съвременно уеб приложение? Всичко се свежда до ефективност и безопасност. Сигурните приложения трябва да се разработват бързо, за часове/дни, а не за дни/седмици. Тези програми трябва да са лесни за поддръжка. Те трябва да се разширяват в тандем с вашата компания.
Какво е състоянието на вашия процес на развитие? Може би по-добрият въпрос е „Как можете да постигнете тези цели?“
Ако искате да приложите съвременен процес на развитие, първо трябва да решите няколко основни проблема, с които се сблъскват повечето компании. В тази публикация ще разгледаме седем от тези проблема и ще обясним защо те са толкова важни за вашия напредък.
- Първото предизвикателство е да стандартизирате процеса на разработка.
Ако помолите десет разработчици да създадат приложение, можете да получите десет различни отговора. Всички те могат да отговарят на стандартите, но всички са направени по различен начин. Помислете за кошмара за поддръжка.
За съжаление, за твърде много фирми това е проблем. Те не следват набор от насоки, когато става въпрос за развитие. В резултат на това поддръжката става значително по-сложна и отнема повече време, отколкото трябва.
Съвременният процес на развитие се нуждае от стандартизирана методология, която е едновременно последователна и лесна за поддръжка. Всеки разработчик следва същата процедура. Процедурата е лесна за следване и предсказуема.
„Основният проблем при разработката, с който се сблъскват фирмите, докато пускат своите уеб приложения, е стандартизирането на техния процес на разработка“, казва стратегът на aloa Дейвид Полън. „На високо ниво това предполага привеждане в съответствие на стратегията им за развитие с техните бизнес цели и приоритети, така че опитът им в развитието да е предвидим.“
- Скоростта е второто предизвикателство.
В наши дни, “the name of the game” е скорост. Разработчиците са под нарастващ натиск да предлагат решения бързо, като същевременно поддържат функционалност и сигурност.
„Най-значителната трудност, с която се сблъскват екипите за разработка на уеб приложения, е липсата на време“, казва Кати Райзенвиц, ръководител на съдържанието на Clockwise. „Ако времето беше безкрайно, екипите можеха да разработят всяка функция, която клиент или заинтересована страна поиска, да тестват всеки сценарий, преди да го пуснат в производство, никога да не поемат технологичен дълг и винаги да проектират за мащабируемост. Времето обаче е оскъден ресурс и е най-ценният ресурс на разработчиците в края на деня.“
Как можете да заобиколите ограничението във времето за разработка? Има няколко алтернативи, достъпни за вас:
Наемете допълнителни разработчици: Най-лесният отговор на затруднение при разработката е да разширите работната си сила. Въпреки това осъзнавам, че наемането на екип от разработчици е най-скъпата алтернатива и повечето фирми не могат да си позволят да го направят.
За да извлечете повече от сегашния си персонал, използвайте софтуерни инструменти: През последните няколко години наблюдаваме голям растеж в областта на софтуера за разработка с нисък код. Предизвикателството да „правиш повече с по-малко“ е една от движещите мотиви за това разширение. Инструментите с нисък код ускоряват разработването на уеб приложения с 50 до 80 процента. Как? Редица променливи допринасят за повишената скорост:
Повечето проекти не се нуждаят от кодиране: повечето приложения могат да бъдат създадени за минути или часове, без да се пише нито един ред код. Разработването на сложни приложения може да отнеме повече време, с възможност за включване на персонализиран код, ако е необходимо.
Те намаляват времето за тестване: тъй като инструментите с нисък код използват предварително тествани шаблони и компоненти, времето за тестване е значително намалено.
Какъвто и подход да изберете към проблема със скоростта на разработка, едно е сигурно: желанието за бързо развитие само нараства и бързо се превръща в конкурентно изискване.
- Сигурността е третото предизвикателство.
Броят на кибератаките нараства, а ситуацията само се влошава. Инцидентите в киберсигурността се увеличават всяка година, според статистиката.
Чакайте, има още: Според проучване 50% от онлайн приложенията имат високорискови уязвимости. Топ 10 на OWASP – списък с най-сериозните рискове за сигурността на уеб приложенията – включва често срещани уязвимости в повечето приложения. Тези недостатъци са добре известни и лесно се поправят.
Защо, въпреки значението си, разработчиците се борят толкова много със сигурността? Това се свежда до няколко притеснения, според мен:
Няма стимули за сигурност: Питър Дракър е известен с това, че казва: „Това, което се измерва, се подобрява“. За много разработчици проблемът е, че сигурността не се оценява или възнаграждава.
Кратки срокове: Нека разширим предишната тема. Повечето фирми възнаграждават бързото разширяване с цената на сигурността. Разработчиците бързо преминават през проекта, като се уверяват, че той отговаря на всички нужди на компанията. Това обаче често идва с цената на стабилни процедури за сигурност.
Нови разработчици в работната сила: Новите разработчици са блокирани да поддържат код, който не са написали, и не винаги знаят какво представлява недостатъкът. Основният проблем е, че, както ще видим по-късно, повечето разработчици не са имали достатъчно обучение по сигурността.
„В днешния свят разработването на приложения, които не са лесно хакнати и не осигуряват бекдор в мрежата на компанията, става все по-важно“, казва Ричард Грийнбърг, CISSP, президент, ISSA LA и ISSA Honor Roll и уважаван сътрудник. „Голямо мнозинство от разработчиците са спечелили своето образование и степени от колежи, които включват само елементарни курсове по информационна сигурност в учебните си програми. В резултат на това те са зле подготвени да разработват сигурни приложения.“
- Четвъртото предизвикателство е да се преодолее разликата в таланта.
Създаването на уеб приложения става все по-трудно. Променя се с главоломна скорост. Разработчиците се нуждаят от постоянно разширяващ се и променящ се набор от умения.
За бизнеса е трудно да намерят уеб разработчици, които имат най-актуалните умения. Някои разработчици поддържат текущите си системи актуални, но това често са остарели системи. За да проектирате модерни уеб приложения, ще ви трябват умения, които не са непременно необходими, за да поддържате работата на вашата компания.
Как можете да намерите разработчици, които са запознати със сигурността, интеграцията, адаптивния дизайн и други свързани теми? Как можете да запълните пропастта в уменията, без да наемате дузина допълнителни служители? Ето два начина, които често се използват:
Приемете инструменти за разработка: Инструментите за разработка помагат на настоящите ви служители да придобият съвременни способности. Да разгледаме случая с група програмисти на COBOL. Платформа за уеб разработка ще улесни тези разработчици да проектират уеб приложения с ниска крива на обучение.
Настройте обучение: За разработчиците има множество алтернативи за онлайн обучение. Организирайте обучителни сесии за вашите служители или им осигурете стимули да вървят сами.
Дейвид Уайт от Best Response Media, старши мениджър на проекти, казва: „Трябва да имате правилния екип или да се ангажирате с опитен партньор за уеб приложения“. Никога не е имало по-добро време за разработка на уеб приложения, тъй като непрекъснато се въвеждат нови стандарти и подобрения. С всеки изминал ден те стават все по-трудни и изискват постоянно развиващи се способности. Фирмите трябва да се съсредоточат върху набирането и задържането на служители, за да се преодолее разликата в уменията. Разработчиците трябва да бъдат правилно обучени и подхранвани, след като са наети от вашата компания, за да могат да бъдат в крак с промените в индустрията. Това може да бъде противодействано чрез прилагане на стратегия за обучение, която ясно идентифицира уменията, които екипът трябва да развие и подобри.
- Разработване на приложения, които са надеждни за бъдещето
Какво ще бъде следващото голямо нещо в разработката на уеб приложения? След десет години как ще изглежда интернет? Какво ще бъде бъдещето на уеб стандартите? След три години колко хора ще използват вашето онлайн приложение?
- Какви са шансовете?
Това по същество е трудността при разработването на уеб приложение. Трябва да проектирате уеб приложения, които отговарят на вашите настоящи и бъдещи нужди… дори и да не знаете какви са те. В крайна сметка никоя компания не иска да разработва софтуер, който ще остане остарял след няколко години.
Когато не знаете какво носи бъдещето, как можете да създадете надеждни за бъдещето уеб приложения, които да растат заедно с вашата компания? Всичко започва с проектирането на проекта. Ето няколко насоки:
Придържайте се към изпитани и истински технологии: разработчиците винаги са готови да проверят най-новата, най-лъскава рамка или инструмент. Това изобщо не е проблем. Просто казано, не го използвайте във вашите корпоративни уеб приложения, освен ако не е щателно тестван.
Разделете вашите притеснения: Подходът на n-Tier към дизайна на приложения, който разделя вашите приложения на слоеве, е нещо, в което силно вярваме. Предимството е, че можете да поддържате/подобрявате всеки слой независимо един от друг. Например, ако искате да придадете на приложението си съвременен външен вид и усещане след няколко години, можете да го направите, без да го пренаписвате изцяло.
Създаване за разширяване: Разширете търсенето си отвъд първоначалните критерии. Какво се случва, ако имате повече потребители, отколкото сте очаквали? Какво се случва, ако трябва да промените бази данни или сървъри?
„Мащабирането е най-големият ни проблем при разработката на уеб приложения“, казва Малте Шолц, главен изпълнителен директор и съосновател на Airfocus. „С нарастването на броя на клиентите на вашия уебсайт и уеб приложение нараства и броят на посетителите на вашия уебсайт и уеб приложение и през повечето време един сървър не може да управлява всичко. Вместо да създавате софтуер за един сървър, уверете се, че той може да се използва в тандем. Тъй като вашата програма расте и броят на потребителите расте, ориентираният към услугите дизайн ще ви помогне да подобрите мащабируемостта.“
Интеграция
Бизнес приложенията все повече се изпълняват извън защитната стена. Те са по-разнообразни, отколкото преди. Една съвременна фирма, например, може да използва базирана на SaaS CRM система, вътрешни BI инструменти и хостван в облак уебсайт.
Въпреки че това увеличава гъвкавостта, това също така въвежда нова пречка. Какъв е най-добрият начин да обедините всичко? За уеб разработчиците проблемът вече не е да поставят всяка функционалност в приложение. Това включва разработване на програма, която може да работи с други програми.
„Управлението на сложността на свързването на множество системи с различни бизнес процеси и възможността да ги доставяте рентабилно, с бюджет и навреме“ е решаващ проблем за разработчиците на приложения, според Орен Грийнбърг от Kurve. „Подкрепата често е необходима и намирането на партньори, които са достатъчно информирани, за да изпълняват навреме, в рамките на бюджета и според брифа, може да бъде трудно.“
- Намиране на баланс между функции и простота
Тъй като очакванията на потребителите се повишиха, мобилните приложения затрудниха живота на разработчиците. Крайните потеребители вече очакват същата степен на простота от мобилните приложения, които използват ежедневно.
Проблемът: Ако вашите приложения не успеят да задоволят очакванията на вашите потребители, те ще търсят друг избор. Това означава, че сте загубили клиенти, ако създавате приложения за тях. Ще срещнете проблеми със Shadow IT, ако разработвате приложения за работници.
Трудността за корпорациите е да разработят решения, които отговарят на високите очаквания на техните служители.
„Предоставянето на приложение, което предоставя най-ефективното потребителско изживяване и има най-критичните функционалности, като същевременно е лесно за използване, е една от основните трудности при разработването на уеб приложения“, казва Ритеш Ватвани, ръководител на операциите в Zestard Technologies. „Освен това, не очаквайте вашите потребители да се редят за продължителни периоди от време, за да проверят артикулите си. Може да сте в опасност, ако стартирането на приложението ви отнема повече от секунда или ако вашият платежен портал отнема твърде много време за отговор.“
И така, как можете да създавате онлайн приложения, които отговарят на вече високите стандарти на вашите потребители? Въпреки че не мога да говоря за всяка ситуация, добра идея е да започнете инициативи за развитие, като зададете два въпроса:
Кой би искал това? Това може да изглежда самоочевидно, но си струва да се замислим. Клиент/служител ли търси решение, или някой, който вярва, че знае какво иска клиентът/служителят? Преди да започнете, говорете с истински потребители.
Какво ще се направи с това? Следете наградата: невероятно потребителско изживяване. Трябва да подходите към развитието от гледна точка на потребителя, за да постигнете тази цел. Запитайте се: „Как ще се използва това?“ Каква е целта на потребителя?
И накрая, уверете се, че си сътрудничите с потребителите през целия процес. Бързо създавайте жизнеспособни прототипи и получавайте обратна връзка отрано.
Сега знам, че дизайнът на потребителския интерфейс е огромна тема, която няма да мога да разгледам в тази публикация. Но го споменавам, защото това е нарастващ проблем за уеб разработчиците, който не може да бъде пренебрегнат.
Резюме
Това са само няколко примера за проблеми с разработката на уеб приложения; Сигурен съм, че списъкът може да продължи безкрайно. Има ли нещо друго, което бихте искали да добавите към този списък? Моля, оставете забележка по-долу!