2019 оны вэб хөгжүүлэлтийн технологийн чиг хандлага

Танилцуулга

Дижитал өөрчлөлт нь жил бүр амьдрал, бизнесийн илүү олон салбарыг хамардаг. Хэрэв бизнес өрсөлдөх чадвартай байхыг хүсч байвал энгийн мэдээллийн сайтууд хангалтгүй болсон бол хэрэглэгчдэд мэдээлэл өгөх төдийгүй, бараа, үйлчилгээг хүлээн авах, захиалах, багаж хэрэгслээр хангах тодорхой чиг үүргийг гүйцэтгэх хөдөлгөөнт болон вэб програмууд хэрэгтэй болно.

2019 оны вэб хөгжүүлэлтийн технологийн чиг хандлага

Жишээлбэл, орчин үеийн банкууд мэдээлэл бүхий вэбсайттай байх нь хангалтгүй бөгөөд үйлчлүүлэгчдэдээ зориулсан онлайн хэрэгсэл, хэрэглэгч данс, хөрөнгө оруулалт, зээлээ удирдах боломжтой хувийн данстай байх шаардлагатай. Жижиг бизнес эрхлэгчдэд ч гэсэн хөрвүүлэлтийг нэмэгдүүлэхийн тулд эмч, үсчинд цаг товлох, төрсөн өдрийн үдэшлэгт зориулж ресторанд ширээ, хүүхдийн тоглоомын өрөөнд захиалга өгөх гэх мэт тохиромжтой хэрэгсэл хэрэгтэй.

Мөн эзэд өөрсдөө компанийнхаа төлөв байдлын талаархи мэдээллийг цаг тухайд нь авах шаардлагатай байдаг, жишээлбэл, янз бүрийн үйлдвэрлэлийн хэлтсийн статистик мэдээлэл, аналитик цуглуулах, эсвэл хэлтсийн бүтээмжийн талаар. Ихэнхдээ хэлтэс бүр энэ өгөгдлийг өөр өөрийн арга замаар цуглуулдаг бөгөөд бүр өөр өөр хэрэгслийг ашиглаж болох бөгөөд эзэмшигч нь энэ бүхнийг ойлгохын тулд маш их цаг хугацаа зарцуулах шаардлагатай бөгөөд энэ нь компанийн үр ашиг, эцсийн дүндээ ашигт шууд бусаар нөлөөлдөг. Дижитал өөрчлөлт, вэб эсвэл гар утасны програм хөгжүүлэх нь энд бас туслах болно.

Технологи нь зогсонги байдалд ордоггүй бөгөөд байнга хувьсан өөрчлөгдөж байдаг бөгөөд хэдэн жилийн өмнө хэрэглэгдэж байсан зүйл өнөөдөр ач холбогдолтой байхаа больсон эсвэл хэдэн жилийн өмнө хийх боломжгүй зүйл аль хэдийн бодит байдал болсон. Вэб болон мобайл програмуудыг илүү хурдан, илүү сайн бүтээхэд туслах орчин үеийн хэрэгслүүд байдаг. Хувийн ажиглалт, туршлага дээрээ үндэслэн ойрын ирээдүйд ямар технологи, хэрэгсэл эрэлт хэрэгцээтэй байх, орчин үеийн вэб програм бүтээхдээ яагаад эдгээрт анхаарлаа хандуулах ёстой талаар өөрийн төсөөллөөс хуваалцахыг хүсч байна.

Нэг хуудас програм

Нэр томьёог бага зэрэг тодорхойлъё. Single Page Application (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-г бүрэн дэмждэг вэб программыг хөгжүүлбэл: түлхэх мэдэгдэл, офлайн горим болон бусад сайн зүйлс, хөгжүүлэлт нь 200-300 хүн цаг шаардагдах боловч бүтээгдэхүүн нь бүх платформ дээр нэн даруй гарах болно. Энэ нь ойролцоогоор 2 дахин хэмнэлттэй байх бөгөөд програмын дэлгүүрүүдэд байршуулахад төлбөр төлөх шаардлагагүй болно.

Сервергүй

Энэ бол хөгжлийн өөр нэг орчин үеийн хандлага юм. Нэрнээс нь шалтгаалаад олон хүн үүнийг үнэхээр сервергүй хөгжүүлэлт, арын код бичих шаардлагагүй, ямар ч front-end хөгжүүлэгч бүрэн хэмжээний вэб программ үүсгэж чадна гэж боддог. Гэхдээ энэ нь үнэн биш юм!

Сервергүй програм үүсгэх үед танд сервер болон мэдээллийн сан хэрэгтэй хэвээр байна. Энэ аргын гол ялгаа нь арын кодыг үүлэн функц хэлбэрээр (сервергүй үйлдлийн өөр нэг нэр нь FaaS, үйлчилгээ эсвэл Үйлчилгээний функцээр ажилладаг) хэлбэрээр танилцуулж байгаа бөгөөд програмыг хурдан өргөжүүлэх боломжийг олгодог. амархан. Ийм програмыг бүтээхдээ хөгжүүлэгч нь бизнесийн асуудалд анхаарлаа төвлөрүүлж, дэд бүтцийг өргөжүүлэх, тохируулах талаар бодохгүй байх боломжтой бөгөөд энэ нь програмын боловсруулалтыг хурдасгаж, зардлыг бууруулдаг. Түүгээр ч зогсохгүй Сервергүй арга нь серверийн түрээсийг хэмнэхэд тусална, учир нь энэ нь даалгаврыг гүйцэтгэхэд шаардлагатай хэмжээний нөөцийг ашигладаг бөгөөд хэрэв ачаалал байхгүй бол серверийн цагийг огт ашигладаггүй бөгөөд төлбөр төлөхгүй.

Жишээлбэл, Америкийн томоохон хэвлэл мэдээллийн компани Bustle сервергүй горимд шилжих үед байршуулах зардлыг 60% -иар бууруулж чадсан. Мөн Coca-Cola компани ундаа худалдах автомат системийг боловсруулахдаа сервергүй горимд шилжсэнээр хостингын зардлыг жилд 13000 доллараас 4500 доллар хүртэл бууруулж чадсан.

Сүүлийн хоёр жилийн хугацаанд шинэлэг зүйл, хязгаарлалтын улмаас Serverless-ийг ихэвчлэн жижиг төслүүд, стартапууд болон MVP-д ашигладаг байсан бол өнөөдөр програм хангамжийн хувьсал, серверийн контейнержуулалтын олон талт байдал, хүч чадлын ачаар ийм хэрэгслүүд гарч ирж байна. хязгаарлалтыг арилгах, үүлэн програмуудыг хялбаршуулах, хурдасгах боломжийг танд олгоно.
Энэ нь үүлэн шинэчлэлтийг өмнө нь боломжгүй гэж үздэг байсан (жишээ нь, захын төхөөрөмжүүд, дамжуулж буй өгөгдөл эсвэл төлөвтэй програмууд) одоо бодит байдал болсон гэсэн үг юм. Маш их амлалт өгдөг сайн хэрэгслүүд нь kNative болон Serverless Enterprise юм.

Гэхдээ энэ бүхнээс үл хамааран Serverless бол вэб програм хөгжүүлэх мөнгөн сум биш юм. Бусад технологийн нэгэн адил энэ нь давуу болон сул талуудтай бөгөөд технологийн хувьд илүү дэвшилтэт учраас "микроскопоор хадаас алх биш" энэ хэрэгслийг ойлгох хэрэгтэй.

Үүнийг ойлгоход тань туслахын тулд шинэ вэб үйлчилгээг хөгжүүлэх эсвэл одоо байгаа вэб үйлчилгээг сайжруулахдаа Сервергүй хувилбарыг авч үзэхийг хүсч болох зарим жишээг энд оруулав.

  • Сервер дээрх ачаалал үе үе байх үед та сул зогсолтын хүчин чадлыг төлдөг. Жишээлбэл, бид кофены машины сүлжээтэй үйлчлүүлэгчтэй байсан бөгөөд өдөрт хэдхэн зуу, хэдэн мянган удаа хүсэлтийг боловсруулж, статистик мэдээлэл цуглуулах шаардлагатай байсан бол шөнийн цагаар хүсэлтийн тоо хэдэн арван болж буурсан. Энэ тохиолдолд зөвхөн нөөцийн бодит ашиглалтын төлбөрийг төлөх нь илүү үр дүнтэй байдаг тул бид Serverless дээр шийдлийг санал болгож, хэрэгжүүлсэн;
  • Хэрэв та дэд бүтцийн техникийн нарийн ширийнийг судалж, сервер, тэнцвэржүүлэгчийг тохируулах, засварлахад илүү их мөнгө төлөхөөр төлөвлөөгүй бол. Жишээлбэл, зах зээлийг хөгжүүлэх үед та замын хөдөлгөөн яг ямар байхыг мэдэхгүй, эсвэл эсрэгээр - та маш их ачаалал төлөвлөж байгаа тул таны програм ачааллыг тэсвэрлэх чадвартай тул Serverless нь маш сайн сонголт юм.
  • Хэрэв та үндсэн програм дээр зарим урсгалын үйл явдлуудыг хийх шаардлагатай бол хажуугийн өгөгдлийг хүснэгтэд бичиж, зарим тооцооллыг хийгээрэй. Жишээлбэл, хэрэглэгчийн үйл ажиллагааны аналитик өгөгдлийг цуглуулж, тодорхой аргаар боловсруулж, мэдээллийн санд хадгалах;
  • Хэрэв та програмын одоогийн ажиллагааг хялбарчлах, нэгтгэх эсвэл хурдасгах шаардлагатай бол. Жишээлбэл, хэрэглэгч клоуд руу видео байршуулж, код хувиргах ажлыг тусдаа функцээр гүйцэтгэх үед үндсэн сервер хэвийн ажиллаж байх үед зураг эсвэл видеотой ажиллахад зориулсан гүйцэтгэлийг сайжруулах үйлчилгээг бий болго.

Хэрэв та гуравдагч талын үйлчилгээнээс үйл явдлуудыг боловсруулах шаардлагатай бол. Жишээлбэл, төлбөрийн системийн хариуг боловсруулах эсвэл боломжит үйлчлүүлэгчдээс ирсэн хүсэлтийг боловсруулахын тулд хэрэглэгчийн өгөгдлийг CRM руу дахин чиглүүлэх.
Хэрэв танд том програм байгаа бол програмын зарим хэсгийг үндсэн хэлээсээ өөр хэлээр илүү оновчтой хэрэгжүүлэх боломжтой. Жишээлбэл, танд Java хэл дээр төсөл байгаа бөгөөд танд шинэ функц нэмэх шаардлагатай, гэхдээ танд чөлөөтэй гар байхгүй, эсвэл тухайн хэл дээр хэрэгжүүлэх нь илүү урт хугацаа шаардагдах бөгөөд өөр хэл дээр шийдэл байгаа бол Serverless нь тусалж чадна. үүнтэй бас.

Энэ бол анхаарал хандуулах ёстой хэрэгсэл, технологийн бүх жагсаалт биш, би зүгээр л бид өөрсдийн ажилдаа өдөр бүр ашигладаг зүйлээ хуваалцаж, тэд бизнест хэрхэн тусалж болохыг мэддэг болсон.

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх