{"id":3655,"date":"2022-06-17T09:13:00","date_gmt":"2022-06-17T07:13:00","guid":{"rendered":"https:\/\/megamo.eu\/application-front-end-and-back-end-part-two\/"},"modified":"2024-05-29T14:57:10","modified_gmt":"2024-05-29T12:57:10","slug":"front-end-i-back-end-aplikacji-cz-2","status":"publish","type":"post","link":"https:\/\/megamo.eu\/pl\/front-end-i-back-end-aplikacji-cz-2\/","title":{"rendered":"Front-end i back-end aplikacji (cz. 2)"},"content":{"rendered":"\n<h3><i class=\"icon-clock\"><\/i>&ensp;3 min czytania<\/h3><div class=\"entry-divider is-divider small\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-back-end-czyli-zaplecze-techniczne-aplikacji\">Back-end, czyli zaplecze techniczne aplikacji<\/h3>\n\n\n\n<p>Back-end to cz\u0119\u015b\u0107 aplikacji internetowej osadzona na serwerze dostawcy aplikacji. Z regu\u0142y sk\u0142adaj\u0105 si\u0119 na niego dwie warstwy \u2013 baza lub bazy danych oraz kod w\u0142a\u015bciwiej aplikacji. O ile w przypadku front-endu mo\u017cna m\u00f3wi\u0107 o pewnej standaryzacji wykorzystywanych narz\u0119dzi, w du\u017cym stopniu narzuconej przez dost\u0119pne na rynku przegl\u0105darki internetowe, o tyle na back-endzie swoboda w doborze narz\u0119dzi, takich jak j\u0119zyki programowania lub rodzaje baz danych, jest du\u017co wi\u0119ksza.<\/p>\n\n\n\n<p>Popularne zestawy narz\u0119dzi gromadzone s\u0105 w postaci tzw. framework\u00f3w, czyli \u015brodowisk obejmuj\u0105cych gotowe implementacje wybranych rozwi\u0105za\u0144 wraz z modu\u0142ami rozszerzaj\u0105cymi ich funkcjonalno\u015b\u0107 (bibliotekami), umo\u017cliwiaj\u0105c szybsze rozpocz\u0119cie pracy nad w\u0142a\u015bciw\u0105 aplikacj\u0105.<\/p>\n\n\n\n<p>Niezale\u017cnie od wyboru frameworku lub indywidualnych narz\u0119dzi, back-end jako ca\u0142o\u015b\u0107 musi spe\u0142ni\u0107 pewne zadania w kontek\u015bcie dzia\u0142ania aplikacji. W\u015br\u00f3d tych zada\u0144 mo\u017cna wyr\u00f3\u017cni\u0107:<\/p>\n\n\n\n<ul>\n<li>obs\u0142ug\u0119 zapyta\u0144 otrzymywanych ze strony aplikacji klienta \u2013 w tym weryfikacj\u0119 ich poprawno\u015bci oraz udzielenie odpowiedzi dostosowanej do tre\u015bci zapytania<\/li>\n\n\n\n<li>wymian\u0119 informacji z baz\u0105 danych \u2013 kod aplikacji musi umo\u017cliwia\u0107 zar\u00f3wno pobieranie danych (na przyk\u0142ad: list\u0119 ostatnio ogl\u0105danych film\u00f3w), jak r\u00f3wnie\u017c ich zapis (np. zarejestrowanie nowego u\u017cytkownika) lub edycj\u0119 (np. zmian\u0119 has\u0142a)<\/li>\n\n\n\n<li>wygenerowanie struktury strony internetowej, w oparciu o dost\u0119pne szablony oraz informacje z bazy danych, kt\u00f3ry umo\u017cliwi jej wy\u015bwietlenie przez aplikacj\u0119 klienta<\/li>\n<\/ul>\n\n\n\n<p>Popularnym rozwi\u0105zaniem stosowanym przez wielu tw\u00f3rc\u00f3w aplikacji jest przypisanie dedykowanego modu\u0142u aplikacji do realizacji ka\u017cdego z tych zada\u0144. Na takich za\u0142o\u017ceniach opiera si\u0119 m.in. prawdopodobnie najpowszechniej stosowany w aplikacjach internetowych wzorzec projektowy o nazwie MVC (ang.&nbsp;<em>model-view-controller<\/em>).<\/p>\n\n\n\n<p>W jego przypadku za kontakt z aplikacj\u0105 klienta oraz zarz\u0105dzanie ca\u0142ym procesem przygotowywania odpowiedzi odpowiada kontroler, natomiast za generowanie struktury strony internetowej oraz kontakt z baz\u0105 danych s\u0105 odpowiedzialne podporz\u0105dkowane mu modu\u0142y: widok oraz model.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/megamo.eu\/wp-content\/uploads\/2024\/05\/back-end.webp\"><img loading=\"lazy\" decoding=\"async\" width=\"449\" height=\"365\" src=\"https:\/\/megamo.eu\/wp-content\/uploads\/2024\/05\/back-end.webp\" alt=\"\" class=\"wp-image-3785\"\/><\/a><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-czy-to-koniec\">Czy to koniec?<\/h3>\n\n\n\n<p>Oczywi\u015bcie, \u017ce nie! Wiele zaawansowanych aplikacji w istocie wykorzystuje inne, mniejsze aplikacje podczas swojego dzia\u0142ania, wymieniaj\u0105c z nimi informacje lub wykorzystuj\u0105c zaimplementowane w nich funkcjonalno\u015bci. Aby by\u0142o to mo\u017cliwe, opr\u00f3cz standardowego po\u0142\u0105czenia pomi\u0119dzy klientem a serwerem, tw\u00f3rcy aplikacji przygotowuj\u0105 tak zwane API (ang.&nbsp;<em>application programming interface<\/em>) \u2013 dedykowane interfejsy pozwalaj\u0105ce na obs\u0142ug\u0119 zapyta\u0144 generowanych przez inne aplikacje.<\/p>\n\n\n\n<p>Dzia\u0142aj\u0105 one w zbli\u017cony spos\u00f3b do po\u0142\u0105czenia pomi\u0119dzy back-endem a front-endem \u2013 w celu ich prawid\u0142owego funkcjonowania konieczne jest okre\u015blenie pewnych standard\u00f3w \u2013 protoko\u0142u oraz procedur, kt\u00f3re pozwol\u0105 dw\u00f3m aplikacjom na wzajemne rozumienie wysy\u0142anych sobie pyta\u0144 i odpowiedzi.<\/p>\n\n\n\n<p>Z wykorzystaniem API mo\u017cna doda\u0107 do swojej aplikacji wiele gotowych, istniej\u0105cych na rynku rozwi\u0105za\u0144, wykorzystywanych na przyk\u0142ad do identyfikacji u\u017cytkownika lub realizowania p\u0142atno\u015bci internetowych.<\/p>\n\n\n\n<p>Zbi\u00f3r wszystkich technologicznych rozwi\u0105za\u0144 zastosowanych w danej aplikacji \u2013 narz\u0119dzi oraz framework\u00f3w wykorzystanych w back-endzie oraz front-endzie, a tak\u017ce dodatkowych modu\u0142\u00f3w po\u0142\u0105czonych poprzez API &#8211; nazwa si\u0119 \u201estosem technologicznym\u201d.<\/p>\n\n\n\n<p>Przyk\u0142adowe stosy wykorzystywane przez popularne aplikacje internetowe mo\u017cna znale\u017a\u0107 pod adresem:<br><a href=\"https:\/\/stackshare.io\/\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">https:\/\/stackshare.io\/<\/a><\/p>\n\n\n\n<p>W kontek\u015bcie aplikacji internetowych warto te\u017c wspomnie\u0107 o \u201eciasteczkach\u201d \u2013 niewielkich plikach przechowywanych na urz\u0105dzeniu u\u017cytkownika, kt\u00f3re zawieraj\u0105 informacje przesy\u0142ane do serwera wraz z cz\u0119\u015bci\u0105 zapyta\u0144. Dzi\u0119ki nim mo\u017cliwe jest na przyk\u0142ad pozostanie zalogowanym w aplikacji pomimo zamkni\u0119cia okna przegl\u0105darki \u2013 informacja o aktywnym u\u017cytkowniku jest przechowywana w pliku&nbsp;<em>cookie<\/em>&nbsp;i podczas kolejnej sesji \u0142\u0105czenia si\u0119 z serwerem umo\u017cliwia jego identyfikacj\u0119 i wygenerowanie spersonalizowanej odpowiedzi.<\/p>\n\n\n\n<p>Stosunkowo nowym trendem jest tworzenie aplikacji internetowych z mo\u017cliwo\u015bci\u0105 zainstalowania na urz\u0105dzeniu u\u017cytkownika oraz dzia\u0142ania bez po\u0142\u0105czenia z sieci\u0105 \u2013 wybrane dane niezb\u0119dne do prawid\u0142owego funkcjonowania aplikacji s\u0105 w\u00f3wczas przechowywane w pami\u0119ci podr\u0119cznej (ang.\u00a0<em>cache<\/em>) i synchronizowane z serwerem po przywr\u00f3ceniu po\u0142\u0105czenia z sieci\u0105. Jednym z prekursor\u00f3w takiego rozwi\u0105zania jest Google ze swoj\u0105 propozycj\u0105 aplikacji nowej generacji \u2013 PWA (ang.\u00a0<em>Progressive Web Application<\/em>). Wi\u0119cej na temat tego projektu mo\u017cna przeczyta\u0107 na jego stronie:<br><a href=\"https:\/\/web.dev\/progressive-web-apps\/\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">https:\/\/web.dev\/progressive-web-apps\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Back-end to cz\u0119\u015b\u0107 aplikacji internetowej osadzona na serwerze dostawcy aplikacji. Z regu\u0142y sk\u0142adaj\u0105 si\u0119 na niego dwie warstwy \u2013 baza lub bazy danych oraz kod w\u0142a\u015bciwiej aplikacji.<\/p>\n","protected":false},"author":2,"featured_media":2439,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_lmt_disableupdate":"","_lmt_disable":"","footnotes":""},"categories":[120],"tags":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.8 (Yoast SEO v23.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Front-end i back-end aplikacji (cz. 2)<\/title>\n<meta name=\"description\" content=\"Back-end to cz\u0119\u015b\u0107 aplikacji internetowej osadzona na serwerze dostawcy aplikacji. Zwykle sk\u0142ada si\u0119 z dw\u00f3ch warstw - bazy danych lub baz danych i kodu rzeczywistej aplikacji.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/megamo.eu\/pl\/front-end-i-back-end-aplikacji-cz-2\/\" \/>\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Front-end i back-end aplikacji (cz. 2)\" \/>\n<meta property=\"og:description\" content=\"Back-end to cz\u0119\u015b\u0107 aplikacji internetowej osadzona na serwerze dostawcy aplikacji. Zwykle sk\u0142ada si\u0119 z dw\u00f3ch warstw - bazy danych lub baz danych i kodu rzeczywistej aplikacji.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/megamo.eu\/pl\/front-end-i-back-end-aplikacji-cz-2\/\" \/>\n<meta property=\"og:site_name\" content=\"megamo.eu\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/megamoeu\" \/>\n<meta property=\"article:published_time\" content=\"2022-06-17T07:13:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-05-29T12:57:10+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/megamo.eu\/wp-content\/uploads\/2024\/03\/back-end-front-end-two.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1901\" \/>\n\t<meta property=\"og:image:height\" content=\"878\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"jgolan\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Napisane przez\" \/>\n\t<meta name=\"twitter:data1\" content=\"jgolan\" \/>\n\t<meta name=\"twitter:label2\" content=\"Szacowany czas czytania\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minuty\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/megamo.eu\/pl\/front-end-i-back-end-aplikacji-cz-2\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/megamo.eu\/pl\/front-end-i-back-end-aplikacji-cz-2\/\"},\"author\":{\"name\":\"jgolan\",\"@id\":\"https:\/\/megamo.eu\/pl\/#\/schema\/person\/aab018b6f4fec513266947cc77982d89\"},\"headline\":\"Front-end i back-end aplikacji (cz. 2)\",\"datePublished\":\"2022-06-17T07:13:00+00:00\",\"dateModified\":\"2024-05-29T12:57:10+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/megamo.eu\/pl\/front-end-i-back-end-aplikacji-cz-2\/\"},\"wordCount\":712,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/megamo.eu\/pl\/#organization\"},\"image\":{\"@id\":\"https:\/\/megamo.eu\/pl\/front-end-i-back-end-aplikacji-cz-2\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/megamo.eu\/wp-content\/uploads\/2024\/03\/back-end-front-end-two.webp\",\"articleSection\":[\"Porady eksperta\"],\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/megamo.eu\/pl\/front-end-i-back-end-aplikacji-cz-2\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/megamo.eu\/pl\/front-end-i-back-end-aplikacji-cz-2\/\",\"url\":\"https:\/\/megamo.eu\/pl\/front-end-i-back-end-aplikacji-cz-2\/\",\"name\":\"Front-end i back-end aplikacji (cz. 2)\",\"isPartOf\":{\"@id\":\"https:\/\/megamo.eu\/pl\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/megamo.eu\/pl\/front-end-i-back-end-aplikacji-cz-2\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/megamo.eu\/pl\/front-end-i-back-end-aplikacji-cz-2\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/megamo.eu\/wp-content\/uploads\/2024\/03\/back-end-front-end-two.webp\",\"datePublished\":\"2022-06-17T07:13:00+00:00\",\"dateModified\":\"2024-05-29T12:57:10+00:00\",\"description\":\"Back-end to cz\u0119\u015b\u0107 aplikacji internetowej osadzona na serwerze dostawcy aplikacji. Zwykle sk\u0142ada si\u0119 z dw\u00f3ch warstw - bazy danych lub baz danych i kodu rzeczywistej aplikacji.\",\"breadcrumb\":{\"@id\":\"https:\/\/megamo.eu\/pl\/front-end-i-back-end-aplikacji-cz-2\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/megamo.eu\/pl\/front-end-i-back-end-aplikacji-cz-2\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/megamo.eu\/pl\/front-end-i-back-end-aplikacji-cz-2\/#primaryimage\",\"url\":\"https:\/\/megamo.eu\/wp-content\/uploads\/2024\/03\/back-end-front-end-two.webp\",\"contentUrl\":\"https:\/\/megamo.eu\/wp-content\/uploads\/2024\/03\/back-end-front-end-two.webp\",\"width\":1901,\"height\":878,\"caption\":\"Application front-end and back-end (part 2)\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/megamo.eu\/pl\/front-end-i-back-end-aplikacji-cz-2\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/megamo.eu\/pl\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Front-end i back-end aplikacji (cz. 2)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/megamo.eu\/pl\/#website\",\"url\":\"https:\/\/megamo.eu\/pl\/\",\"name\":\"megamo.eu\",\"description\":\"megamo.eu\",\"publisher\":{\"@id\":\"https:\/\/megamo.eu\/pl\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/megamo.eu\/pl\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pl-PL\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/megamo.eu\/pl\/#organization\",\"name\":\"Megamo\",\"alternateName\":\"mgo\",\"url\":\"https:\/\/megamo.eu\/pl\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/megamo.eu\/pl\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/megamo.eu\/wp-content\/uploads\/2024\/02\/logo_small.png\",\"contentUrl\":\"https:\/\/megamo.eu\/wp-content\/uploads\/2024\/02\/logo_small.png\",\"width\":300,\"height\":113,\"caption\":\"Megamo\"},\"image\":{\"@id\":\"https:\/\/megamo.eu\/pl\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/megamoeu\",\"https:\/\/www.youtube.com\/@Megamo_en\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/megamo.eu\/pl\/#\/schema\/person\/aab018b6f4fec513266947cc77982d89\",\"name\":\"jgolan\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/megamo.eu\/pl\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/e9f828c9021e6b6d1a7be42ac2cf90f7?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/e9f828c9021e6b6d1a7be42ac2cf90f7?s=96&d=mm&r=g\",\"caption\":\"jgolan\"},\"url\":\"https:\/\/megamo.eu\/pl\/author\/jgolan\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Front-end i back-end aplikacji (cz. 2)","description":"Back-end to cz\u0119\u015b\u0107 aplikacji internetowej osadzona na serwerze dostawcy aplikacji. Zwykle sk\u0142ada si\u0119 z dw\u00f3ch warstw - bazy danych lub baz danych i kodu rzeczywistej aplikacji.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/megamo.eu\/pl\/front-end-i-back-end-aplikacji-cz-2\/","og_locale":"pl_PL","og_type":"article","og_title":"Front-end i back-end aplikacji (cz. 2)","og_description":"Back-end to cz\u0119\u015b\u0107 aplikacji internetowej osadzona na serwerze dostawcy aplikacji. Zwykle sk\u0142ada si\u0119 z dw\u00f3ch warstw - bazy danych lub baz danych i kodu rzeczywistej aplikacji.","og_url":"https:\/\/megamo.eu\/pl\/front-end-i-back-end-aplikacji-cz-2\/","og_site_name":"megamo.eu","article_publisher":"https:\/\/www.facebook.com\/megamoeu","article_published_time":"2022-06-17T07:13:00+00:00","article_modified_time":"2024-05-29T12:57:10+00:00","og_image":[{"width":1901,"height":878,"url":"https:\/\/megamo.eu\/wp-content\/uploads\/2024\/03\/back-end-front-end-two.webp","type":"image\/webp"}],"author":"jgolan","twitter_card":"summary_large_image","twitter_misc":{"Napisane przez":"jgolan","Szacowany czas czytania":"4 minuty"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/megamo.eu\/pl\/front-end-i-back-end-aplikacji-cz-2\/#article","isPartOf":{"@id":"https:\/\/megamo.eu\/pl\/front-end-i-back-end-aplikacji-cz-2\/"},"author":{"name":"jgolan","@id":"https:\/\/megamo.eu\/pl\/#\/schema\/person\/aab018b6f4fec513266947cc77982d89"},"headline":"Front-end i back-end aplikacji (cz. 2)","datePublished":"2022-06-17T07:13:00+00:00","dateModified":"2024-05-29T12:57:10+00:00","mainEntityOfPage":{"@id":"https:\/\/megamo.eu\/pl\/front-end-i-back-end-aplikacji-cz-2\/"},"wordCount":712,"commentCount":0,"publisher":{"@id":"https:\/\/megamo.eu\/pl\/#organization"},"image":{"@id":"https:\/\/megamo.eu\/pl\/front-end-i-back-end-aplikacji-cz-2\/#primaryimage"},"thumbnailUrl":"https:\/\/megamo.eu\/wp-content\/uploads\/2024\/03\/back-end-front-end-two.webp","articleSection":["Porady eksperta"],"inLanguage":"pl-PL","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/megamo.eu\/pl\/front-end-i-back-end-aplikacji-cz-2\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/megamo.eu\/pl\/front-end-i-back-end-aplikacji-cz-2\/","url":"https:\/\/megamo.eu\/pl\/front-end-i-back-end-aplikacji-cz-2\/","name":"Front-end i back-end aplikacji (cz. 2)","isPartOf":{"@id":"https:\/\/megamo.eu\/pl\/#website"},"primaryImageOfPage":{"@id":"https:\/\/megamo.eu\/pl\/front-end-i-back-end-aplikacji-cz-2\/#primaryimage"},"image":{"@id":"https:\/\/megamo.eu\/pl\/front-end-i-back-end-aplikacji-cz-2\/#primaryimage"},"thumbnailUrl":"https:\/\/megamo.eu\/wp-content\/uploads\/2024\/03\/back-end-front-end-two.webp","datePublished":"2022-06-17T07:13:00+00:00","dateModified":"2024-05-29T12:57:10+00:00","description":"Back-end to cz\u0119\u015b\u0107 aplikacji internetowej osadzona na serwerze dostawcy aplikacji. Zwykle sk\u0142ada si\u0119 z dw\u00f3ch warstw - bazy danych lub baz danych i kodu rzeczywistej aplikacji.","breadcrumb":{"@id":"https:\/\/megamo.eu\/pl\/front-end-i-back-end-aplikacji-cz-2\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/megamo.eu\/pl\/front-end-i-back-end-aplikacji-cz-2\/"]}]},{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/megamo.eu\/pl\/front-end-i-back-end-aplikacji-cz-2\/#primaryimage","url":"https:\/\/megamo.eu\/wp-content\/uploads\/2024\/03\/back-end-front-end-two.webp","contentUrl":"https:\/\/megamo.eu\/wp-content\/uploads\/2024\/03\/back-end-front-end-two.webp","width":1901,"height":878,"caption":"Application front-end and back-end (part 2)"},{"@type":"BreadcrumbList","@id":"https:\/\/megamo.eu\/pl\/front-end-i-back-end-aplikacji-cz-2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/megamo.eu\/pl\/"},{"@type":"ListItem","position":2,"name":"Front-end i back-end aplikacji (cz. 2)"}]},{"@type":"WebSite","@id":"https:\/\/megamo.eu\/pl\/#website","url":"https:\/\/megamo.eu\/pl\/","name":"megamo.eu","description":"megamo.eu","publisher":{"@id":"https:\/\/megamo.eu\/pl\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/megamo.eu\/pl\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pl-PL"},{"@type":"Organization","@id":"https:\/\/megamo.eu\/pl\/#organization","name":"Megamo","alternateName":"mgo","url":"https:\/\/megamo.eu\/pl\/","logo":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/megamo.eu\/pl\/#\/schema\/logo\/image\/","url":"https:\/\/megamo.eu\/wp-content\/uploads\/2024\/02\/logo_small.png","contentUrl":"https:\/\/megamo.eu\/wp-content\/uploads\/2024\/02\/logo_small.png","width":300,"height":113,"caption":"Megamo"},"image":{"@id":"https:\/\/megamo.eu\/pl\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/megamoeu","https:\/\/www.youtube.com\/@Megamo_en"]},{"@type":"Person","@id":"https:\/\/megamo.eu\/pl\/#\/schema\/person\/aab018b6f4fec513266947cc77982d89","name":"jgolan","image":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/megamo.eu\/pl\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/e9f828c9021e6b6d1a7be42ac2cf90f7?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/e9f828c9021e6b6d1a7be42ac2cf90f7?s=96&d=mm&r=g","caption":"jgolan"},"url":"https:\/\/megamo.eu\/pl\/author\/jgolan\/"}]}},"modified_by":"jgolan","_links":{"self":[{"href":"https:\/\/megamo.eu\/pl\/wp-json\/wp\/v2\/posts\/3655"}],"collection":[{"href":"https:\/\/megamo.eu\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/megamo.eu\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/megamo.eu\/pl\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/megamo.eu\/pl\/wp-json\/wp\/v2\/comments?post=3655"}],"version-history":[{"count":2,"href":"https:\/\/megamo.eu\/pl\/wp-json\/wp\/v2\/posts\/3655\/revisions"}],"predecessor-version":[{"id":3787,"href":"https:\/\/megamo.eu\/pl\/wp-json\/wp\/v2\/posts\/3655\/revisions\/3787"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/megamo.eu\/pl\/wp-json\/wp\/v2\/media\/2439"}],"wp:attachment":[{"href":"https:\/\/megamo.eu\/pl\/wp-json\/wp\/v2\/media?parent=3655"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/megamo.eu\/pl\/wp-json\/wp\/v2\/categories?post=3655"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/megamo.eu\/pl\/wp-json\/wp\/v2\/tags?post=3655"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}