Programmēšana

Jamstack: statiskā vietņu revolūcija, kas veicina tīmekļa attīstību

Jamstack ir arvien populārāka tīmekļa izstrādes filozofija, kuras mērķis ir paātrināt gan tīmekļa izstrādes procesu, gan tīmekļa lapu lejupielādes laiku. Atsaucoties uz devops kustību un nepārtrauktas integrācijas / nepārtrauktas piegādes (CI / CD) paņēmieniem, kas kļūst par normu daudzās organizācijās, Jamstack piedāvā ilglaicīgas metodes interaktīvu tīmekļa lapu veidošanai, ielādes laika koda izpildi novirzot no tīmekļa serveriem uz pārlūka iekšējo JavaScript un ārējiem pakalpojumiem, kuriem piekļūst, izmantojot lietojumprogrammu saskarnes (API).

Kas ir Jamstack? Jamstack, definēts

Jamstack ir tīmekļa lietojumprogrammas modelis, kura pamatā ir trīs pīlāri, un tā nosaukumā ir norādīti iniciāļi: JavaScript, API, un atzīmes. Jamstack vietnes tīmekļa lapas sastāv no standarta iezīmēšanas valodas, tāpēc tās var izveidot un pārbaudīt jebkur, neatkarīgi no lietotņu serveriem vai servera puses tehnoloģijām, piemēram, Node.js. Jebkuru interaktīvo funkcionalitāti nodrošina standarta JavaScript kods, kas tiek izpildīts pārlūkprogrammā, kas zvana uz atkārtoti lietojamām API, izmantojot HTTPS, lai piekļūtu ārējiem datiem vai jebkurai citai funkcionalitātei, kuru nevar iebūvēt pašā tīmekļa lapā.

Lai saprastu, kāpēc Jamstack filozofija ir revolucionāra, ņemiet vērā LAMP steku, kas ir piemērs tam, kā lielākā daļa izstrādātāju ir domājuši par tīmekļa izstrādi pēdējo 15 gadu laikā. LAMP apzīmē Linux (OS, kas nodrošina lielāko daļu tīmekļa serveru), Apache (servera programmatūra, kas darbojas šajās Linux mašīnās), MySQL (datu bāze, kurā tiek glabāta tīmekļa lietojumprogrammai nepieciešamā informācija), un PHP / Perl / Python (valoda, kurā rakstīts servera puses kods). Norādot pārlūkprogrammai uz vietni, kas balstīta uz LAMP, tīmekļa serveris izpilda servera puses kodu, kas ģenerē tīmekļa lapu, pēc vajadzības iegūstot datus no MySQL datu bāzes.

LAMP arhitektūra ļauj izveidot dinamiskas un interaktīvas vietnes, taču tai ir nepieciešams arī jaudīgs tīmekļa serveris - un jo vairāk vietne saņem trafiku, jo lielāka skaitļošanas jauda tai nepieciešama servera pusē. Pat ar pilnībā aprīkotu serveri dinamisko tīmekļa lapu izveidošana un ielāde var aizņemt ilgu laiku. Pasaulē, kurā cilvēki ar nelielu uzmanību pievērš uzmanību tālruņu pārlūkošanai tīmeklī, šī kavēšanās ir kļuvusi arvien nepieņemamāka.

Jamstack dzimis kā daļa no “statiskā tīmekļa” kustības, kas radās 2010. gadu vidū kā reakcija pret šo tradicionālo tīmekļa vietnes darbības modeli. Lai saprastu Jamstack, jums ir jāsaprot mūsdienu tehnoloģijastatiskas vietnes.

Statiskās vietnes, statisko vietņu ģeneratori un Jamstack

Ja jums vajadzētu izskaidrot pilnīgi iesācējam, kā darbojas tīmeklis, tas varētu notikt apmēram šādi: Kaut kur tīmekļa servera failu sistēmā ir HTML faili, kuriem var piekļūt ar HTTP adresēm, kurus tīmekļa pārlūkprogramma lejupielādē un pēc tam interpretē, lai izveidotu tīmekļa lapu . Bet tas ir a. Apraksts statiskā vietne: Tiek pieņemts, ka HTML faili jau pastāv, kad tīmekļa pārlūkprogramma tos meklē. Kā mēs jau redzējām, lielākajā daļā tīmekļa pēdējās desmitgades laikā dominēja dinamiskas vietnes, kas tā vietā ģenerē HTML failus, atbildot uz tīmekļa pieprasījumiem, bieži vien pamatojoties uz parametriem, kas tīmekļa serverim tika nodoti, izmantojot veidlapas vai Pats URL.

Tīmekļa pašos pirmsākumos, kad tīmekļa lapas vienmēr bija statiskas, daudzi tīmekļa izstrādātāji HTML kodu rakstīja ar roku. Tīmekļa lapām kļūstot arvien sarežģītākām, ieradās tādi rīki kā Macromedia’s Dreamweaver, kas šīs statiskās HTML lapas varētu ģenerēt programmatiski. Tā kā statiskā tīmekļa kustība sākās 2010. gadu vidū, radās jauns ts vilnis statisko vietņu ģeneratori sāka parādīties, ieskaitot Getsbiju, Hugo un Jekilu. Atšķirībā no tādiem WYSIWYG rīkiem kā Dreamweaver, statisko vietņu ģeneratori tiek vadīti ar komandrindu un paredzēti integrēšanai ar CI / CD procesiem. HTML failus ģenerē rīki, kas bieži balstās uz Markdown rakstīto saturu un automātiski tiek augšupielādēti versiju vadības krātuvē, piemēram, GitHub. Tā kā šie faili ir atzīmēti kā gatavi ražošanai, tiešsaistes vietnes statiskās lapas tiek automātiski atjauninātas.

Svarīga lieta, kas jāpatur prātā, ir tā statisks šajā kontekstā nenozīmē, ka tās ir vienkāršas tīmekļa 1.0 lapas, kas nav interaktīvas. Atcerieties, ka šajās lapās var būt uzlabots JavaScript, kas tiek izpildīts pārlūkprogrammā un veic API izsaukumus uz datu bāzēm, servera puses funkcijām vai mitinātām bez servera funkcijām. Bet tā kā neviena no šīm izpildēm nenotiek pašā tīmekļa serverī, statiskai vietnei nav nepieciešams rūpnieciski darbināms tīmekļa resursdators ar datu bāzi. Ir izvietotas daudzas statiskas vietnes satura piegādes tīkli, vai CDN, kur saturs tiek atspoguļots vairākos serveros visā pasaulē, lai to ātri piegādātu lietotājiem jebkur.

Mathieu Dionne, Snipcart mārketinga vadītājs, emuāra ziņā raksturo šīs jaunās statisko vietņu pasaules pirmsākumus un piemin, ka ap 2015. gadu “Netlify dibinātāji ... tikko bija izdomājuši vārdu“ Jamstack ”, lai apietos. “statiskā tīmekļa” negatīvā konotācija. Citiem vārdiem sakot, mēs šajā sadaļā aprakstījām Jamstack procesu. Bet tagad mums īsi jāapspriež Netlify un to loma ekosistēmā.

Kas ir Netlify?

Netlify ir mākoņdatošanas un tīmekļa mitināšanas uzņēmums. Netlify līdzdibinātājs Matiass Biilmans izdomāja Jamstack terminu, un Netlify pakalpojumi ir pielāgoti klientiem, kuri vēlas veidot vietnes, balstoties uz Jamstack filozofiju.

Netlify apgalvo, ka ir novērsis īpašu problēmu, kas kavēja statiskās vietnes, kas ir kešatmiņas nederīgums. Datu bāzes vadītās dinamiskās vietnes var apēst daudz servera resursu, taču varat būt drošs, ka tās visiem jūsu apmeklētajiem apmeklētājiem piegādās jūsu vietnes jaunāko versiju. Tā kā Jamstack vietnes bieži tiek mitinātas vairākos CDN izplatītajos serveros, atjauninājumi nav tik vienkārši. Katram CDN serverim var būt nepieciešams laiks, sākot no dažām minūtēm līdz stundām, lai saprastu, ka tā kešatmiņā saglabātā vietnes versija vairs nav derīga. Netfliy CDN nodrošina tūlītēju kešatmiņas nederēšanu HTML failiem, lai novērstu šo problēmu.

Bet Netlify nav vienīgais mitināšanas nodrošinātājs Jamstack telpā, un tam nav nekādas preču zīmes vai īpašumtiesību kontroles pār šo termiņu. Ir pieejami vairāki Jamstack mitināšanas un izvietošanas risinājumi, un lielākā daļa lielāko mākoņpakalpojumu sniedzēju iesaistās darbībā, tostarp AWS, Google Firebase un Microsoft Azure.

Jamstack CMS

Ja jums ir kāds, kam ikdienā ir jārisina vietne, jūs zināt, ka vietnes izveide un mitināšana ir tikai sākums. Jums ir nepieciešams arī veids, kā izveidot jaunu saturu un pievienot to savai vietnei. Tā kā cilvēki, kas to darīs, parasti nebūs programmētāji, viņiem būs nepieciešams lietotājam draudzīgs rīks, proti, satura vadības sistēma, vai CMS. Tradicionālās CMS, piemēram, WordPress, piedāvā aizmugurējo lietotāja saskarni, kurā varat ievadīt vietnes saturu, pārvaldīt datu bāzi, kur šis saturs tiek glabāts, un veidot dinamiskas tīmekļa lapas, kurās šis saturs tiek parādīts, atbildot uz pārlūkprogrammas pieprasījumiem.

Jamstack vietņu CMS darbojas atšķirīgi, un tos parasti sauc par bez galvas. CMS bez galvas piedāvā lietotāja interfeisu satura ievadīšanai un pārvaldīšanai, kā arī datu bāzi vai citus tā glabāšanas līdzekļus, taču pati neražo HTML kodu pārlūkprogrammas parsēšanai. Tā vietā vietnes statiskās HTML lapas izmanto JavaScript, lai zvanītu uz CMS API, un CMS atgriež saturu tādā formātā, kuru JavaScript var pārvērst par tīmekļa lapu.

Šī sistēma rūpīgi atdala saturu no prezentācijas, kas, protams, ir ilgstošs programmēšanas ideāls. Tā kā CMS ir pieejama API, tai var viegli piekļūt vairākas tīmekļa lapas. Piemēram, ja esat izveidojis atsevišķas savas vietnes mobilās, darbvirsmas un viedpulksteņa versijas, visas šīs versijas var piekļūt tam pašam saturam, kas saglabāts CMS.

Netlify, kā jūs varētu sagaidīt, šajā telpā ir savs piedāvājums ar nosaukumu NetlifyCMS, taču ir pieejami arī vairāki citi piedāvājumi; izstrādātājs Nebojsa Radakovičs tos emuāra ziņā izjauc jums. Šajā sarakstā ir daudz iesācēju, kā arī viens ļoti pazīstams vārds. Lai gan mēs izmantojām WordPress kā tradicionālās CMS piemēru, WordPress var palaist kā CMS bez galvas, lai darbinātu arī Jamstack vietni.

Jamstack konference

Netlify strādā arī, lai izveidotu Jamstack kopienu un sponsorētu Jamstack konferences. Uzņēmums 2019. gadā rīkoja pasākumus Ņujorkā, Londonā un Sanfrancisko, un 2020. gada maijā rīkoja virtuālu pasākumu. No šī raksta jūs varat reģistrēties Sanfrancisko pasākumam, kas paredzēts 2020. gada 6. – 7. Oktobrī. koronavīrusa pandēmijai joprojām gaisā ir rudens konferences plāni.

Ja vēlaties saņemt atjauninājumus, varat sekot konferencei vietnē Twitter. Varat arī apskatīt iepriekšējās sarunas YouTube kanālā Jamstack Conf.

[Arī vietnē: 6 labākie JavaScript IDE | 10 labākie JavaScript redaktori]

Jamstack apmācības

Vai vēlaties iedziļināties? Apskatiet šīs Jamstack apmācības, kas sniegs praktisku pieredzi Jamstack vietnes izveidē:

  • Izstrādātājam Deividam Nīlam ir laba ievada apmācība par Jamstack vietnes izveidi, sākot ļoti vienkārši un pēc tam kļūstot arvien sarežģītākai.
  • LogRocket emuārā programmatūras inženieris Ogundipe Samuel sniedz padziļinātu, pakāpenisku ieskatu e-komercijas vietnes izveidē pēc Jamstack principiem.
  • Netlify piedāvā trīs stundu ilgu video apmācību, kas aptver daudz pamatu, sākot no pamatiem līdz sarežģītākām tēmām.

Kad esat apguvis šeit izklāstītos pamatjēdzienus, būsiet gatavs sākt strādāt ar Jamstack attīstību savā profesionālajā dzīvē. Laimīgu mācīšanos!

$config[zx-auto] not found$config[zx-overlay] not found