2019 жылғы веб-әзірлеу технологиясының трендтері

Кіріспе

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

2019 жылғы веб-әзірлеу технологиясының трендтері

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

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

Технологиялар бір орында тұрмайды және үнемі дамып отырады, және бірнеше жыл бұрын қолданылған нәрсе бүгінде өзекті болмауы мүмкін немесе бірнеше жыл бұрын жасалуы мүмкін емес нәрсе қазірдің өзінде шындыққа айналды. Веб және мобильді қосымшаларды тезірек және жақсырақ жасауға көмектесетін заманауи құралдар бар. Жеке бақылаулар мен тәжірибеге сүйене отырып, мен жақын арада қандай технологиялар мен құралдар сұранысқа ие болатыны және заманауи веб-қосымшаны жасау кезінде неге оларға назар аудару керектігі туралы өз көзқарасыммен бөліскім келеді.

Бір беттік қолданба

Терминологияны аздап анықтайық. Single Page Application (SPA) – құрамдастары бір бетте бір рет жүктелетін және мазмұны қажетінше жүктелетін веб-бағдарлама. Ал қолданбаның бөлімдері арасында жылжу кезінде бет толығымен қайта жүктелмейді, тек қажетті деректерді жүктеп, көрсетеді.

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

Егер бірнеше жыл бұрын бір беттік қосымшалар іс жүзінде іздеу жүйесін оңтайландыруды қолдамаса және негізінен жеке тіркелгілер мен әкімшілік панельдерді жасау үшін пайдаланылса, бүгінде іздеу жүйесін оңтайландыруға (SEO) толық қолдау көрсететін бір беттік қосымшаны жасау әлдеқайда жеңіл болды. Бүгінгі күні сервер арқылы көрсетілетін бір беттік қолданбаларды пайдалану арқылы бұл мәселе толығымен жойылды. Басқаша айтқанда, бұл бір беттік қосымша, бірақ бірінші сұраныс бойынша сервер жай ғана деректерді ғана емес, көрсетуге дайын HTML бетін жасайды және іздеу жүйелері барлық мета ақпараттары мен семантикалық белгілеулері бар дайын беттерді алады. .

Клиенттік веб-қосымшаларды құру құралдарының дамуымен бір беттік қосымшаларды әзірлеу және көшу осы және одан кейінгі жылдары ғана өседі. Егер сізде ескірген және баяу жұмыс істейтін ескі қолданба болса, тіпті бөлімдер арасында ауысқанда бетті толығымен қайта жүктеп алсаңыз, онда биыл сіз бір беттік жылдам қосымшаға қауіпсіз жаңарта аласыз - қазір жақсы уақыт, технология сізге мүмкіндік береді. мұны тез және тиімді орындау үшін.

Заманауи және жылдам веб-сайттың болуы өте жақсы, бірақ шынымды айтсам: барлық қолданбаларды бір беттік қолданбаларға оңай түрлендіру мүмкін емес, ал көшу қымбат болуы мүмкін! Сондықтан, мұндай ауысудың кімге және не үшін қажет екенін түсіну керек.

Түсінуіңізге көмектесу үшін төмендегі кестеде мен СПА-ны әзірлеу немесе ауыстыру қай кезде орынды және негізделген, ал қай кезде олай емес екеніне мысалдар келтіремін.

FOR

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

Мысалы: әлеуметтік желі, агрегаторлар, SaaS платформалары (бұлттық қызмет ретіндегі бағдарламалық жасақтама), базарлар

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

Сізде сайттың API интерфейсін пайдаланатын мобильді қолданбаңыз бар, бірақ сайт баяу және беттер арасында жылжу кезінде мазмұнды толығымен қайта жүктейді.

ҚАРСЫ

Егер сіздің мақсатты аудиторияңыз заманауи браузерлер мен құрылғыларды пайдаланбаса.

Мысалы: банктердің, медициналық мекемелердің және білім берудің ішкі жүйелерін дамыту сияқты нақты корпоративтік бағыттар.

Сіз негізгі әрекеттеріңізді офлайн режимінде жүргізесіз және онлайн режимінде ешқандай қызмет көрсетуге дайын емессіз және сізге тек клиенттерді тарту керек.

Егер сізде жақсы сатылатын интернет-дүкен немесе веб-қызмет болса, сіз тұтынушылардың кетуін немесе шағымдарын көрмейсіз

Егер сізде SPA үшін бейімделмейтін жұмыс қосымшасы болса және сізге бәрін нөлден бастап қайта жазып, басқа технологияларды пайдалану қажет болса және сіз бұған бірнеше миллион жұмсауға дайын болмасаңыз.

Мысалы: Қораптағы сайт немесе үйде жазылған ежелгі, монолитті кодтың бір түрі бар.

Прогрессивті веб-қосымшалар

Прогрессивті веб-қосымшалар жергілікті қолданба мен веб-сайттың бірлескен эволюциясының өнімі болып табылады. Негізінде, бұл шынайы жергілікті қолданба сияқты көрінетін және әрекет ететін, push хабарландыруларын қабылдай алатын, желіден тыс режимде жұмыс істей алатын және т.б. веб-қосымша. Бұл жағдайда пайдаланушыға қолданбаны AppStore немесе Google Play дүкенінен жүктеп алудың қажеті жоқ, оны жұмыс үстеліне сақтау жеткілікті.

Технология немесе даму тәсілі ретінде PWA 2015 жылдан бері дамып келеді және жақында электронды коммерция саласында үлкен танымалдылыққа ие болды.

Кейбір нақты өмір мысалдары:

  • өткен жылы Best Western River North қонақ үйі PWA қолдайтын жаңа веб-сайтты іске қосқаннан кейін кірісті 300%-ға арттыра алды;
  • Арабша Avito OpenSooq.com өз веб-сайтында PWA қолдауын жасағаннан кейін сайтқа кіру уақытын 25%-ға және жетекшілер санын 260%-ға арттыра алды;
  • атақты танысу қызметі Tinder PWA әзірлеу арқылы жүктеу жылдамдығын 11.91 секундтан 4.69 секундқа дейін төмендете алды, сонымен қатар қосымшаның салмағы өзінің Android аналогынан 90% аз.

Бұл технологияға назар аударған жөн, сонымен қатар электрондық коммерция жобаларын құруға арналған ең үлкен қозғалтқыштардың бірі Magento 2018 жылы PWA Studio бағдарламасының ертерек әзірлеу нұсқасын іске қосты. Платформа PWA қолдауымен электрондық коммерция шешімдері үшін қораптан тыс React негізіндегі фронтенді жасауға мүмкіндік береді.

Интернет-жобасы бар немесе мобильді құрылғыларға қолдау көрсететін жаңа қызмет туралы идеясы бар адамдарға кеңес: толыққанды жергілікті қосымшаны жазуға асықпаңыз, бірақ алдымен PWA технологиясын қараңыз. Бұл сіздің өніміңіз үшін ақшаға тиімді шешім болуы мүмкін.

Практикадан аздап. Қарапайым жергілікті мобильді жаңалықтар қосымшасын жасау үшін, егер сізде дайын REST сервері бар болса, бір платформаға шамамен 200-300 адам-сағат қажет. Бір сағаттық дамудың орташа нарықтық бағасы сағатына 1500-2000 рубльді құрайтын болса, өтінім шамамен 1 миллион рубльді құрауы мүмкін. Егер сіз PWA-ға толық қолдау көрсететін веб-қосымшаны жасасаңыз: push-хабарландырулар, офлайн режимі және басқа да жақсылықтар, онда әзірлеуге 200-300 адам-сағат кетеді, бірақ өнім бірден барлық платформаларда қолжетімді болады. Яғни, қосымшалар дүкендерінде орналастыру үшін ақы төлеудің қажеті болмайтынын айтпағанда, шамамен 2 есе үнемдеу.

Серверсіз

Бұл дамудың тағы бір заманауи тәсілі. Атауының арқасында көптеген адамдар бұл шын мәнінде серверсіз әзірлеме деп ойлайды, бэк-кодты жазудың қажеті жоқ және кез келген фронтальды әзірлеуші ​​толыққанды веб-қосымшаны жасай алады. Бірақ бұл олай емес!

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

Мысалы, американдық ірі медиа-компания Bustle серверсіз режимге ауысқан кезде хостинг шығындарын 60%-дан астам төмендете алды. Ал Coca-Cola компаниясы сусындарды автоматтар арқылы сатудың автоматтандырылған жүйесін жасау кезінде серверсіз режимге көшу арқылы хостинг шығындарын жылына 13000 4500 доллардан XNUMX XNUMX долларға дейін төмендете алды.

Соңғы екі жыл ішінде өзінің жаңалығы мен шектеулеріне байланысты Serverless негізінен шағын жобалар, стартаптар және MVP үшін пайдаланылды, бірақ бүгінде бағдарламалық жасақтаманың эволюциясының, серверді контейнерлеудің әмбебаптығы мен қуатының арқасында құралдар пайда болуда. шектеулерді жоюға, бұлттық қолданбаларды әзірлеуді жеңілдетуге және жылдамдатуға мүмкіндік береді.
Бұл бұлтты модернизациялау бұрын мүмкін емес деп саналатын кәсіпорын бизнесінің сценарийлері (мысалы, шеткі құрылғылар, транзиттегі деректер немесе күйі бар қолданбалар) енді шындыққа айналғанын білдіреді. Көп уәде беретін жақсы құралдар kNative және серверсіз кәсіпорын болып табылады.

Бірақ осының бәріне қарамастан, Serverless веб-қосымшаларды әзірлеуге арналған күміс оқ емес. Кез келген басқа технология сияқты, оның артықшылықтары мен кемшіліктері бар және сіз бұл құралды түсіністікпен таңдауыңыз керек және «микроскоппен шегелерді балғамен соқпауыңыз» керек, себебі ол технологиялық тұрғыдан жетілдірілген.

Оны анықтауға көмектесу үшін, жаңа веб-қызметті жасау немесе ағымдағы веб-қызметті жақсарту кезінде Серверсіз режимді қарастырғыңыз келетін жағдайлардың кейбір мысалдары келтірілген:

  • Сервердегі жүктеме кезеңді болғанда және сіз бос тұрған сыйымдылық үшін төлейсіз. Мысалы, бізде кофемашиналар желісі бар клиент болды және сұрауларды өңдеу және статистиканы күніне бірнеше жүз немесе мың рет жинау қажет болды, ал түнде сұраулар саны бірнеше ондағанға дейін төмендеді. Бұл жағдайда ресурстарды нақты пайдалану үшін ғана төлеу әлдеқайда тиімді, сондықтан біз Serverless бойынша шешімді ұсынып, енгіздік;
  • Егер сіз инфрақұрылымның техникалық мәліметтеріне сүңгуді жоспарламасаңыз және серверлер мен балансизаторды орнату және ұстау үшін артық ақы төлеуді жоспарламасаңыз. Мысалы, нарықты әзірлеу кезінде сіз трафиктің қандай болатынын нақты білмейсіз немесе керісінше - сіз көп трафикті жоспарлап отырсыз және сіздің қолданбаңыз жүктемеге төтеп беретіні сөзсіз, сонда Serverless - тамаша таңдау.
  • Негізгі қолданбада кейбір ағындық оқиғаларды орындау қажет болса, кестелерге жанама деректерді жазыңыз, кейбір есептеулерді орындаңыз. Мысалы, пайдаланушы әрекеттерінің аналитикалық деректерін жинау, оларды белгілі бір әдіспен өңдеу және мәліметтер базасында сақтау;
  • Қолданбаның ағымдағы жұмысын жеңілдету, біріздендіру немесе жылдамдату қажет болса. Мысалы, пайдаланушы бейнені бұлтқа жүктеп салғанда және негізгі сервер қалыпты жұмысын жалғастырған кезде, қайта кодтауды басқарғанда, кескіндермен немесе бейнелермен жұмыс істеу үшін өнімділікті жақсартатын қызметтерді жасаңыз.

Үшінші тарап қызметтерінен оқиғаларды өңдеу қажет болса. Мысалы, төлем жүйелерінің жауаптарын өңдеңіз немесе әлеуетті клиенттердің сұрауларын өңдеуді жылдамдату үшін пайдаланушы деректерін CRM жүйесіне қайта бағыттаңыз.
Егер сізде үлкен қолданба болса және қолданбаның кейбір бөліктері негізгі тілден басқа тіл арқылы оңтайлы түрде жүзеге асырылуы мүмкін. Мысалы, сізде Java-да жоба бар және сізге жаңа функционалдылықты қосу керек, бірақ сізде бос қолдар жоқ немесе берілген тілде енгізу ұзағырақ уақыт алуы мүмкін және басқа тілде шешім әлдеқашан бар болса, Serverless көмектесе алады. мұнымен де.

Бұл назар аударуға тұрарлық құралдар мен технологиялардың толық тізімі емес, мен өз жұмысымызда күнделікті қолданатын нәрселермен бөлістім және олардың бизнеске қалай көмектесетінін нақты білемін.

Ақпарат көзі: www.habr.com

пікір қалдыру