Кіріспе

Веб-қосымша (немесе веб-апп) – веб-браузерді клиент ретінде пайдаланатын бағдарламалық қамтамасыз ету. Веб-қосымшалар белсенді желілік қосылысы бар пайдаланушыларға Әлемдік желі арқылы жеткізіледі. Бір беттік және прогрессивті әдістер веб-сайтты тұрғын қосымшаға ұқсатуға мүмкіндік береді.

Тарих

Клиент-сервер сияқты бұрынғы есептеу модельдерінде қолданбаның өңдеу жүктемесі сервердегі код пен әр клиентте жергілікті орнатылған код арасында бөлінетін. Басқаша айтқанда, қолданбаның өзінің алдын ала құрастырылған клиент бағдарламасы болды, ол пайдаланушы интерфейсі ретінде қызмет ететін және әр пайдаланушының жеке компьютеріне бөлек орнатылуы тиіс болды. Қолданбаның серверлік кодына жаңарту жасау әдетте әр пайдаланушының жұмыс станциясына орнатылған клиенттік кодты да жаңартуды қажет ететін, бұл қолдау құнына қосымша шығын әкеліп, өнімділікті төмендетіп жіберетін. Сонымен қатар, қолданбаның клиенттік және серверлік компоненттері көбінесе нақты компьютерлік архитектураға және операциялық жүйеге тығыз байланысты болды, ал оларды басқа платформаларға көшіру, ең ірі қолданбалардан басқалары үшін тым қымбатқа түсуі мүмкін (Қазіргі уақытта мобильді құрылғыларға арналған түпкілікті (native) қолданбалар да жоғарыда аталған мәселелердің кейбіреулерімен немесе барлығымен шектеледі). 1995 жылы Netscape клиенттік жақта жұмыс істейтін JavaScript деп аталатын скрипт тілін енгізді, бұл бағдарламашыларға пайдаланушы интерфейсіне динамикалық элементтерді қосуға мүмкіндік берді. Яғни, толық веб-бетті жасау үшін серверге деректерді жіберудің орнына, жүктелген беттің кіріктірілген скрипттері кіріс деректерін тексеру немесе беттің бөліктерін көрсету/жасыру сияқты әртүрлі тапсырмаларды орындай алатын. 1999 жылы Java тілінде Servlet Specification 2.2 нұсқасында "веб-қосымша" тұжырымдамасы енгізілді. [2.1?]. Ол кезде JavaScript және XML әзірленген еді, бірақ Ajax әлі танылмаған еді және XMLHttpRequest нысаны Internet Explorer 5-те тек қана ActiveX нысаны ретінде енгізілген болатын. Gmail сияқты қолданбалар 2000-жылдардың басынан бастап клиенттік жағын интерактивті етуді бастады. Веб-беттің скрипті толық веб-бетті жүктемей, деректерді сақтау/алу үшін сервермен байланыса алады. Бұл тәжірибе 2005 жылы Ajax деп аталды. Дизайнер Фрэнсис Берриман мен Google Chrome инженері Алекс Расселдің 2015 жылы қолданған "прогрессивті веб-қосымшалар" термині, қазіргі браузерлер қолдайтын жаңа мүмкіндіктерді пайдаланатын қолданбаларды білдіреді, олар бастапқыда веб-браузердің қойындысында жұмыс істейді, бірақ кейін толығымен офлайн режимде жұмыс істей алады және браузерде қолданбаның URL-ін енгізбей іске қосылуы мүмкін.

Құрылымы

Дәстүрлі компьютерлік бағдарламалар көбінесе бір деңгейлі болады және тек клиенттік машинада орналасады. Ал веб-бағдарламалар өздерінен-өзді көп деңгейлі архитектураны қолдайды.

Қауіпсіздік

Осы сияқты қосымшалардағы қауіпсіздік бұзушылықтары өте маңызды мәселе, себебі ол корпоративтік ақпаратты да, жеке клиенттердің деректерін де қамтуы мүмкін. Бұл активтерді қорғау – кез келген веб-қосымшаның маңызды бөлігі және оларды әзірлеу процесіне енгізу қажетті негізгі операциялық салалар бар. Бұл аутентификация, авторизация, активтерді басқару, деректерді енгізу, сондай-ақ журналдау және аудиттеу процестерін қамтиды. Қосымшаларды бастапқыда қауіпсіздікпен құру ұзақ мерзімде тиімдірек және кем бұзушылықтарға әкелуі мүмкін.

Даму

Веб-қосымшаларды жазу веб-қосымшалар фреймворктерін пайдалану арқылы жеңілдетіледі. Бұл фреймворктер әзірлеуші топқа пайдаланушыларды басқару сияқты жиі кездесетін даму мәселелерін шешпей, өз мақсаттарына ғана ерекшеленетін қосымшаның бөліктеріне назар аударуға мүмкіндік беріп, жылдам әзірлеуге көмектеседі. Қолданыстағы көптеген фреймворктер ашық кодты бағдарламалық қамтамасыз ету болып табылады. Сонымен қатар, Интернет операциялық жүйелерінде қосымшаларды дамыту мүмкіндігі бар, бірақ қазіргі таңдағыда осы үлгіге сай келетін көптеген тиімді платформалар жоқ.