{"id":3361,"date":"2021-11-08T13:34:52","date_gmt":"2021-11-08T12:34:52","guid":{"rendered":"https:\/\/visionslabs.io\/aky-frontend-framework-zvolit\/"},"modified":"2021-11-08T13:34:56","modified_gmt":"2021-11-08T12:34:56","slug":"aky-frontend-framework-zvolit","status":"publish","type":"post","link":"https:\/\/visionslabs.io\/sk\/aky-frontend-framework-zvolit\/","title":{"rendered":"Ak\u00fd frontend framework zvoli\u0165?"},"content":{"rendered":"\n<p>V dne\u0161nom \u010dl\u00e1nku sa pozrieme na <strong> frontendov\u00e9 frameworky<\/strong>, ktor\u00e9 s\u00fa dnes najbe\u017enej\u0161ie v&nbsp;r\u00e1mci v\u00fdvoja <strong>webov\u00fdch aplik\u00e1ci\u00ed.<\/strong> Nadv\u00e4zujeme tak na n\u00e1\u0161 minul\u00fd \u010dl\u00e1nok, ktor\u00fd sa zaoberal <a href=\"https:\/\/visionslabs.io\/sk\/nestjs-backend-framework-pre-webove-aplikacie\/\">NestJS \u2013 backend framework pre webov\u00e9 aplik\u00e1cie<\/a>.<\/p>\n\n<h2 class=\"wp-block-heading\">CSS framework vs JS framework<\/h2>\n\n<p>Najprv si mus\u00edme ur\u010di\u0165, o ak\u00fdch frameworcoch budeme hovori\u0165, preto\u017ee sa t\u00e1to t\u00e9ma da\u0165 poja\u0165 z&nbsp;viacer\u00fdch uhlov. Prv\u00fd uhol je, \u010di ide o <strong>CSS framework<\/strong> alebo <strong>JS framework. <\/strong>Ak\u00fd je medzi nimi rozdiel? Z\u00e1sadn\u00fd je ten, \u017ee <em>CSS framework<\/em> &#8211; ako n\u00e1zov napoved\u00e1 &#8211; je hlavne o <strong>\u0161t\u00fdloch, grafike<\/strong> a podobne. Naopak <em>JS framework<\/em> je kompletn\u00e1 sada ako <strong>grafick\u00fdch, tak funk\u010dn\u00fdch, \u0161truktur\u00e1lnych mo\u017enost\u00ed<\/strong>. Tzn., \u017ee pomocou <em>JS frameworku<\/em> m\u00f4\u017eeme tvori\u0165 <strong>SPA<\/strong> (<em>single page application<\/em>) &#8211; \u010do s\u00fa plne funguj\u00face aplik\u00e1cie, ktor\u00e9 maj\u00fa svoju logiku. A pomocou CSS framework v\u00e4\u010d\u0161inou pou\u017e\u00edvame ako kni\u017enicu do na\u0161ej webovej aplik\u00e1cie, ktor\u00e1 obsahuje r\u00f4zne defin\u00edcie \u0161t\u00fdlov, fontov pr\u00edpadne nejak\u00fdch komponentov.<\/p>\n\n<p>Typick\u00fdm z\u00e1stupcom <strong>CSS frameworku<\/strong> je <a href=\"https:\/\/getbootstrap.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">Bootstrap<\/a>, ktor\u00fd bol vo svojej dobe ve\u013emi popul\u00e1rny, predov\u0161etk\u00fdm ke\u010f i\u0161lo o <strong>MVC frameworky<\/strong> (<em>Model &#8211; View &#8211; Controller<\/em>), kedy webov\u00e1 aplik\u00e1cia bola ako jednotn\u00fd celok a to ako backend tak frontend. Typick\u00fdm z\u00e1stupcom tak\u00e9hoto <strong>MVC frameworku<\/strong> boli (s\u00fa) <a href=\"https:\/\/dotnet.microsoft.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">.NET<\/a> , <a href=\"https:\/\/laravel.com\/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>Laravel<\/strong><\/a>, <a href=\"https:\/\/symfony.com\/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>Symfony<\/strong><\/a>, <a href=\"https:\/\/framework.zend.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">Zend<\/a> alebo slovensk\u00e9 <a href=\"https:\/\/nette.org\/cs\/\" target=\"_blank\" rel=\"noreferrer noopener\">Nette<\/a>. \u010eal\u0161\u00edmi z\u00e1stupcami CSS frameworkov s\u00fa dnes ve\u013emi popul\u00e1rne <a href=\"https:\/\/tailwindcss.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">Tailwind CSS<\/a> alebo &#8222;material design&#8220; <strong><a href=\"https:\/\/materializecss.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">Materialize<\/a><\/strong>.<\/p>\n\n<h2 class=\"wp-block-heading\">TOP JS frameworky<\/h2>\n\n<p>Tak\u017ee sme si u\u017e vysvetlili, ktor\u00e9 <strong>frontend frameworky<\/strong> n\u00e1s zauj\u00edmaj\u00fa pri tvorbe <strong>webov\u00fdch aplik\u00e1ci\u00ed <\/strong> a to konkr\u00e9tne JS (<em>JavaScript<\/em>) frameworky. Je to pr\u00e1ve modern\u00fd pr\u00edstup k&nbsp;v\u00fdvoju webov\u00fdch aplik\u00e1ci\u00ed, kedy vzl\u00e1\u0161\u0165 vyv\u00edjame <strong>backendov\u00fa aplik\u00e1ciu<\/strong> (<em>server<\/em>) a <strong>frontendov\u00fa aplik\u00e1ciu<\/strong> (<em>client<\/em>), ktor\u00e9 spolu komunikuj\u00fa pomocou <strong>API<\/strong> a to ako vo forme <strong>REST API <\/strong>(<em>REpresentational State Transfer<\/em>) alebo <strong>GraphQL API<\/strong>.<\/p>\n\n<p>Teraz sa u\u017e m\u00f4\u017eeme pozrie\u0165 na zoznam najpou\u017e\u00edvanej\u0161\u00edch JS frameworkov.<\/p>\n\n<figure class=\"wp-block-table aligncenter is-style-stripes\"><table><thead><tr><th>N\u00e1zov JS frameworku<\/th><th>Logo<\/th><th>URL<\/th><\/tr><\/thead><tbody><tr><td><strong>React<\/strong><\/td><td><img decoding=\"async\" width=\"150\" height=\"50\" class=\"wp-image-3280\" style=\"width: 150px;\" src=\"https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/10\/js-framework_React-logo-.png\" alt=\"React\" srcset=\"https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/10\/js-framework_React-logo-.png 700w, https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/10\/js-framework_React-logo--300x101.png 300w, https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/10\/js-framework_React-logo--600x201.png 600w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><\/td><td><a href=\"https:\/\/reactjs.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/reactjs.org\/<\/a><\/td><\/tr><tr><td><strong>Angular<\/strong><\/td><td><img decoding=\"async\" width=\"150\" height=\"41\" class=\"wp-image-3277\" style=\"width: 150px;\" src=\"https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/10\/js-framework_Angular-logo.png\" alt=\"angular js\" srcset=\"https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/10\/js-framework_Angular-logo.png 1280w, https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/10\/js-framework_Angular-logo-300x82.png 300w, https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/10\/js-framework_Angular-logo-1024x278.png 1024w, https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/10\/js-framework_Angular-logo-600x163.png 600w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><\/td><td><a href=\"https:\/\/angular.io\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/angular.io\/<\/a><\/td><\/tr><tr><td><strong>Vue.JS<\/strong><\/td><td><img decoding=\"async\" width=\"150\" height=\"90\" class=\"wp-image-3274\" style=\"width: 150px;\" src=\"https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/10\/js-framework_Vuejs-logo.png\" alt=\"vuejs\" srcset=\"https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/10\/js-framework_Vuejs-logo.png 500w, https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/10\/js-framework_Vuejs-logo-300x180.png 300w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><\/td><td><a href=\"https:\/\/vuejs.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/vuejs.org\/<\/a><\/td><\/tr><tr><td><strong>Svelte<\/strong><\/td><td><img decoding=\"async\" width=\"150\" height=\"64\" class=\"wp-image-3271\" style=\"width: 150px;\" src=\"https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/10\/js-framework_Svelte-logo.png\" alt=\"svelte\" srcset=\"https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/10\/js-framework_Svelte-logo.png 700w, https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/10\/js-framework_Svelte-logo-300x129.png 300w, https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/10\/js-framework_Svelte-logo-600x257.png 600w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><\/td><td><a href=\"https:\/\/svelte.dev\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/svelte.dev\/<\/a><\/td><\/tr><tr><td><strong>Backbone<\/strong><\/td><td><img decoding=\"async\" src=\"https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/10\/js-framework_BackboneJs-logo.png\" alt=\"backbone js\" style=\"width: 150px;\"\/><\/td><td><a href=\"https:\/\/backbonejs.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/backbonejs.org\/<\/a><\/td><\/tr><tr><td><strong>Ember<\/strong><\/td><td><img decoding=\"async\" width=\"150\" height=\"144\" class=\"wp-image-3268\" style=\"width: 150px;\" src=\"https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/10\/js-framework_Ember-logo.svg\" alt=\"ember js\"\/><\/td><td><a href=\"https:\/\/emberjs.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/emberjs.com\/<\/a><\/td><\/tr><\/tbody><\/table><\/figure>\n\n<p>Framework, ktor\u00fd sme do tabu\u013eky nezahrnuli, ale zasl\u00fa\u017ei si zmienku, je <a href=\"https:\/\/jquery.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">jQuery<\/a>. Tento framework sa d\u00e1 pova\u017eova\u0165 za ak\u00e9hosi praotca dne\u0161n\u00fdch frameworkov, preto\u017ee sa jedn\u00e1 o prv\u00fd viac roz\u0161\u00edren\u00fd typ. Ale na dne\u0161n\u00e9 po\u017eiadavky u\u017e pr\u00edli\u0161 nie je v&nbsp;hodn\u00fd a zost\u00e1va v&nbsp;podstate hlavne ako doplnok pre webov\u00e9 str\u00e1nky vo WordPresse.<\/p>\n\n<p>Ke\u010f sa pozrieme na z\u00e1ujem o jednotliv\u00e9 <strong>JS frameworky pre webov\u00e9 aplik\u00e1cie<\/strong> optikou ot\u00e1zok vo vyh\u013ead\u00e1van\u00ed na Google pomocou n\u00e1stroja <a href=\"https:\/\/trends.google.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">Google Trends<\/a>, tak dostaneme tento obr\u00e1zok.<\/p>\n\n<script type=\"text\/javascript\" src=\"https:\/\/ssl.gstatic.com\/trends_nrtr\/2674_RC03\/embed_loader.js\"><\/script> <script type=\"text\/javascript\"> trends.embed.renderExploreWidget(\"TIMESERIES\", {\"comparisonItem\":[{\"keyword\":\"\/g\/11c6w0ddw9\",\"geo\":\"\",\"time\":\"today 5-y\"},{\"keyword\":\"\/m\/012l1vxv\",\"geo\":\"\",\"time\":\"today 5-y\"},{\"keyword\":\"\/g\/11c0vmgx5d\",\"geo\":\"\",\"time\":\"today 5-y\"},{\"keyword\":\"\/g\/11c5t00h04\",\"geo\":\"\",\"time\":\"today 5-y\"},{\"keyword\":\"\/m\/0s8wr70\",\"geo\":\"\",\"time\":\"today 5-y\"}],\"category\":0,\"property\":\"\"}, {\"exploreQuery\":\"date=today%205-y&q=%2Fg%2F11c6w0ddw9,%2Fm%2F012l1vxv,%2Fg%2F11c0vmgx5d,%2Fg%2F11c5t00h04,%2Fm%2F0s8wr70\",\"guestPath\":\"https:\/\/trends.google.com:443\/trends\/embed\/\"}); <\/script>\r\n\n<p>E\u0161te sa m\u00f4\u017eeme pozrie\u0165 inou optikou, a to cez \u0161tatistiky na <strong>GitHube<\/strong>, kedy sa \u010dasto sleduje, ko\u013eko ak\u00fd projekt (framework) m\u00e1 hviezdi\u010diek, commitov, forkov a at\u010f. Na zjednodu\u0161enie sme pou\u017eili n\u00e1stroj <a href=\"https:\/\/vesoft-inc.github.io\/github-statistics\/\"><strong>GitHub Stats<\/strong><\/a> &#8211; <a href=\"https:\/\/vesoft-inc.github.io\/ github-statistics\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/vesoft-inc.github.io\/github-statistics\/<\/a> a na v\u00fdsledok sa m\u00f4\u017eete pozrie\u0165 ni\u017e\u0161ie.<\/p>\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-us_600_400\"><a ref=\"magnificPopup\" href=\"https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/10\/js_framework-stats-1.png\"><img decoding=\"async\" width=\"600\" height=\"281\" src=\"https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/10\/js_framework-stats-1-600x281.png\" alt=\"js framework - stats\" class=\"wp-image-3283\" srcset=\"https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/10\/js_framework-stats-1-600x281.png 600w, https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/10\/js_framework-stats-1-300x140.png 300w, https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/10\/js_framework-stats-1-1024x479.png 1024w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><\/a><figcaption>Z\u00e1kladn\u00e9 \u0161tatistiky &#8211; JS frameworky<\/figcaption><\/figure><\/div>\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-us_600_400\"><a ref=\"magnificPopup\" href=\"https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/10\/js_framework-stats-2.png\"><img decoding=\"async\" width=\"600\" height=\"166\" src=\"https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/10\/js_framework-stats-2-600x166.png\" alt=\"js framework - react - angular - vuejs\" class=\"wp-image-3293\" srcset=\"https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/10\/js_framework-stats-2-600x166.png 600w, https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/10\/js_framework-stats-2-300x83.png 300w, https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/10\/js_framework-stats-2-1024x283.png 1024w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><\/a><figcaption>Zobrazenie v\u00fdvoja po\u010dtu hviezdi\u010diek pre jednotliv\u00e9 frameworky<\/figcaption><\/figure><\/div>\n\n<h2 class=\"wp-block-heading\">React<\/h2>\n\n<p><strong>Framework React<\/strong> bol vytvoren\u00fd spolo\u010dnos\u0165ou <strong>Facebook<\/strong> u\u017e v&nbsp;roku 2013. Najprv ho vyu\u017eili pre seba a potom bol uvo\u013enen\u00fd na vo\u013en\u00e9 vyu\u017eitie. Te\u0161\u00ed sa ve\u013ekej ob\u013eube a tie\u017e m\u00e1 ve\u013ek\u00fa komunitu nad\u0161encov. Dokonca vznikol projekt <strong><a href=\"https:\/\/reactnative.dev\/\">React Native<\/a><\/strong> &#8211; \u010do je mo\u017enos\u0165 vytv\u00e1ra\u0165 crossplatformov\u00e9 aplik\u00e1cie na iOS a Android pr\u00e1ve v\u010faka React. Inak sa jedn\u00e1 o deklarit\u00edvny framework postaven\u00fd na tvorbe komponentov. Pokia\u013e v\u00e1s React zaujal, tak v\u00e1s odk\u00e1\u017eeme na jeho str\u00e1nky <a href=\"https:\/\/reactjs.org\/docs\/getting-started.html\" target=\"_blank\" rel=\"noreferrer noopener\">Getting started<\/a> .<\/p>\n\n<h2 class=\"wp-block-heading\">Vue.js<\/h2>\n\n<p><strong>Framework Vue.js<\/strong> je hlavne o jednoduchosti, tzn. \u017ee m\u00e1 jednoduch\u00fa syntax, t\u00fdm p\u00e1dom aj kr\u00e1tku u\u010diacu krivku. Medzi jeho ve\u013ek\u00e9 v\u00fdhody patr\u00ed ve\u013ekos\u0165 \u2013 kedy v\u00fdsledn\u00fd bal\u00ed\u010dek hotovej aplik\u00e1cie m\u00e1 len nieko\u013eko desiatok KB. Rovnako ako v&nbsp;pr\u00edpade React ide o JavaScript, nie ako u Angularu o TypeScript &#8211; pre niekoho v\u00fdhoda pre niekoho nev\u00fdhoda. A proti Reactu rozhodne nem\u00e1 tak siln\u00fa komunitu &#8211; \u010do je niekedy vn\u00edman\u00e9 ako ve\u013ek\u00e1 nev\u00fdhoda.<\/p>\n\n<h2 class=\"wp-block-heading\">Angular<\/h2>\n\n<p><strong>Framework Angular<\/strong> &#8211; ako u\u017e bolo z&nbsp;predch\u00e1dzaj\u00facich \u010dl\u00e1nkov jasn\u00e9, sl\u00fa\u017ei aktu\u00e1lne ako n\u00e1\u0161 hlavn\u00fd JS framework pri tvorbe webov\u00fdch aplik\u00e1ci\u00ed, za\u010dali sme s&nbsp;n\u00edm u\u017e vo verzii <em>Angular JS 1<\/em> &#8211; kde n\u00e1s teda potom \u010dakalo &#8222;prekv\u00e1pko&#8220; v&nbsp;podobe <strong>verzie 2<\/strong>, ktor\u00e1 obsahovalo to\u013eko breaking changes, \u017ee nebolo mo\u017en\u00e9 prejs\u0165 na vy\u0161\u0161iu verziu a museli sme cel\u00e9 aplik\u00e1cie prepracova\u0165, ale dnes u\u017e m\u00e1me <strong>verziu 12<\/strong> a zatia\u013e \u017eiadnu tak\u00fa zmenu <strong>Angular<\/strong> nezaznamenal. Ako jedin\u00fd z&nbsp;uveden\u00fdch frameworkov je postaven\u00fd na <strong><a href=\"https:\/\/www.typescriptlang.org\/\">TypeScript<\/a><\/strong>, \u010do je typovan\u00fd JavaScript. Tak\u017ee je tu vidie\u0165 kr\u00e1snu symbi\u00f3zu s&nbsp;backend frameworkom <strong>Nest JS<\/strong> o ktorom sme sa rozp\u00edsali. u\u017e sk\u00f4r. Tu je trochu paradox, \u017ee <strong>Angular<\/strong> je vyv\u00edjan\u00fd spolo\u010dnos\u0165ou <strong>Google<\/strong>, ale v\u00fdvoj <strong>TypeScript<\/strong> m\u00e1 &#8222;pod palcom&#8220; spolo\u010dnos\u0165 <strong>Microsoft<\/strong> .<\/p>\n\n<p>Inak ak sme sa pri Reacte zmienili o React Native, tak pri Angulare by asi st\u00e1lo za zmienku o <a href=\"https:\/\/nativescript.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">NativeScript<\/a> &#8211; \u010do je tie\u017e crossplatform framework pre v\u00fdvoj mobiln\u00fdch aplik\u00e1ci\u00ed a pr\u00e1ve jedna z&nbsp;mo\u017enost\u00ed je v\u00fdvoj vo variante Angularu.<\/p>\n\n<h2 class=\"wp-block-heading\">Na z\u00e1ver<\/h2>\n\n<p>Je \u0165a\u017ek\u00e9 odporu\u010di\u0165 jeden konkr\u00e9tny framework, preto\u017ee sa ned\u00e1 jednoducho poveda\u0165, \u017ee by nejak\u00fd framework bol zl\u00fd. V\u00e4\u010d\u0161inou sa jedn\u00e1 o osobn\u00e9 preferencie, historick\u00e9 znalosti, na ktor\u00e9 sa nadv\u00e4zuje. Pokia\u013e by sme to brali z&nbsp;poh\u013eadu atrakt\u00edvnosti na trhu pr\u00e1ce o ak\u00fd framework je najv\u00e4\u010d\u0161\u00ed z\u00e1ujem &#8211; tak ke\u010f sa pozrieme, napr. na port\u00e1l <a href=\"https:\/\/www.startupjobs.cz\" target=\"_blank\" rel=\"noreferrer noopener\">startupjobs (CZ)<\/a>, tak n\u00e1jdeme cca <strong>50 pracovn\u00fdch miest na React<\/strong>, cca <strong>20 pracovn\u00fdch miest na Angular<\/strong> a cca <strong>10 pracovn\u00fdch poz\u00edci\u00ed na Vue.js <\/strong>. Tak\u017ee si obr\u00e1zok m\u00f4\u017eete urobi\u0165 sami. My sme sa historicky rozhodli pre Angular a v&nbsp;tom st\u00e1le vytv\u00e1rame webov\u00e9 aplik\u00e1cie.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>V dne\u0161nom \u010dl\u00e1nku sa pozrieme na frontendov\u00e9 frameworky, ktor\u00e9 s\u00fa dnes najbe\u017enej\u0161ie v&nbsp;r\u00e1mci v\u00fdvoja webov\u00fdch aplik\u00e1ci\u00ed. Nadv\u00e4zujeme tak na n\u00e1\u0161 minul\u00fd \u010dl\u00e1nok, ktor\u00fd sa zaoberal NestJS \u2013 backend framework pre webov\u00e9 aplik\u00e1cie. CSS framework vs JS framework Najprv si mus\u00edme ur\u010di\u0165, o ak\u00fdch frameworcoch budeme hovori\u0165, preto\u017ee sa t\u00e1to t\u00e9ma da\u0165 poja\u0165 z&nbsp;viacer\u00fdch uhlov. Prv\u00fd&#8230;<\/p>\n","protected":false},"author":1,"featured_media":3291,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[259,193],"tags":[260,352,348,353,347,346,354,345,349,344,263,351,267,350,220],"class_list":["post-3361","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-webove-aplikacie","category-zaujimavosti","tag-angular-sk","tag-backbone-sk","tag-css-framework-sk","tag-ember-sk","tag-framework-sk","tag-frontend-sk","tag-javascript-sk","tag-jquery-sk","tag-js-framework-sk","tag-react-sk","tag-rest-api-sk","tag-svelte-sk","tag-typescript-sk","tag-vue-js-sk","tag-webove-aplikacie"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Ak\u00fd frontend framework zvoli\u0165? - visionslabs<\/title>\n<meta name=\"description\" content=\"V tomto \u010dl\u00e1nku sa pozrieme na to, ak\u00fd frontend framework zvoli\u0165 pre v\u00fdvoj webov\u00fdch aplik\u00e1ci\u00ed \u2013 na v\u00fdber je hne\u010f nieko\u013eko mo\u017enost\u00ed.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/visionslabs.io\/sk\/aky-frontend-framework-zvolit\/\" \/>\n<meta property=\"og:locale\" content=\"sk_SK\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ak\u00fd frontend framework zvoli\u0165? - visionslabs\" \/>\n<meta property=\"og:description\" content=\"V tomto \u010dl\u00e1nku sa pozrieme na to, ak\u00fd frontend framework zvoli\u0165 pre v\u00fdvoj webov\u00fdch aplik\u00e1ci\u00ed \u2013 na v\u00fdber je hne\u010f nieko\u013eko mo\u017enost\u00ed.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/visionslabs.io\/sk\/aky-frontend-framework-zvolit\/\" \/>\n<meta property=\"og:site_name\" content=\"visionslabs\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/facebook.com\/visionslabs\/\" \/>\n<meta property=\"article:published_time\" content=\"2021-11-08T12:34:52+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-11-08T12:34:56+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/10\/visionslabs-Jaky-frontend-framework-zvolit-react-angular-vuejs.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Leopold Podmol\u00edk\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@visionslabs\" \/>\n<meta name=\"twitter:site\" content=\"@visionslabs\" \/>\n<meta name=\"twitter:label1\" content=\"Autor\" \/>\n\t<meta name=\"twitter:data1\" content=\"Leopold Podmol\u00edk\" \/>\n\t<meta name=\"twitter:label2\" content=\"Predpokladan\u00fd \u010das \u010d\u00edtania\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 min\u00fat\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/visionslabs.io\/sk\/aky-frontend-framework-zvolit\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/visionslabs.io\/sk\/aky-frontend-framework-zvolit\/\"},\"author\":{\"name\":\"Leopold Podmol\u00edk\",\"@id\":\"https:\/\/visionslabs.io\/sk\/#\/schema\/person\/8002ebaef6052f50e66a94371d7764c9\"},\"headline\":\"Ak\u00fd frontend framework zvoli\u0165?\",\"datePublished\":\"2021-11-08T12:34:52+00:00\",\"dateModified\":\"2021-11-08T12:34:56+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/visionslabs.io\/sk\/aky-frontend-framework-zvolit\/\"},\"wordCount\":1051,\"publisher\":{\"@id\":\"https:\/\/visionslabs.io\/sk\/#organization\"},\"image\":{\"@id\":\"https:\/\/visionslabs.io\/sk\/aky-frontend-framework-zvolit\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/10\/visionslabs-Jaky-frontend-framework-zvolit-react-angular-vuejs.jpg\",\"keywords\":[\"Angular\",\"Backbone\",\"CSS framework\",\"Ember\",\"Framework\",\"Frontend\",\"JavaScript\",\"jQuery\",\"JS framework\",\"React\",\"REST API\",\"Svelte\",\"TypeScript\",\"Vue.js\",\"Webov\u00e9 aplik\u00e1cie\"],\"articleSection\":[\"Webov\u00e9 aplik\u00e1cie\",\"Zauj\u00edmavosti\"],\"inLanguage\":\"sk-SK\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/visionslabs.io\/sk\/aky-frontend-framework-zvolit\/\",\"url\":\"https:\/\/visionslabs.io\/sk\/aky-frontend-framework-zvolit\/\",\"name\":\"Ak\u00fd frontend framework zvoli\u0165? - visionslabs\",\"isPartOf\":{\"@id\":\"https:\/\/visionslabs.io\/sk\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/visionslabs.io\/sk\/aky-frontend-framework-zvolit\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/visionslabs.io\/sk\/aky-frontend-framework-zvolit\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/10\/visionslabs-Jaky-frontend-framework-zvolit-react-angular-vuejs.jpg\",\"datePublished\":\"2021-11-08T12:34:52+00:00\",\"dateModified\":\"2021-11-08T12:34:56+00:00\",\"description\":\"V tomto \u010dl\u00e1nku sa pozrieme na to, ak\u00fd frontend framework zvoli\u0165 pre v\u00fdvoj webov\u00fdch aplik\u00e1ci\u00ed \u2013 na v\u00fdber je hne\u010f nieko\u013eko mo\u017enost\u00ed.\",\"breadcrumb\":{\"@id\":\"https:\/\/visionslabs.io\/sk\/aky-frontend-framework-zvolit\/#breadcrumb\"},\"inLanguage\":\"sk-SK\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/visionslabs.io\/sk\/aky-frontend-framework-zvolit\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"sk-SK\",\"@id\":\"https:\/\/visionslabs.io\/sk\/aky-frontend-framework-zvolit\/#primaryimage\",\"url\":\"https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/10\/visionslabs-Jaky-frontend-framework-zvolit-react-angular-vuejs.jpg\",\"contentUrl\":\"https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/10\/visionslabs-Jaky-frontend-framework-zvolit-react-angular-vuejs.jpg\",\"width\":1200,\"height\":630,\"caption\":\"Jak\u00fd frontend framework zvolit?\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/visionslabs.io\/sk\/aky-frontend-framework-zvolit\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/visionslabs.io\/sk\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ak\u00fd frontend framework zvoli\u0165?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/visionslabs.io\/sk\/#website\",\"url\":\"https:\/\/visionslabs.io\/sk\/\",\"name\":\"visionslabs\",\"description\":\"Digit\u00e1ln\u00ed studio visionslabs se zab\u00fdv\u00e1 tvorbou web\u016f, aplikac\u00ed a digit\u00e1ln\u00edm marketingem\",\"publisher\":{\"@id\":\"https:\/\/visionslabs.io\/sk\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/visionslabs.io\/sk\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"sk-SK\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/visionslabs.io\/sk\/#organization\",\"name\":\"VisionsLabs - Po\u010d\u00edta\u010dov\u00e1 slu\u017eba s.r.o.\",\"url\":\"https:\/\/visionslabs.io\/sk\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"sk-SK\",\"@id\":\"https:\/\/visionslabs.io\/sk\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/visionslabs.io\/wp-content\/uploads\/2020\/07\/visionslabs-logo-icon-1.svg\",\"contentUrl\":\"https:\/\/visionslabs.io\/wp-content\/uploads\/2020\/07\/visionslabs-logo-icon-1.svg\",\"width\":317,\"height\":90,\"caption\":\"VisionsLabs - Po\u010d\u00edta\u010dov\u00e1 slu\u017eba s.r.o.\"},\"image\":{\"@id\":\"https:\/\/visionslabs.io\/sk\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/facebook.com\/visionslabs\/\",\"https:\/\/x.com\/visionslabs\",\"https:\/\/www.instagram.com\/visionslabs\/\",\"https:\/\/www.linkedin.com\/company\/visionslabs\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/visionslabs.io\/sk\/#\/schema\/person\/8002ebaef6052f50e66a94371d7764c9\",\"name\":\"Leopold Podmol\u00edk\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"sk-SK\",\"@id\":\"https:\/\/visionslabs.io\/sk\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/61ff2dad8ddeb5d3d6cda0cb4b861bb91797c98c4da6550c31c087557182e89f?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/61ff2dad8ddeb5d3d6cda0cb4b861bb91797c98c4da6550c31c087557182e89f?s=96&d=mm&r=g\",\"caption\":\"Leopold Podmol\u00edk\"},\"description\":\"CTO - dealing with both development and digital marketing\",\"sameAs\":[\"https:\/\/visionslabs.io\"],\"url\":\"https:\/\/visionslabs.io\/sk\/author\/admn_podmolik\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Ak\u00fd frontend framework zvoli\u0165? - visionslabs","description":"V tomto \u010dl\u00e1nku sa pozrieme na to, ak\u00fd frontend framework zvoli\u0165 pre v\u00fdvoj webov\u00fdch aplik\u00e1ci\u00ed \u2013 na v\u00fdber je hne\u010f nieko\u013eko mo\u017enost\u00ed.","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:\/\/visionslabs.io\/sk\/aky-frontend-framework-zvolit\/","og_locale":"sk_SK","og_type":"article","og_title":"Ak\u00fd frontend framework zvoli\u0165? - visionslabs","og_description":"V tomto \u010dl\u00e1nku sa pozrieme na to, ak\u00fd frontend framework zvoli\u0165 pre v\u00fdvoj webov\u00fdch aplik\u00e1ci\u00ed \u2013 na v\u00fdber je hne\u010f nieko\u013eko mo\u017enost\u00ed.","og_url":"https:\/\/visionslabs.io\/sk\/aky-frontend-framework-zvolit\/","og_site_name":"visionslabs","article_publisher":"https:\/\/facebook.com\/visionslabs\/","article_published_time":"2021-11-08T12:34:52+00:00","article_modified_time":"2021-11-08T12:34:56+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/10\/visionslabs-Jaky-frontend-framework-zvolit-react-angular-vuejs.jpg","type":"image\/jpeg"}],"author":"Leopold Podmol\u00edk","twitter_card":"summary_large_image","twitter_creator":"@visionslabs","twitter_site":"@visionslabs","twitter_misc":{"Autor":"Leopold Podmol\u00edk","Predpokladan\u00fd \u010das \u010d\u00edtania":"5 min\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/visionslabs.io\/sk\/aky-frontend-framework-zvolit\/#article","isPartOf":{"@id":"https:\/\/visionslabs.io\/sk\/aky-frontend-framework-zvolit\/"},"author":{"name":"Leopold Podmol\u00edk","@id":"https:\/\/visionslabs.io\/sk\/#\/schema\/person\/8002ebaef6052f50e66a94371d7764c9"},"headline":"Ak\u00fd frontend framework zvoli\u0165?","datePublished":"2021-11-08T12:34:52+00:00","dateModified":"2021-11-08T12:34:56+00:00","mainEntityOfPage":{"@id":"https:\/\/visionslabs.io\/sk\/aky-frontend-framework-zvolit\/"},"wordCount":1051,"publisher":{"@id":"https:\/\/visionslabs.io\/sk\/#organization"},"image":{"@id":"https:\/\/visionslabs.io\/sk\/aky-frontend-framework-zvolit\/#primaryimage"},"thumbnailUrl":"https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/10\/visionslabs-Jaky-frontend-framework-zvolit-react-angular-vuejs.jpg","keywords":["Angular","Backbone","CSS framework","Ember","Framework","Frontend","JavaScript","jQuery","JS framework","React","REST API","Svelte","TypeScript","Vue.js","Webov\u00e9 aplik\u00e1cie"],"articleSection":["Webov\u00e9 aplik\u00e1cie","Zauj\u00edmavosti"],"inLanguage":"sk-SK"},{"@type":"WebPage","@id":"https:\/\/visionslabs.io\/sk\/aky-frontend-framework-zvolit\/","url":"https:\/\/visionslabs.io\/sk\/aky-frontend-framework-zvolit\/","name":"Ak\u00fd frontend framework zvoli\u0165? - visionslabs","isPartOf":{"@id":"https:\/\/visionslabs.io\/sk\/#website"},"primaryImageOfPage":{"@id":"https:\/\/visionslabs.io\/sk\/aky-frontend-framework-zvolit\/#primaryimage"},"image":{"@id":"https:\/\/visionslabs.io\/sk\/aky-frontend-framework-zvolit\/#primaryimage"},"thumbnailUrl":"https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/10\/visionslabs-Jaky-frontend-framework-zvolit-react-angular-vuejs.jpg","datePublished":"2021-11-08T12:34:52+00:00","dateModified":"2021-11-08T12:34:56+00:00","description":"V tomto \u010dl\u00e1nku sa pozrieme na to, ak\u00fd frontend framework zvoli\u0165 pre v\u00fdvoj webov\u00fdch aplik\u00e1ci\u00ed \u2013 na v\u00fdber je hne\u010f nieko\u013eko mo\u017enost\u00ed.","breadcrumb":{"@id":"https:\/\/visionslabs.io\/sk\/aky-frontend-framework-zvolit\/#breadcrumb"},"inLanguage":"sk-SK","potentialAction":[{"@type":"ReadAction","target":["https:\/\/visionslabs.io\/sk\/aky-frontend-framework-zvolit\/"]}]},{"@type":"ImageObject","inLanguage":"sk-SK","@id":"https:\/\/visionslabs.io\/sk\/aky-frontend-framework-zvolit\/#primaryimage","url":"https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/10\/visionslabs-Jaky-frontend-framework-zvolit-react-angular-vuejs.jpg","contentUrl":"https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/10\/visionslabs-Jaky-frontend-framework-zvolit-react-angular-vuejs.jpg","width":1200,"height":630,"caption":"Jak\u00fd frontend framework zvolit?"},{"@type":"BreadcrumbList","@id":"https:\/\/visionslabs.io\/sk\/aky-frontend-framework-zvolit\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/visionslabs.io\/sk\/"},{"@type":"ListItem","position":2,"name":"Ak\u00fd frontend framework zvoli\u0165?"}]},{"@type":"WebSite","@id":"https:\/\/visionslabs.io\/sk\/#website","url":"https:\/\/visionslabs.io\/sk\/","name":"visionslabs","description":"Digit\u00e1ln\u00ed studio visionslabs se zab\u00fdv\u00e1 tvorbou web\u016f, aplikac\u00ed a digit\u00e1ln\u00edm marketingem","publisher":{"@id":"https:\/\/visionslabs.io\/sk\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/visionslabs.io\/sk\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"sk-SK"},{"@type":"Organization","@id":"https:\/\/visionslabs.io\/sk\/#organization","name":"VisionsLabs - Po\u010d\u00edta\u010dov\u00e1 slu\u017eba s.r.o.","url":"https:\/\/visionslabs.io\/sk\/","logo":{"@type":"ImageObject","inLanguage":"sk-SK","@id":"https:\/\/visionslabs.io\/sk\/#\/schema\/logo\/image\/","url":"https:\/\/visionslabs.io\/wp-content\/uploads\/2020\/07\/visionslabs-logo-icon-1.svg","contentUrl":"https:\/\/visionslabs.io\/wp-content\/uploads\/2020\/07\/visionslabs-logo-icon-1.svg","width":317,"height":90,"caption":"VisionsLabs - Po\u010d\u00edta\u010dov\u00e1 slu\u017eba s.r.o."},"image":{"@id":"https:\/\/visionslabs.io\/sk\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/facebook.com\/visionslabs\/","https:\/\/x.com\/visionslabs","https:\/\/www.instagram.com\/visionslabs\/","https:\/\/www.linkedin.com\/company\/visionslabs"]},{"@type":"Person","@id":"https:\/\/visionslabs.io\/sk\/#\/schema\/person\/8002ebaef6052f50e66a94371d7764c9","name":"Leopold Podmol\u00edk","image":{"@type":"ImageObject","inLanguage":"sk-SK","@id":"https:\/\/visionslabs.io\/sk\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/61ff2dad8ddeb5d3d6cda0cb4b861bb91797c98c4da6550c31c087557182e89f?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/61ff2dad8ddeb5d3d6cda0cb4b861bb91797c98c4da6550c31c087557182e89f?s=96&d=mm&r=g","caption":"Leopold Podmol\u00edk"},"description":"CTO - dealing with both development and digital marketing","sameAs":["https:\/\/visionslabs.io"],"url":"https:\/\/visionslabs.io\/sk\/author\/admn_podmolik\/"}]}},"jetpack_featured_media_url":"https:\/\/visionslabs.io\/wp-content\/uploads\/2021\/10\/visionslabs-Jaky-frontend-framework-zvolit-react-angular-vuejs.jpg","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/visionslabs.io\/sk\/wp-json\/wp\/v2\/posts\/3361","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/visionslabs.io\/sk\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/visionslabs.io\/sk\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/visionslabs.io\/sk\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/visionslabs.io\/sk\/wp-json\/wp\/v2\/comments?post=3361"}],"version-history":[{"count":0,"href":"https:\/\/visionslabs.io\/sk\/wp-json\/wp\/v2\/posts\/3361\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/visionslabs.io\/sk\/wp-json\/wp\/v2\/media\/3291"}],"wp:attachment":[{"href":"https:\/\/visionslabs.io\/sk\/wp-json\/wp\/v2\/media?parent=3361"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/visionslabs.io\/sk\/wp-json\/wp\/v2\/categories?post=3361"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/visionslabs.io\/sk\/wp-json\/wp\/v2\/tags?post=3361"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}