










<!DOCTYPE html>
<html lang="en-us" >
    <head>
        <title>Why GraphQL? | Free Video Tutorial | Udemy</title>
        
            
            


    <!-- OneTrust Cookies Consent Notice start for *.udemy.com display_type is web-->
    <script nonce="ysM10WIlXEgF+lyXdhNCBLhBnioDa09E95R9WKWrif4=" type="text/javascript">
        // Note: must be called before google tag manager is initialized in OptanonWrapper()
        if (typeof window.dataLayer == 'undefined') {
            window.dataLayer = window.dataLayer || [];
        }

        function callGtag() {
            window.dataLayer.push(arguments);
        }

        var GRANTED = 'granted';
        var DENIED = 'denied';

        window.optOutConsent = {
            analytics_storage: GRANTED,
            functionality_storage: GRANTED,
            personalization_storage: GRANTED,
            security_storage: GRANTED,
            ad_storage: GRANTED,
            ad_user_data: GRANTED,
            ad_personalization: GRANTED,
        }

        window.optInConsent = {
            analytics_storage: DENIED,
            functionality_storage: DENIED,
            personalization_storage: DENIED,
            security_storage: GRANTED,
            ad_storage: DENIED,
            ad_user_data: DENIED,
            ad_personalization: DENIED,
        }

        // initialize the default settings to opt-in to protect against timing conditions with Google Analytics Loading
        callGtag('consent', 'default', window.optInConsent)
    </script>
    <script nonce="ysM10WIlXEgF+lyXdhNCBLhBnioDa09E95R9WKWrif4=" async src="https://cdn.cookielaw.org/scripttemplates/otSDKStub.js" data-document-language="true" type="text/javascript" charset="UTF-8" data-domain-script="25ab360c-347c-4a85-8b93-1e0326234b75" ></script>
    <script nonce="ysM10WIlXEgF+lyXdhNCBLhBnioDa09E95R9WKWrif4=" type="text/javascript">
        window.isOneTrustActive = true;
        window.OneTrustReadyHandlers = [];

        var __attachOneTrustCustomHandlingOnlyOnce = (function () {
            var hasExecuted = false;
            return function () {
                if (hasExecuted === true) {
                    return false;
                }
                // Add consent change handler.
                window.OneTrust.OnConsentChanged(function (consentEvent) {
                    window.__onConsentChanged = window.__onConsentChanged || [];
                    window.__onConsentChanged.push(consentEvent);
                });
                var queue = window.OneTrustReadyHandlers;
                // Call the handlers that are queued after OneTrust is ready.
                window.OneTrustReadyHandlers = {
                    push: function (cb) {
                        cb(window.OneTrust);
                    }
                };

                // Call the handlers that were queued before OneTrust was ready.
                for (var queueIndex = 0; queueIndex < queue.length; queueIndex++) {
                    queue[queueIndex](window.OneTrust);
                }
                // Mark executed to prevent duplicate execution.
                hasExecuted = true;
            }
        })();
        function OptanonWrapper() {
            __attachOneTrustCustomHandlingOnlyOnce();

            // Enable Google TCF support ONLY when TCF is active (EU)
            try {
                if (typeof window.__tcfapi === 'function') {
                    window.__tcfapi('getTCData', 2, function (res, success) {
                        if (success && res && res.tcString && res.tcString.length > 0) {
                            window.gtag_enable_tcf_support = true;
                        }
                    });
                }
            } catch (e) {}

            var defaultDomainData = { ConsentModel: { Name: 'uninitialized'} };

            // be extra conservative in how we load this data, as if OneTrust changes the contract
            // we don't want to blow up the page load on every page on the site
            var domainData = window.OneTrust.GetDomainData() || defaultDomainData;
            var consentModel = domainData.ConsentModel ||  defaultDomainData.ConsentModel
            var consentModelName = consentModel.Name ||  defaultDomainData.ConsentModel.Name

            if (consentModelName === 'opt-out') {
                this.callGtag('consent', 'default', window.optOutConsent);
            }
        }
    </script>
    <!-- OneTrust Cookies Consent Notice end for *.udemy.com -->




        

        
            


    <script nonce="ysM10WIlXEgF+lyXdhNCBLhBnioDa09E95R9WKWrif4=">
      (function(h,o,u,n,d) {
        h=h[d]=h[d]||{q:[],onReady:function(c){h.q.push(c)}}
        d=o.createElement(u);d.async=1;d.src=n
        n=o.getElementsByTagName(u)[0];n.parentNode.insertBefore(d,n)
      })(window,document,'script','https://www.datadoghq-browser-agent.com/us1/v4/datadog-rum.js','DD_RUM')
      window.DD_RUM.onReady(function() {
        window.DD_RUM.init({
          clientToken: 'pubdf923e39e855ee202dba6e1cc60e59af',
          applicationId: 'b904100c-0f95-4879-930d-2fd0bb993287',
          site: 'datadoghq.com',
          service: 'browser.request',
          env: 'production',
          version: 'e1c10ea0facebfc951dea4602965bd778b79816e',
          allowedTracingOrigins: [/https:\/\/.*\.udemy\.(com|cn)/],
          traceSampleRate: 100,
          sampleRate: 1,
          sessionReplaySampleRate: 1,
          trackUserInteractions: true,
          trackFrustrations: true,
          trackResources: true,
          trackLongTasks: true,
          defaultPrivacyLevel: 'mask',
        });

        DD_RUM.startSessionReplayRecording();
      })
    </script>


        

        
            
<meta name="description" content="Learn how to build GraphQL applications using Node.js. Includes Prisma v1, authentication, Apollo Client, and more! | Learn from instructors on any topic"><meta name="title" content="Why GraphQL? | Free Video Tutorial | Udemy"><meta name="medium" content="mult"><meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0"><meta name="twitter:card" content="summary_large_image"><meta name="apple-itunes-app" content="app-id=562413829, affiliate-data=ct=Safari_SmartBanner&amp;amp;pt=1240482"><meta name="google-play-app" content="app-id=com.udemy.android"><meta property="fb:app_id" content="313137469260"><meta http-equiv="X-UA-Compatible" content="IE=Edge"><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta property="og:title" content="Why GraphQL? | Free Video Tutorial | Udemy"><meta property="og:url" content="https://www.udemy.com/tutorial/graphql-bootcamp/why-graphql/"><meta property="og:description" content="Learn how to build GraphQL applications using Node.js. Includes Prisma v1, authentication, Apollo Client, and more! | Learn from instructors on any topic"><meta property="og:image" content="https://s.udemycdn.com/meta/default-meta-image-v2.png"><meta property="og:image:secure_url" content="https://s.udemycdn.com/meta/default-meta-image-v2.png"><meta property="og:type" content="video_lecture"><meta property="og:site_name" content="Udemy"><meta property="og:locale" content="en_US"><meta name="twitter:domain" content="www.udemy.com"><meta name="twitter:title" content="Why GraphQL? | Free Video Tutorial | Udemy"><meta name="twitter:url" content="https://www.udemy.com/tutorial/graphql-bootcamp/why-graphql/"><meta name="twitter:description" content="Learn how to build GraphQL applications using Node.js. Includes Prisma v1, authentication, Apollo Client, and more! | Learn from instructors on any topic"><meta name="twitter:image" content="https://s.udemycdn.com/meta/default-meta-image-v2.png"><meta name="twitter:site" content="@udemy">


        

        
            

<link
    rel="preload"
    as="font"
    type="font/woff2"
    href="https://frontends.udemycdn.com/thesis/fonts/Udemy-Sans-Light-v1.woff2"
    crossorigin="anonymous"
/>
<link
    rel="preload"
    as="font"
    type="font/woff2"
    href="https://frontends.udemycdn.com/thesis/fonts/Udemy-Sans-Medium-v1.woff2"
    crossorigin="anonymous"
/>

            

<style type="text/css">
    @font-face {
        font-family: 'Udemy Sans';
        font-style: normal;
        font-weight: 300;
        font-display: fallback;
        src:
            local('Udemy Sans Light'),
            local('UdemySans-Light'),
            url('https://frontends.udemycdn.com/thesis/fonts/Udemy-Sans-Light-v1.woff2')
            format('woff2');
    }
    
    @font-face {
        font-family: 'Udemy Sans';
        font-style: normal;
        font-weight: 400;
        font-display: fallback;
        src:
            local('Udemy Sans Regular'),
            local('UdemySans-Regular'),
            url('https://frontends.udemycdn.com/thesis/fonts/Udemy-Sans-Regular-v1.woff2')
            format('woff2');
    }

    @font-face {
        font-family: 'Udemy Sans';
        font-style: normal;
        font-weight: 500;
        font-display: fallback;
        src:
            local('Udemy Sans Medium'),
            local('UdemySans-Medium'),
            url('https://frontends.udemycdn.com/thesis/fonts/Udemy-Sans-Medium-v1.woff2')
            format('woff2');
    }

    @font-face {
        font-family: 'Udemy Sans';
        font-style: normal;
        font-weight: 700;
        font-display: fallback;
        src:
            local('Udemy Sans Bold'),
            local('UdemySans-Bold'),
            url('https://frontends.udemycdn.com/thesis/fonts/Udemy-Sans-Bold-v1.woff2')
            format('woff2');
    }

    /* arabic */
    @font-face {
        font-family: Vazirmatn;
        font-style: normal;
        font-weight: 300;
        font-display: fallback;
        src:
            url('https://frontends.udemycdn.com/thesis/fonts/Vazirmatn-Light.woff2')
            format('woff2');
        unicode-range:
            U+0600-06FF,
            U+0750-077F,
            U+08A0-08FF,
            U+FB50-FDFF,
            U+FE70-FEFF,
            U+1EE00-1EEFF;
    }

    @font-face {
        font-family: Vazirmatn;
        font-style: normal;
        font-weight: 400;
        font-display: fallback;
        src:
            url('https://frontends.udemycdn.com/thesis/fonts/Vazirmatn-Regular.woff2')
            format('woff2');
        unicode-range:
            U+0600-06FF,
            U+0750-077F,
            U+08A0-08FF,
            U+FB50-FDFF,
            U+FE70-FEFF,
            U+1EE00-1EEFF;
    }

    @font-face {
        font-family: Vazirmatn;
        font-style: normal;
        font-weight: 500;
        font-display: fallback;
        src:
            url('https://frontends.udemycdn.com/thesis/fonts/Vazirmatn-Medium.woff2')
            format('woff2');
        unicode-range:
            U+0600-06FF,
            U+0750-077F,
            U+08A0-08FF,
            U+FB50-FDFF,
            U+FE70-FEFF,
            U+1EE00-1EEFF;
    }

    @font-face {
        font-family: Vazirmatn;
        font-style: normal;
        font-weight: 700;
        font-display: fallback;
        src:
            url('https://frontends.udemycdn.com/thesis/fonts/Vazirmatn-Bold.woff2')
            format('woff2');
        unicode-range:
            U+0600-06FF,
            U+0750-077F,
            U+08A0-08FF,
            U+FB50-FDFF,
            U+FE70-FEFF,
            U+1EE00-1EEFF;
    }

    /* japanese */
    @font-face {
        font-family: 'Noto Sans JP';
        font-style: normal;
        font-optical-sizing: auto;
        font-weight: 400;
        font-display: fallback;
        src:
            local('NotoSansJP-Regular'),
            url('https://frontends.udemycdn.com/thesis/fonts/noto-sans-jp-japanese-400-normal.woff2') format('woff2');
        unicode-range:
            U+3000-303F,
            U+3040-309F,
            U+30A0-30FF,
            U+31F0-31FF,
            U+3200-32FF,
            U+3300-33FF,
            U+3400-4DBF,
            U+4E00-9FFF,
            U+F900-FAFF,
            U+FF00-FFEF;
    }

    @font-face {
        font-family: 'Noto Sans JP';
        font-style: normal;
        font-optical-sizing: auto;
        font-weight: 500;
        font-display: fallback;
        src:
            local('NotoSansJP-Medium'),
            url('https://frontends.udemycdn.com/thesis/fonts/noto-sans-jp-japanese-500-normal.woff2') format('woff2');
        unicode-range:
            U+3000-303F,
            U+3040-309F,
            U+30A0-30FF,
            U+31F0-31FF,
            U+3200-32FF,
            U+3300-33FF,
            U+3400-4DBF,
            U+4E00-9FFF,
            U+F900-FAFF,
            U+FF00-FFEF;
    }

    @font-face {
        font-family: 'Noto Sans JP';
        font-style: normal;
        font-optical-sizing: auto;
        font-weight: 700;
        font-display: fallback;
        src:
            local('NotoSansJP-Bold'),
            url('https://frontends.udemycdn.com/thesis/fonts/noto-sans-jp-japanese-700-normal.woff2') format('woff2');
        unicode-range:
            U+3000-303F,
            U+3040-309F,
            U+30A0-30FF,
            U+31F0-31FF,
            U+3200-32FF,
            U+3300-33FF,
            U+3400-4DBF,
            U+4E00-9FFF,
            U+F900-FAFF,
            U+FF00-FFEF;
    }
</style>

            

<script nonce="ysM10WIlXEgF+lyXdhNCBLhBnioDa09E95R9WKWrif4=" async src="https://frontends.udemycdn.com/thesis/icons/v15/icon-spritemap.js"></script>

            <link type="text/css" rel="stylesheet" href="/staticx/udemy/js/webpack/entry-main.1b74f8d26a68c0a2e040.css" />
            <link type="text/css" rel="stylesheet" href="/staticx/udemy/js/webpack/common-app-css.05fe63be711e93eae7bb.css" />

            
                <link type="text/css" rel="stylesheet" href="/staticx/udemy/js/webpack/common-desktop-server-side.91bd5c81a38314a4bd20.css" />

            
            
                <link type="text/css" rel="stylesheet" href="/staticx/udemy/js/webpack/lecture-landing-page-desktop-server-side.4db2e8db23ace774dcc1.css" />

            
            
            
                <link type="text/css" rel="stylesheet" href="/staticx/udemy/js/webpack/lecture-landing-page-desktop-udlite-app.7e6898f2a69f7f3f481b.css" />
            
        

        
            
            <link rel="preconnect" href="https://s.udemycdn.com/" />
            <link rel="preconnect" href="https://s.udemycdn.com/" crossorigin />
            <link rel="preconnect" href="https://img-c.udemycdn.com/" />
            <link rel="preconnect" href="https://img-b.udemycdn.com/" />
            
            <link rel="dns-prefetch" href="https://s.udemycdn.com/" />
            <link rel="dns-prefetch" href="https://img-c.udemycdn.com/" />
            <link rel="dns-prefetch" href="https://img-b.udemycdn.com/" />
            
                <link nonce="ysM10WIlXEgF+lyXdhNCBLhBnioDa09E95R9WKWrif4=" rel="preload" as="script" href="/staticx/udemy/js/webpack/lecture-landing-page-desktop-udlite-app.c896a37dd7472152864d.js" />
            
            <link nonce="ysM10WIlXEgF+lyXdhNCBLhBnioDa09E95R9WKWrif4=" rel="preload" as="script" href="/staticx/udemy/js/webpack/common-desktop-udlite-app.7c33c18181efd3e48699.js" />
        

        
            
            <link rel="apple-touch-icon" sizes="180x180" href="/staticx/udemy/images/v7/apple-touch-icon.png" />
            <link rel="icon" type="image/png" sizes="32x32" href="/staticx/udemy/images/v8/favicon-32x32.png" />
            <link rel="icon" type="image/png" sizes="16x16" href="/staticx/udemy/images/v8/favicon-16x16.png" />
            <link rel="manifest" href="/staticx/udemy/images/v7/site-manifest.json" />
            <meta name="application-name" content="Udemy" />
            <meta name="msapplication-TileColor" content="#a435f0" />
            <meta name="msapplication-TileImage" content="/staticx/udemy/images/v7/mstile-144x144.png">
            <meta name="msapplication-config" content="/staticx/udemy/images/v7/browserconfig.xml" />
            <meta name="theme-color" content="#ffffff" />
        

        

        
            





<script nonce="ysM10WIlXEgF+lyXdhNCBLhBnioDa09E95R9WKWrif4=">
    window.UD = window.UD || {};
    window.UD.Config = {"version":"e1c10ea0facebfc951dea4602965bd778b79816e","env":"PROD","graphql_federation_endpoint":"https://www.udemy.com/graphql/","marketplace_country":{"_class":"country","id":"US","iso_code":"USA","title":"United States of America","currency":"usd"},"price_country":{"_class":"country","id":"IN","currency":"inr","currency_symbol":"\u20b9","currency_decimal_places":2,"currency_formatter":{"currency":"inr","symbol":"\u20b9","locale":"en_US","decimal":".","group":",","pattern":"!#,##0.00","scale":2},"usd_currency_formatter":{"currency":"usd","symbol":"$","locale":"en_US","decimal":".","group":",","pattern":"!#,##0.00","scale":2}},"supported_languages":[{"locale":"en_US","name":"English","lang":"en"},{"locale":"ar_SA","name":"\u0627\u0644\u0639\u0631\u0628\u064a\u0629","lang":"ar"},{"locale":"de_DE","name":"Deutsch","lang":"de"},{"locale":"es_ES","name":"Espa\u00f1ol","lang":"es"},{"locale":"fr_FR","name":"Fran\u00e7ais","lang":"fr"},{"locale":"id_ID","name":"Bahasa Indonesia","lang":"id"},{"locale":"it_IT","name":"Italiano","lang":"it"},{"locale":"ja_JP","name":"\u65e5\u672c\u8a9e","lang":"ja"},{"locale":"ko_KR","name":"\ud55c\uad6d\uc5b4","lang":"ko"},{"locale":"nl_NL","name":"Nederlands","lang":"nl"},{"locale":"pl_PL","name":"Polski","lang":"pl"},{"locale":"pt_BR","name":"Portugu\u00eas","lang":"pt"},{"locale":"ro_RO","name":"Rom\u00e2n\u0103","lang":"ro"},{"locale":"ru_RU","name":"\u0420\u0443\u0441\u0441\u043a\u0438\u0439","lang":"ru"},{"locale":"th_TH","name":"\u0e20\u0e32\u0e29\u0e32\u0e44\u0e17\u0e22","lang":"th"},{"locale":"tr_TR","name":"T\u00fcrk\u00e7e","lang":"tr"},{"locale":"vi_VN","name":"Ti\u1ebfng Vi\u1ec7t","lang":"vi"},{"locale":"zh_CN","name":"\u4e2d\u6587(\u7b80\u4f53)","lang":"zh-cn"},{"locale":"zh_TW","name":"\u4e2d\u6587(\u7e41\u9ad4)","lang":"zh-tw"}],"brand":{"_class":"brand","title":"Udemy","identifier":"udemy","has_organization":false,"is_messaging_enabled":true,"is_discussions_enabled":true,"is_feed_commenting_enabled":true,"is_teaching_enabled":true,"is_add_reviews_enabled":true,"is_mobile_app_enabled":true,"is_import_courses_enabled":false,"is_social_sharing_enabled":true,"is_external_sources_enabled":true,"is_third_party_marketing_enabled":true,"is_government":false,"is_sso_enabled":false,"is_team":false,"logo_url_2x":"/staticx/udemy/images/v7/logo-udemy.svg","link_bar_nav_list_id":"ud-link-bar","is_share_to_ms_teams_enabled":false,"is_profile_functions_enabled":true,"is_user_profiles_public":true,"product_logo":"/staticx/udemy/images/v7/logo-udemy.svg","product_logo_light":"/staticx/udemy/images/v7/logo-udemy-inverted.svg","product_logo_aspect_ratio":2.6785714285714284,"product_name":"Udemy","organization":false},"features":{"course_badge":true,"footer":{"links":{"about":true,"contact":true,"affiliates":true,"blog":true,"business":true,"careers":true,"benesse_corporate_page":false,"commercial_transactions_law_page":true,"teach":true}},"hello_bar":{"instructor":false,"pricing":true,"terms":true},"notice":{"instructor_bar":false,"smart_bar":false,"ufb_smart_bar":false},"notifications":true,"report_abuse":true,"shopping_cart":true,"wishlist":true,"social_share":{"email":true},"reviews":{"show_user_avatar":true},"zendesk_chat":false,"ufb_notices":true,"ufb_notices_footer":{"top_com":true},"collect_performance_rum":true,"braze_web_push":true,"course_review":{"clp_review_search":true,"leave_feedback":true},"organization":{"auth":{"scim_api_enabled":false},"is_learner_goal_and_interest_collection_enabled":true,"learning_path":{"enabled":true,"pro_path":false,"pro_path_hidden":false},"allow_only_plain_text_messaging":false,"is_user_reactivation_notification_enabled":true,"hide_org_user_search_for_group_admins":false,"is_course_versioning_enabled":false,"is_practice_mode_enabled":true,"hide_org_wide_learner_data":true,"is_badging_assertions_upload_enabled":true,"is_skills_benchmarking_enabled":false,"course_taking":{"student_assignment_submissions_enabled":true}},"home":{"my_courses":{"free_label":true,"privacy":true,"revenue":true},"signup_cta":true,"ufb_ad":{"default":true,"jp":false}},"discount":{"change_alerts":true},"logged_in_home":{"linkbar_level_2":true,"ufb_ad":false},"bundle":{"instructor_bio":{"social_links":true}},"course_landing_page":{"deal_badge":true,"incentives":{"access_tv":true,"lifetime_access":true},"instructor_bio":{"image":true,"social_links":true,"stats":true},"money_back_guarantee":true},"course":{"discussions":{"view":true},"announcements":{"comments":{"view":true}},"students":{"unenroll":false},"refundable":true},"coaching":false},"app_name":"course_lecture:landing_page","js_bundle":"modern","url":{"to_root":"https://www.udemy.com/","to_app":"https://www.udemy.com/","to_images":"https://www.udemy.com/staticx/udemy/images/","to_js":"https://www.udemy.com/staticx/udemy/js/"},"drm_license_server_url_template":"{base_url}media-license-server/validate-auth-token?drm_type={drm_type}\u0026auth_token={auth_token}","drm_fairplay_certificate_cdn_domain":"img-c.udemycdn.com","third_party":{"google_analytics_id":"UA-12366301-1","google_analytics_id_for_course_taking":"UA-12366301-45","google_tag_manager_id":"GTM-7BF3X","google_analytics_id_for_ufb_only":"UA-12366301-47","facebook_app_id":"313137469260","raven_dsn":"https://369c830fbf534485a068ab919d71b80d@sentry.io/38617","sift_account":"78b4b13f0a","uft_stripe_publishable_key":"pk_live_dCyHJcZsk8NaNwx1PiRSpqqq","branch_metrics":{"ios_download_url":"http://ude.my/ios","ios_ufb_download_url":"http://ude.my/ios-ufb","android_download_url":"http://ude.my/android","android_ufb_download_url":"http://ude.my/android-ufb"},"pusher":{"key":"dd9e21a517a37660588c","coding_exercise_event":"coding-exercise-evaluated"},"zendesk":{"refund_form_id":406368},"paypal":{"appid":"ASRJrkbBfTwvxWNTn-QRakeimIbsjmBuK5hWj4zq3QJL46CKIYNb-RiKjrTSe-2iZ-EFrCCuXGZTxHjY","authend":"live","returnurl":"https://www.udemy.com/user/paypal-login-return"},"s3":{"asset":{"key":"AKIA5IZMAQTGTLHQJLAD","bucket_url":"https://udemy-web-upload-transitional.s3.amazonaws.com"},"image_asset":{"key":"AKIA5IZMAQTGTLHQJLAD","bucket_url":"https://udemy-image-web-upload.s3.amazonaws.com"}},"storage_static_asset_base_url":"https://s.udemycdn.com/","google_client_id":"700206021005-as1l679sch207mp70msgjhma1krf3k9q.apps.googleusercontent.com"},"is_whatsapp_opt_in_enabled":true};
    window.UD.experiment = {"tgt":{"31775":{"variant":31777,"values":{},"state":"recorded"}}};
    window.UD.request = {"locale":"en_US","language":"en","third_party_location":"https://www.udemy.com/tutorial/graphql-bootcamp/why-graphql/","navigation_locale":"en_US","language_simple_english_title":"English","isMobile":false,"isTablet":false,"isPC":true,"serverTimestamp":"2026-06-17T14:00:06.725334+05:30","is_tapen_access_domain":false,"is_bot":true};
    window.UD.request.clientTimestamp = new Date().toISOString();
    window.UD.site_stats = {"default":{"num_students_m":"80M","num_students_million":"80 million","num_courses":250000,"num_courses_rounded":250000,"num_instructors":75000,"num_topics":2000,"num_course_languages":75,"num_course_enrollments_m":"1.1B","num_course_enrollments_million":"1.1 billion","num_countries_taught":180},"organizations":{"num_courses":30000,"num_courses_rounded":30000,"num_instructors":1500,"num_enterprise_customers":17200}};
    window.UD.me = {"isLoading":false,"_class":"user","id":338608737,"email":"groupseobyaryan@gmail.com","display_name":"Aryan Shukla","initials":"AS","title":"Aryan Shukla","time_zone":"Asia/Calcutta","country":"IN","locale":"en_US","name":"Aryan","surname":"Shukla","image_50x50":"https://img-c.udemycdn.com/user/50x50/anonymous_3.png","image_100x100":"https://img-c.udemycdn.com/user/100x100/anonymous_3.png","is_authenticated":true,"job_title":"","created":"2026-06-11T15:24:03Z","language":"en","learning_languages":[],"settings":{"seenOrgOrPPGoalHeader":"on"},"encrypted_affiliate_uid":"3ca571df734ed644fdff73ab5f80bfb15aa735dd","encrypted_affiliate_email":"fc599310626d95d746d7986775c0cdc11cc2cd67","encrypted_id":"x01q9nBW_qTaJzI6cwa5oqUag==","has_made_paid_purchase":false,"number_of_courses_purchased":0,"organization":null,"url":"/user/aryan-shukla-1772/","phone_number":"","request_country_code":"US","ip_address":"194.39.69.171"};
    window.UD.meProperties = ["_class","id","email","display_name","job_title","initials","title","time_zone","country","created","locale","language","learning_languages","name","surname","image_50x50","image_100x100","settings","encrypted_affiliate_uid","encrypted_affiliate_email","encrypted_id","has_made_paid_purchase","number_of_courses_purchased","organization","url","request_country_code","ip_address","phone_number"];
    window.UD.visiting = {"isLoading":false,"visitor_uuid":"17d65d3f3e2f457da46c7b3c0d1c329b","is_first_time_visitor":false,"first_visit_time":"2026-06-11T08:56:44.535Z"};
    window.UD.visitingProperties = ["visitor_uuid","is_first_time_visitor","first_visit_time"];
    window.UD.userSpecificTrackingParams = {"isLoading":false,"tracking_enabled":true};
    window.UD.userSpecificTrackingProperties = ["tracking_enabled"];
    window.UD.userAgnosticTrackingParams = {"page_key":"lecture_landing_page"};

    
</script>






    <script nonce="ysM10WIlXEgF+lyXdhNCBLhBnioDa09E95R9WKWrif4=">
        window.udPerformanceEnabled = true;
    </script>



        

        
            

<script nonce="ysM10WIlXEgF+lyXdhNCBLhBnioDa09E95R9WKWrif4=">
    
    window.GoogleAnalyticsObject = 'ga';
    window.ga = function () {
        (window.ga.q = window.ga.q || []).push(arguments);
    };
    window.ga.l = 1 * new Date();

    UD.GoogleAnalytics = UD.GoogleAnalytics || {};
    UD.GoogleAnalytics.createAccount = function (accountId, propertyName, domainName) {
        if (accountId) {
            if (propertyName) {
                // Required for multiple trackers
                window.ga('create', accountId, 'auto', {'name': propertyName, 'cookieDomain': domainName || 'none',
                    'siteSpeedSampleRate': 10});
            } else {
                window.ga('create', accountId, 'auto', {'siteSpeedSampleRate': 10});
                window.ga('require', 'displayfeatures'); // Enables retargeting
            }
            window.ga('set', {
                'anonymizeIp': true,
                'location' : ""
            });
        }
    };
    UD.GoogleAnalytics.createAccount(UD.Config.third_party.google_analytics_id);
</script>

        

        





        
    <link rel="canonical" href="https://www.udemy.com/tutorial/graphql-bootcamp/why-graphql/">


        
            
                

<script nonce="ysM10WIlXEgF+lyXdhNCBLhBnioDa09E95R9WKWrif4=" type="text/javascript">
    window.isBrazeEnabled = true;
    window.nonceValue = "ysM10WIlXEgF+lyXdhNCBLhBnioDa09E95R9WKWrif4=";
</script>

            
        
    </head>
    <body id="udemy"
          class="
    ud-app-loader lecture-landing-page-desktop
  udemy "
            
    data-module-id="lecture-landing-page/desktop"
    data-module-args="{&quot;asset&quot;:{&quot;_class&quot;:&quot;asset&quot;,&quot;id&quot;:14362396,&quot;asset_type&quot;:&quot;Video&quot;,&quot;created&quot;:&quot;2018-09-18T22:48:54Z&quot;,&quot;media_license_token&quot;:null,&quot;media_sources&quot;:[{&quot;type&quot;:&quot;application/x-mpegURL&quot;,&quot;src&quot;:&quot;https://www.udemy.com/assets/14362396/files/1720558/14362396/2018-09-18_22-49-37-2b767c950fc8a82bd244483b94acefe2/1/aa00a1d206c65c48eaf45c3d381c60bf5ff4.m3u8?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJwYXRoIjoiMTcyMDU1OC8xNDM2MjM5Ni8yMDE4LTA5LTE4XzIyLTQ5LTM3LTJiNzY3Yzk1MGZjOGE4MmJkMjQ0NDgzYjk0YWNlZmUyLzEvIiwiZXhwIjoxNzgxNzAxMjA2fQ.sx5BVkp4-26ulCePPOwSC43bWQMpzYz-x8pgz8krHx0&amp;provider=cloudfront&amp;v=1&quot;,&quot;label&quot;:&quot;auto&quot;}],&quot;thumbnail_url&quot;:&quot;https://mp4-c.udemycdn.com/2018-09-18_22-49-37-2b767c950fc8a82bd244483b94acefe2/thumb-1.jpg?Expires=1781701206&amp;Signature=lVFOsKiQwqXwwSP7cpBnFR1zwZ8u-4TKkjqdTau-5yJD5LdprZM6eZPjpt00mCT4qZzW8b6J2Eg87MLg1jpIiZP8cekAAhyZ9E~lne6~5J7K65l96bATxDPlWzNk7M6wA7p5jb690-DWiK~FKWl5v3~Dnr6s-sVXVHKnwcUubQBefeIctuy~tPwoeEVTPUji0VfNka0xVs4oOd-XeoUc69~pWOiCR5cilZBC0pMzCSO-1dQXrSqV5mb8WWWRE50HUZQxhQSLH1uDPHVzSk7osOfuvgJwMpoKeEiKP2yym~qdeDx0uUFoWu8CsJ0Adf8iAhOqaSTto8NymrI3fU5cgw__&amp;Key-Pair-Id=K3MG148K9RIRF4&quot;,&quot;stream_urls&quot;:{&quot;Video&quot;:[{&quot;type&quot;:&quot;video/mp4&quot;,&quot;label&quot;:&quot;720&quot;,&quot;file&quot;:&quot;https://mp4-c.udemycdn.com/2018-09-18_22-49-37-2b767c950fc8a82bd244483b94acefe2/WebHD_720p.mp4?Expires=1781701206&amp;Signature=2rcWDSG4TLu0tEUgk4eileeaTHJv5j-0Cjjcpb1Bhj~yVKQZOJ7XJcDSG4WaWOr79uZK7o8iXMTNB~DTZ5Wx4~Bn0HVevBqIs4Q~yso5mGU~jWUVJwcOf0PNjbhYxCBtRE9ac4L~HOIU5mUh-H8r8meSFut5CZXjxCk-gvK2X-N61bsd7uPyVc97d5fdgmrr~oS0r2pG5ShblXuu3byWko6yIA-L-4A02tf-z55FU2r~RErkULp5XlDDeYXW~fWmIbHx49qpics1q3itT5igZ8BeDMad6G8JgJS1TPzwPytatUd0x7BH-cXvlgiTUiXxUM6688hQ0J0yXKuE0s8CEg__&amp;Key-Pair-Id=K3MG148K9RIRF4&quot;},{&quot;type&quot;:&quot;video/mp4&quot;,&quot;label&quot;:&quot;480&quot;,&quot;file&quot;:&quot;https://mp4-c.udemycdn.com/2018-09-18_22-49-37-2b767c950fc8a82bd244483b94acefe2/WebHD_480.mp4?Expires=1781701206&amp;Signature=aHyQY22c8waB8~uBQZQTyG-V3p~2hFkZfhb01IZreNRcF-gxXCPVeDvMWy7UIZf0ULamTzNex~-Xc7Q9Y1ofHC3G13-NSKz6WYOWuBFMjfm8UmJZhUOdRya8vxvChW-RsxE-aaUA~QXSn38jmEm72oawPNX5Mf3B529fjLPflcomwNV33LhzOaSRdkOnWlkwitBVW~zLhQnUtSw79-wN8OWDG7oPksydyeMiyG2M6E2D1IpJYXvAMA7xbmvbb0nYZNj2OMZtzM2z7p~akUNTj~7MOtj6qSsTkqhF5W1Nt0R~XuygQrWSSc1CU~PYD9jXJl7bjw7KmkNO1DGcMdpqQQ__&amp;Key-Pair-Id=K3MG148K9RIRF4&quot;},{&quot;type&quot;:&quot;video/mp4&quot;,&quot;label&quot;:&quot;360&quot;,&quot;file&quot;:&quot;https://mp4-c.udemycdn.com/2018-09-18_22-49-37-2b767c950fc8a82bd244483b94acefe2/WebHD.mp4?Expires=1781701206&amp;Signature=ZGJIPtLMewytfynsDNA0AtSVA6PZ00eRV-5rW-sDxc0tvlB1s1NQwzaZG34YrFSldju-2W423m3O~-zHNvtv4losh2XROj0R4vX~W69Nym2elu294T2U7RlxjHijZ4C-Dudpso-0assnhoP62yYaQDwOcDbh5ADJoaxN3XHrh9CcCowm~aN9wRuwdT0XgrnRWLQ~j6a~0AEWY708X9FyLuYIX7Yl6427316smeJtM9qUdJUuF4uNwKq7cQa2dKRIuuv9MT3vYuQRw-drLOsMn51Cpo0xlNsVAmjTkC8eX5Lh55VZIo3iQvXidTkyl3WhinAgwBs3M9g2tRAaO7VUmA__&amp;Key-Pair-Id=K3MG148K9RIRF4&quot;},{&quot;type&quot;:&quot;video/mp4&quot;,&quot;label&quot;:&quot;144&quot;,&quot;file&quot;:&quot;https://mp4-c.udemycdn.com/2018-09-18_22-49-37-2b767c950fc8a82bd244483b94acefe2/Web_144.mp4?Expires=1781701206&amp;Signature=vietfmWfJMzmwZ~AeG3n0zUdM4EfqRuRlWClGmxxyuaORCXtXpOpPwV38ndRBtqxYizN9er-IjsrxlkzMU7wVjQ6786P3-mjeRWvfRG30jzqt~IhvWTcrts~U2A2HyOaDNvZGa~qWbZarEFPED0yTBR7Oa3IJ5AFONSE473dVP4AX1sKeThEs3qPAw4PKxsIv75Nu8ES~~8~k7NaCn-uNEuDAz1I3gT0HVENltzTgrAsgD1pfwRRagbSGvfHlc-XeaGao9bPaY-DAkJNx6vdeMjbbohgxRfg5DduRFZrWsN2rSb4fB1lVde1kjfMHvek1UdFGQ0lXhXNOdJgPUVwWw__&amp;Key-Pair-Id=K3MG148K9RIRF4&quot;},{&quot;file&quot;:&quot;https://www.udemy.com/assets/14362396/files/1720558/14362396/2018-09-18_22-49-37-2b767c950fc8a82bd244483b94acefe2/1/aa00a1d206c65c48eaf45c3d381c60bf5ff4.m3u8?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJwYXRoIjoiMTcyMDU1OC8xNDM2MjM5Ni8yMDE4LTA5LTE4XzIyLTQ5LTM3LTJiNzY3Yzk1MGZjOGE4MmJkMjQ0NDgzYjk0YWNlZmUyLzEvIiwiZXhwIjoxNzgxNzAxMjA2fQ.sx5BVkp4-26ulCePPOwSC43bWQMpzYz-x8pgz8krHx0&amp;provider=cloudfront&amp;v=1&quot;,&quot;type&quot;:&quot;application/x-mpegURL&quot;,&quot;label&quot;:&quot;Auto&quot;}]},&quot;captions&quot;:[{&quot;_class&quot;:&quot;caption&quot;,&quot;id&quot;:14613534,&quot;title&quot;:&quot;why-graphql.autogenerated.vtt&quot;,&quot;created&quot;:&quot;2020-03-16T10:13:54&quot;,&quot;file_name&quot;:&quot;2020-03-16_10-13-54-de5a86212cf00ce018440528e68764a4.vtt&quot;,&quot;status&quot;:1,&quot;url&quot;:&quot;https://vtt-c.udemycdn.com/14362396/de_DE/2020-03-16_10-13-54-de5a86212cf00ce018440528e68764a4.vtt?Expires=1781701206&amp;Signature=c9bC6HAolGUITFbXqaV~edZ5Gzq5~hhMI9bgcAThfhlY~o8R19S5bAJ8n6fCmLiBAPOLhokcNLrWvSvlyfyBpSVZW1jMMeoKcPO4kpI~zgHis7qBJCjttgeBAZjHsVgiF4WViS8iKMhwVqk~t8DBjGWtDgm3Tnuewt56tMaJsiDCNDKitJTdJD1dHzOYAJlM9yc22ddXlzx~qq3fAltgnF4wtBZDs4ZqJg-9ru3PKB~OdLMRGrYoCABOcDvnqnlGvURcc64a3sExxBNk7EdWArObHeUlKi5x-rEm9EEGH2R0GLVGHj-OOz-mok3SXgLHEohzUbReoiiCi~G61sITlA__&amp;Key-Pair-Id=K3MG148K9RIRF4&quot;,&quot;source&quot;:&quot;auto&quot;,&quot;locale_id&quot;:&quot;de_DE&quot;,&quot;video_label&quot;:&quot;German [Auto]&quot;,&quot;asset_id&quot;:14362396},{&quot;_class&quot;:&quot;caption&quot;,&quot;id&quot;:6243130,&quot;title&quot;:&quot;why-graphql.autogenerated.vtt&quot;,&quot;created&quot;:&quot;2018-10-01T13:18:53&quot;,&quot;file_name&quot;:&quot;2018-10-01_13-18-53-01206415b1aacb957f9119a423b6af29.vtt&quot;,&quot;status&quot;:1,&quot;url&quot;:&quot;https://vtt-c.udemycdn.com/14362396/en_US/2018-10-01_13-18-53-01206415b1aacb957f9119a423b6af29.vtt?Expires=1781701206&amp;Signature=8KMO0AEcmeIzIyqOt-8Y3vFxukcPWvw-yY0YRehdOOogC7T79VU5fY0vjrRaEE~hMJ1XuFsqW70chiehViV473AtRlVoaBXfz0D2eXpjULOhhJB5B4fPymNxSs42QkhmfHfSGa8xUEZbp0nG37eL~ez5bRonDnOFoqRS3RGgpPhjGTzReioS557Xyc18yRpKxQ~JNbKy7fErCLa~THDPb9jRXZ2zd4PT3hrNhFrakPoaXMfpiHpxba-TQSrYq0P9DnUvqhEgskFmyWh37CIf9oqPOPl3ldabzlWiEYJ2rH77GVfb9I-JLef7dLZEO5MrK1wQ8R0Xo8GKcesUL2R-Uw__&amp;Key-Pair-Id=K3MG148K9RIRF4&quot;,&quot;source&quot;:&quot;auto&quot;,&quot;locale_id&quot;:&quot;en_US&quot;,&quot;video_label&quot;:&quot;English [Auto]&quot;,&quot;asset_id&quot;:14362396},{&quot;_class&quot;:&quot;caption&quot;,&quot;id&quot;:8281914,&quot;title&quot;:&quot;why-graphql.autogenerated.vtt&quot;,&quot;created&quot;:&quot;2019-02-19T17:38:43&quot;,&quot;file_name&quot;:&quot;2019-02-19_17-38-43-dbcefe7f6c751afa580b138594bbd817.vtt&quot;,&quot;status&quot;:1,&quot;url&quot;:&quot;https://vtt-c.udemycdn.com/14362396/it_IT/2019-02-19_17-38-43-dbcefe7f6c751afa580b138594bbd817.vtt?Expires=1781701206&amp;Signature=dMIXWrXu~VVDyPaNLCoRi1~gucLX2u2ajkHJL9L8jWlHZZsIAAVpzeSwPy-QH72hjS5749x8VN~QDcjgKDvTS09lcEV-pAEuEeDQTng6FmWGlicSkePLFEou27uPj9ecAUZoMmKUkFOCj5h8CBEhTQ9iv-JNlRztUQZqe14aLpEVk9moVx6u5xSkk~1ktkDGExuvfg4IEtTzZ1eSCn2Hk9ugQBm2EmU-jCiaQWErQDLeoUvv8yubl1akMX0zULmZQ37yU24pUoq3~9MxbngzmpS0mkO8wNud7Tl3z6F7Et4H0EEbUp7aHEZJgxb1WXdrv7ANXXpOAF3zKdgoDvLXtw__&amp;Key-Pair-Id=K3MG148K9RIRF4&quot;,&quot;source&quot;:&quot;auto&quot;,&quot;locale_id&quot;:&quot;it_IT&quot;,&quot;video_label&quot;:&quot;Italian [Auto]&quot;,&quot;asset_id&quot;:14362396},{&quot;_class&quot;:&quot;caption&quot;,&quot;id&quot;:8581772,&quot;title&quot;:&quot;why-graphql.autogenerated.vtt&quot;,&quot;created&quot;:&quot;2019-02-27T14:51:41&quot;,&quot;file_name&quot;:&quot;2019-02-27_14-51-41-86ccbab26128c32390006aa92065eeb0.vtt&quot;,&quot;status&quot;:1,&quot;url&quot;:&quot;https://vtt-c.udemycdn.com/14362396/id_ID/2019-02-27_14-51-41-86ccbab26128c32390006aa92065eeb0.vtt?Expires=1781701206&amp;Signature=ab1AdvQ7VdRPXpyVG4Le1F4sSDSsxA74UIIUkaaDY4PWla-cO6RV5z4jkxOc86Rl6DbHlg7zUkloIuSO5rW4Amf4ZeKgTkiz~0fGncXpBAFMfN9ny7zllwbcQ2cW1SuIhdn8gObaPcrviH~YAQuaCclUzKAZZoDLjYf45W5AEXanJ96F2~LNsJH2npaGQJLO~zG1r76srBU3QGpe1xiGQ-b6nlJMU4BXE3cnrrudhUBaSlKTuu4fZIRsW22eRT4b2v9~iWtxCmvAuWOunMDJm0me8YclQL08ZMFnAT-j6uyLf9XkWF5rfu4q5RBGFdt1IyswBNSYaVaBUnSDdcVNBQ__&amp;Key-Pair-Id=K3MG148K9RIRF4&quot;,&quot;source&quot;:&quot;auto&quot;,&quot;locale_id&quot;:&quot;id_ID&quot;,&quot;video_label&quot;:&quot;Indonesian [Auto]&quot;,&quot;asset_id&quot;:14362396},{&quot;_class&quot;:&quot;caption&quot;,&quot;id&quot;:6882267,&quot;title&quot;:&quot;why-graphql.autogenerated.vtt&quot;,&quot;created&quot;:&quot;2018-11-30T22:12:17&quot;,&quot;file_name&quot;:&quot;2018-11-30_22-12-17-9921566bbca85acbfd922211cc8e0290.vtt&quot;,&quot;status&quot;:1,&quot;url&quot;:&quot;https://vtt-c.udemycdn.com/14362396/ro_RO/2018-11-30_22-12-17-9921566bbca85acbfd922211cc8e0290.vtt?Expires=1781701206&amp;Signature=Kt01GwU1fUKtVEYDj8V6f2b~U2H703TOdIQHRMC42LAKutpZ9JSruH4bnPvR5iGY6nd2PrtdKKFhS9Jzb1JkiucB3l~0nsUFqR74qUDePp7Tuj~ny-eLk3srrO8Enf1tE83z-mTiMVHJdd6F19w763XRBd0Jpx757M8NEV6hh99fTCckF54M4S3t3fPyJHjfKzFTCL-AafZqugcy6XpGXphPrX02WBekwsVKAZlKbN9Xwz8umAaDmDm4NqU6qoLK4rSVZmAhOvC~daU-WJ-tOV11Yq6aHKbd7TNxCsdUPjQtO6coos6nnLigllczkZXvdloiBWWGuvT6AeVTBSPbDQ__&amp;Key-Pair-Id=K3MG148K9RIRF4&quot;,&quot;source&quot;:&quot;auto&quot;,&quot;locale_id&quot;:&quot;ro_RO&quot;,&quot;video_label&quot;:&quot;Romanian [Auto]&quot;,&quot;asset_id&quot;:14362396},{&quot;_class&quot;:&quot;caption&quot;,&quot;id&quot;:57328275,&quot;title&quot;:&quot;why-graphql.autogenerated.vtt&quot;,&quot;created&quot;:&quot;2025-10-24T12:24:22&quot;,&quot;file_name&quot;:&quot;2025-10-24_12-24-22-9f62a2bc2229ffd51804f0c942e0b392.vtt&quot;,&quot;status&quot;:1,&quot;url&quot;:&quot;https://vtt-c.udemycdn.com/14362396/da_DK/2025-10-24_12-24-22-9f62a2bc2229ffd51804f0c942e0b392.vtt?Expires=1781701206&amp;Signature=Qv-MRqTPsZzNYOMXR2DO6WZ9Y7PhDZ-3gIN0cfpFtWbGgRW2-Nxd9LN3aO0ykXU9ChcgDslpZPMWputnPKHpWIwGD6BcCpbL9bmixSp2Da~XYPKEagpAvPjPlkfSawAgd8GM8rRzw-QMyrrhsNH8i9wCIC~qkfcL4D9qGCXzyWZL7exePQYPJK-mJEUhC1pcEq~UIkMB6ylWeCgj3KbE1Hz1OnU6GumGqJofz9hxp1tfsritSggMWmbJv99R6q1Bg0OUebfsU5DC04KUGA7LJAATDJuVXMKQFcbNJuUakgAzaSxQUBT6l66t0G0ZeghP0kLANEP0Jz-W4vPZW2jBJA__&amp;Key-Pair-Id=K3MG148K9RIRF4&quot;,&quot;source&quot;:&quot;auto&quot;,&quot;locale_id&quot;:&quot;da_DK&quot;,&quot;video_label&quot;:&quot;Danish [Auto]&quot;,&quot;asset_id&quot;:14362396},{&quot;_class&quot;:&quot;caption&quot;,&quot;id&quot;:8262218,&quot;title&quot;:&quot;why-graphql.autogenerated.vtt&quot;,&quot;created&quot;:&quot;2019-02-19T15:20:24&quot;,&quot;file_name&quot;:&quot;2019-02-19_15-20-24-a3161174057dec082adc539ef2758486.vtt&quot;,&quot;status&quot;:1,&quot;url&quot;:&quot;https://vtt-c.udemycdn.com/14362396/th_TH/2019-02-19_15-20-24-a3161174057dec082adc539ef2758486.vtt?Expires=1781701206&amp;Signature=rtvDlGyjqyRtuIBd1VC~GZBYKB3qkXjLvmvhD6~aI~JgwsqpzIPaXL07ctvB1x2IfXbY-5bOBBKfkzO8KBTb-~WdcBJ3S0SBJEI4-VVpQn9u4wEaEGEmDcbEyGe7kfJNI5eLTEIZLcE7I4Oq05Dd-G~EzjfSxIHT54dZbwaarUtXd8n2G2BjGvqfkpbJAC3~M2DbN2lrixUMntIlRsyh4NxHin1xZKxuLrPpHEr4YXlKITwDdxfdiAUo1EIOE78ZyeuERWPCh29Hg7r3K~Hla902eVOq72cPVi9GowERcq7cjDc10c22x4oIk5Ik2qMqQpl0xTAEgn4tQcF-6ctkmA__&amp;Key-Pair-Id=K3MG148K9RIRF4&quot;,&quot;source&quot;:&quot;auto&quot;,&quot;locale_id&quot;:&quot;th_TH&quot;,&quot;video_label&quot;:&quot;Thai [Auto]&quot;,&quot;asset_id&quot;:14362396},{&quot;_class&quot;:&quot;caption&quot;,&quot;id&quot;:14660892,&quot;title&quot;:&quot;why-graphql.autogenerated.vtt&quot;,&quot;created&quot;:&quot;2020-03-16T17:58:03&quot;,&quot;file_name&quot;:&quot;2020-03-16_17-58-03-06550ea1b9451813296745137dc265dd.vtt&quot;,&quot;status&quot;:1,&quot;url&quot;:&quot;https://vtt-c.udemycdn.com/14362396/es_ES/2020-03-16_17-58-03-06550ea1b9451813296745137dc265dd.vtt?Expires=1781701206&amp;Signature=N8adGvqOGVVF76cbYt1khr4jTtMRior9G0-4sVL-wG9~0kHLkD5kbNH95ex6dGuudoxKQ1x0iRW2~FVlprZqAPFu0C8z7oUcsVoIqMCpLXXCtfCbSBW9mJoRHsLQZN0zhxha4yDKqYTiNS22C6C57WmHzyTVoMT5xE48YP~pzRqULhTtB8lzUd2zv5UPP--OAqiWFtU8EVGHqlPXkKA9xOLzyZvzga25nj7UIClQUFUineOICqqf~ptCkhUHXLz-K6Mp6-ShdTWNFMw46MLOrWFwpLPZGl5ZUSoLr0eXptt30kg3gwmJb4jXaXS8HG5oTgZ-24E~-Kq4-fdCXnd8QQ__&amp;Key-Pair-Id=K3MG148K9RIRF4&quot;,&quot;source&quot;:&quot;auto&quot;,&quot;locale_id&quot;:&quot;es_ES&quot;,&quot;video_label&quot;:&quot;Spanish [Auto]&quot;,&quot;asset_id&quot;:14362396},{&quot;_class&quot;:&quot;caption&quot;,&quot;id&quot;:7206948,&quot;title&quot;:&quot;why-graphql.autogenerated.vtt&quot;,&quot;created&quot;:&quot;2018-12-13T15:01:05&quot;,&quot;file_name&quot;:&quot;2018-12-13_15-01-05-46568d2385013bb0158e9efd19c50b50.vtt&quot;,&quot;status&quot;:1,&quot;url&quot;:&quot;https://vtt-c.udemycdn.com/14362396/pl_PL/2018-12-13_15-01-05-46568d2385013bb0158e9efd19c50b50.vtt?Expires=1781701206&amp;Signature=zYtx9q8Rw7Rr0ApiVty9Wo2p0YxcOwW6Eur3jMVA6Nc9anjtIspXS0~LpdqZQr6ma1R5SbhIFBmVZ3Nx1hqUJ-n~kMjapDlBXoM-d6QcoRydjEVfAg6AJjS1qjLWPEvL22mHGQg9Pqo3REE614sR9tAyhNzL3b1A2JhMKZ3g6paOz9atqCcTb1MrdveTxUvYp21Fj3lXrsLaokIL8OxlQozlQWpKWmAMWyojNA2wY7yX9V~yl-vFrIWsA9IePCsxtWOtinx7GOfbWC1nC2qXykLtRfU20V7jrUJOtQlH3ya96amoXrfSW2E3TF1xWZ2fx3xgRLmJ7mKGd~9cXNPG1w__&amp;Key-Pair-Id=K3MG148K9RIRF4&quot;,&quot;source&quot;:&quot;auto&quot;,&quot;locale_id&quot;:&quot;pl_PL&quot;,&quot;video_label&quot;:&quot;Polish [Auto]&quot;,&quot;asset_id&quot;:14362396},{&quot;_class&quot;:&quot;caption&quot;,&quot;id&quot;:14856178,&quot;title&quot;:&quot;why-graphql.autogenerated.vtt&quot;,&quot;created&quot;:&quot;2020-03-19T10:37:39&quot;,&quot;file_name&quot;:&quot;2020-03-19_10-37-39-cdc940716304298d15bf407df675cffb.vtt&quot;,&quot;status&quot;:1,&quot;url&quot;:&quot;https://vtt-c.udemycdn.com/14362396/pt_BR/2020-03-19_10-37-39-cdc940716304298d15bf407df675cffb.vtt?Expires=1781701206&amp;Signature=aVnRYZeJjpMCNk~tBfbMFEGLTq2YYeqX9TNPUjoFyPKSUbO2g5O0dipEe5nWAqzlcpoDGIselXSxRq-ObkjVLj3soVtLw4vM7SFKjgIe4GVIRBIkPUMMf~MhzccHEj~EUs~TnR-n8vkVBdCe0pn8pNEAdzM9Hj5CbmprN5xR8AgtfMVA2A7B-bCe8c1VMlHK~ym0M6P-6n~WeIFXrBTQEIFGA1FIZiQr545U8Pys2~jYyeFVBrKfhvDqh7i2~cI8PzFZM8qU5GzXPIYuEdQFBJmo7kTQNQLGmvFB63OnWskP7jqr1DpgAJitUETzXC-3fPJv2m-GGcTd9ZsKHBvyhQ__&amp;Key-Pair-Id=K3MG148K9RIRF4&quot;,&quot;source&quot;:&quot;auto&quot;,&quot;locale_id&quot;:&quot;pt_BR&quot;,&quot;video_label&quot;:&quot;Portuguese [Auto]&quot;,&quot;asset_id&quot;:14362396},{&quot;_class&quot;:&quot;caption&quot;,&quot;id&quot;:14709606,&quot;title&quot;:&quot;why-graphql.autogenerated.vtt&quot;,&quot;created&quot;:&quot;2020-03-17T11:53:16&quot;,&quot;file_name&quot;:&quot;2020-03-17_11-53-16-3369dd1bc082b305db765cadb273f1ed.vtt&quot;,&quot;status&quot;:1,&quot;url&quot;:&quot;https://vtt-c.udemycdn.com/14362396/fr_FR/2020-03-17_11-53-16-3369dd1bc082b305db765cadb273f1ed.vtt?Expires=1781701206&amp;Signature=rispEHIZJ3MSFP2zEsOJ3OeQQ15vCfZ67IJ4lR5YXguAuQ67qobd3q-j9gqJUzDXGsVHfo-QBhuh7jWP-9858SraZ6r6OFELpcZ95RI2nYVLe-faJSHUYnhVAciF0BNumZtwjCyQtfUCfl75yVDtBA5EA3jFH02Ub16JyCkXRNOkSnOBekGsRLpePg3muPVt1ukQMPpBDDHzXWt~4fUlKTM3ViQ7GIPKR6ModFm18rUqWkH7gBmbUGY4nqKSGc4eSU7sKsnVIYM7datuxNDZuKjNHeSYjDHKVXPJMIFIq9ndk69gG-M3hfezcOxtU8h~FTBg7~QLGSoBsbD9oLO39A__&amp;Key-Pair-Id=K3MG148K9RIRF4&quot;,&quot;source&quot;:&quot;auto&quot;,&quot;locale_id&quot;:&quot;fr_FR&quot;,&quot;video_label&quot;:&quot;French [Auto]&quot;,&quot;asset_id&quot;:14362396}],&quot;time_estimation&quot;:788,&quot;thumbnail_sprite&quot;:{&quot;vtt_url&quot;:&quot;https://mp4-c.udemycdn.com/2018-09-18_22-49-37-2b767c950fc8a82bd244483b94acefe2/thumb-sprites.vtt?Expires=1781701206&amp;Signature=7xzZeM~iEJJxbjVuxyxLgMWVUIV5AQwccfl1Fp8PXSVSakNHiRzkhrgNvg4192c88f~bY9l3ccZ9jpkMLDZ65oNxZIJKWGd3HTgfwzl3gya8-2GIU0j1HeWhW6EyIzXOdMwUXqll~~DzqLH3C6-lOOagmubQ-32TiYpef3u868znhNOqHQTN1UWGMhMMyp5JNS9KaBo1qLKusyRCpHVWmEqGeD60J9Iwd90jMw5~2weZR3~OiKiEW318MKgRe6BbIWdnB3CzUnpKPaQB~jVdE5V~73znARJJFvfbtYkP0ZE9tSzwmnuA3xKrD9gXASDhizqqvW0-Cz-36yiH7PUREg__&amp;Key-Pair-Id=K3MG148K9RIRF4&quot;,&quot;img_url&quot;:&quot;https://mp4-c.udemycdn.com/2018-09-18_22-49-37-2b767c950fc8a82bd244483b94acefe2/thumb-sprites.jpg?Expires=1781701206&amp;Signature=YEIl~I3M1SU6gxTzEwNsrt8PMKKlPjddtTHnOzo0bMrcoFepxh08LuKGKWCog6FbvgfoIrYgOwuFGzeIEkREM4jDWQujPUXZSAGj~Kp-fLMpY-~KhvWjKn8fp8k1h3qELJ~16m087DnCZpuqDcWjqg0~fDSvtm1xz9JkVf1-gbiNaoYwI~EQvGD6rtWlYK3cJRvPqBxQBaK2O4yUEdfcyk6LuKtLnlsiUcqLjAJf1kZs030DwR0hQC2l2IIxLSZOnNRaMiVtaZlTvw8SIq6iXcdi1pRd-e5p2nAiZJWcCmVgMTMl4aczEkKRSuFGIO1BGgxlwV2X7G~P4K-toToh-A__&amp;Key-Pair-Id=K3MG148K9RIRF4&quot;}},&quot;course&quot;:{&quot;_class&quot;:&quot;course&quot;,&quot;id&quot;:1720558,&quot;title&quot;:&quot;The Modern GraphQL Bootcamp (with Node.js and Apollo)&quot;,&quot;url&quot;:&quot;/course/graphql-bootcamp/&quot;,&quot;is_paid&quot;:true,&quot;price&quot;:&quot;\u20b93,279.00&quot;,&quot;price_detail&quot;:{&quot;amount&quot;:&quot;3279.00&quot;,&quot;currency&quot;:&quot;INR&quot;,&quot;price_string&quot;:&quot;\u20b93,279.00&quot;,&quot;currency_symbol&quot;:&quot;\u20b9&quot;},&quot;price_serve_tracking_id&quot;:&quot;xTE3R6FwTJK5wm8a9J-WXA&quot;,&quot;visible_instructors&quot;:[{&quot;_class&quot;:&quot;user&quot;,&quot;id&quot;:7231684,&quot;title&quot;:&quot;Andrew Mead&quot;,&quot;name&quot;:&quot;Andrew&quot;,&quot;display_name&quot;:&quot;Andrew Mead&quot;,&quot;job_title&quot;:&quot;A Full-stack Developer &amp; Teacher&quot;,&quot;image_50x50&quot;:&quot;https://img-c.udemycdn.com/user/50x50/7231684_bc0d_5.jpg&quot;,&quot;image_100x100&quot;:&quot;https://img-c.udemycdn.com/user/100x100/7231684_bc0d_5.jpg&quot;,&quot;initials&quot;:&quot;AM&quot;,&quot;url&quot;:&quot;/user/andrewmead/&quot;}],&quot;image_125_H&quot;:&quot;https://img-c.udemycdn.com/course/125_H/1720558_d57e.jpg&quot;,&quot;image_240x135&quot;:&quot;https://img-c.udemycdn.com/course/240x135/1720558_d57e.jpg&quot;,&quot;is_practice_test_course&quot;:false,&quot;image_480x270&quot;:&quot;https://img-c.udemycdn.com/course/480x270/1720558_d57e.jpg&quot;,&quot;published_title&quot;:&quot;graphql-bootcamp&quot;,&quot;tracking_id&quot;:&quot;4uoDrrf9ROyBEaYTsa2slQ&quot;,&quot;locale&quot;:{&quot;_class&quot;:&quot;locale&quot;,&quot;locale&quot;:&quot;en_US&quot;,&quot;title&quot;:&quot;English (US)&quot;,&quot;english_title&quot;:&quot;English (US)&quot;,&quot;simple_english_title&quot;:&quot;English&quot;},&quot;headline&quot;:&quot;Learn how to build GraphQL applications using Node.js. Includes Prisma v1, authentication, Apollo Client, and more!&quot;,&quot;discount&quot;:{&quot;price_serve_tracking_id&quot;:&quot;xTE3R6FwTJK5wm8a9J-WXA&quot;,&quot;price&quot;:{&quot;amount&quot;:&quot;509.00&quot;,&quot;currency&quot;:&quot;INR&quot;,&quot;price_string&quot;:&quot;\u20b9509.00&quot;,&quot;currency_symbol&quot;:&quot;\u20b9&quot;},&quot;list_price&quot;:{&quot;amount&quot;:&quot;3279.00&quot;,&quot;currency&quot;:&quot;INR&quot;,&quot;price_string&quot;:&quot;\u20b93,279.00&quot;,&quot;currency_symbol&quot;:&quot;\u20b9&quot;},&quot;saving_price&quot;:{&quot;amount&quot;:&quot;2770.00&quot;,&quot;currency&quot;:&quot;INR&quot;,&quot;price_string&quot;:&quot;\u20b92,770.00&quot;,&quot;currency_symbol&quot;:&quot;\u20b9&quot;},&quot;has_discount_saving&quot;:true,&quot;discount_percent&quot;:84,&quot;discount_percent_for_display&quot;:84,&quot;buyable&quot;:{&quot;id&quot;:1720558,&quot;type&quot;:&quot;course&quot;},&quot;campaign&quot;:{&quot;code&quot;:&quot;MT260615G2A1&quot;,&quot;end_time&quot;:&quot;2026-06-18T18:30:00Z&quot;,&quot;is_instructor_created&quot;:false,&quot;is_public&quot;:true,&quot;start_time&quot;:&quot;2026-06-15T07:00:00Z&quot;,&quot;campaign_type&quot;:&quot;deal&quot;,&quot;uses_remaining&quot;:null,&quot;maximum_uses&quot;:null,&quot;show_code&quot;:true},&quot;code&quot;:&quot;MT260615G2A1&quot;,&quot;is_public&quot;:true},&quot;rating&quot;:4.449652,&quot;num_reviews&quot;:5780,&quot;num_published_lectures&quot;:118,&quot;num_published_practice_tests&quot;:0,&quot;image_50x50&quot;:&quot;https://img-c.udemycdn.com/course/50x50/1720558_d57e.jpg&quot;,&quot;image_100x100&quot;:&quot;https://img-c.udemycdn.com/course/100x100/1720558_d57e.jpg&quot;,&quot;caption_languages&quot;:[&quot;English [Auto]&quot;,&quot;Danish [Auto]&quot;,&quot;French [Auto]&quot;,&quot;German [Auto]&quot;,&quot;Indonesian [Auto]&quot;,&quot;Italian [Auto]&quot;,&quot;Polish [Auto]&quot;,&quot;Portuguese [Auto]&quot;,&quot;Spanish [Auto]&quot;,&quot;Thai [Auto]&quot;],&quot;instructional_level_simple&quot;:&quot;Beginner&quot;,&quot;content_info&quot;:&quot;23.5 total hours&quot;,&quot;content_length_practice_test_questions&quot;:0,&quot;objectives_summary&quot;:[&quot;Learn and master GraphQL by building real-world Node applications.&quot;,&quot;Use Prisma v1 to store and access data from a production database.&quot;,&quot;Use Apollo Client to communicate with GraphQL from your web app.&quot;],&quot;bestseller_badge_content&quot;:null,&quot;badges&quot;:[]},&quot;subcategoryId&quot;:12,&quot;pageType&quot;:&quot;llp&quot;,&quot;type&quot;:&quot;llp&quot;,&quot;topicTitle&quot;:&quot;&quot;}"
    data-llp-lecture-id="11838176"
>

        

        

        <div class="ud-main-content-wrapper">
            
                
                    
                    <div class="ud-app-loader ud-component--header-v6--header ud-header"
                         data-module-id="common/desktop"
                         data-module-args="{&quot;isLoggedIn&quot;:true,&quot;isInstructorSignupEnabled&quot;:false,&quot;mobileAppLink&quot;:{&quot;url&quot;:&quot;/mobile/&quot;},&quot;shouldEnableAIAssistant&quot;:false,&quot;tryUFBPlacements&quot;:{&quot;bar&quot;:&quot;logged-in-nav&quot;,&quot;mobile&quot;:&quot;logged-in-nav&quot;,&quot;profile&quot;:&quot;account-menu&quot;},&quot;currentLocale&quot;:&quot;en_US&quot;,&quot;searchPhrase&quot;:null,&quot;persistentSearch&quot;:false,&quot;headerExperimentFeatures&quot;:{&quot;changeAutocompleteLabel&quot;:false,&quot;autocompleteLabel&quot;:&quot;Search for anything&quot;,&quot;searchInputMWebAutoFocus&quot;:false,&quot;showOptimizedSearchHeaderMWeb&quot;:false,&quot;showOptimizedSearchHeaderMWebv2&quot;:false},&quot;showTwoRowSearchBarMX&quot;:&quot;OLD_BAR&quot;}"
                         data-module-priority="-10"><div data-unique-id="200" style="display:none"></div><div class="desktop-header-module--mobile-header--EaZjO"><div data-testid="mobile-header-placeholder" class="desktop-header-module--mobile-header-placeholder--X9vRI"></div></div><span class="desktop-header-module--mark--adaV7" data-testid="desktop-top-mark"></span><header class="ud-header ud-text-sm desktop-header-module--header--a5wri desktop-header-module--flex-middle--k0Teb" data-purpose="header" data-testid="desktop-header"><nav aria-labelledby="u200-skip-to-content-btn--1" class="skip-to-content-button-module--skip-to-content--MnPe4"><a id="u200-skip-to-content-btn--1" class="ud-btn ud-btn-medium ud-btn-primary ud-btn-text-sm skip-to-content-button-module--skip-to-content-btn--iM4H1" href="#main-content-anchor"><span aria-hidden="true" class="skip-to-content-button-module--skip-to-content-shadow--eue1a"></span><span style="margin:0">Skip to content</span></a></nav><a href="/" class="desktop-header-module--flex-middle--k0Teb desktop-header-module--logo--AwnFF"><img src="https://www.udemy.com/staticx/udemy/images/v7/logo-udemy.svg" alt="Udemy" width="91" height="34" loading="lazy"/></a><nav class="popper-module--popper--mM5Ie desktop-header-module--gap-button--4drhI browse-nav-module--placeholder-header-button--vj3Mz" aria-label="Categories"><div class="browse-nav-module--placeholder-header-button--vj3Mz" id="u200-popper-trigger--2" aria-expanded="false" tabindex="0">Categories</div><div class="popper-module--popper-content--XE9z5 desktop-header-module--dropdown--pZls3" id="u200-popper-content--3" aria-labelledby="u200-popper-trigger--2" data-testid="popup" style="top:100%;inset-inline-start:0"><div class="popper-module--animation-wrapper--tM0UK"><div class="popover-module--popover--HrSFz popover-module--popover-bottom--1ghkR"><div class="popover-module--inner--yQvGI"><div class="list-menu-module--list-menu-container--8oKTW browse-nav-module--nav-container--JbVc5" data-testid="browse-nav"><div class="js-browse-nav-level-one browse-nav-module--nav--0Iif6" data-testid="browse-nav-list"><ul class="ud-unstyled-list ud-block-list list-menu-module--section--l6I-M"><li><div class="list-menu-module--item--OY-R6 ud-block-list-item ud-block-list-item-small ud-block-list-item-neutral ud-text-sm"><div class="ud-block-list-item-content ud-block-list-item-content-loading"> </div></div></li><li><div class="list-menu-module--item--OY-R6 ud-block-list-item ud-block-list-item-small ud-block-list-item-neutral ud-text-sm"><div class="ud-block-list-item-content ud-block-list-item-content-loading"> </div></div></li><li><div class="list-menu-module--item--OY-R6 ud-block-list-item ud-block-list-item-small ud-block-list-item-neutral ud-text-sm"><div class="ud-block-list-item-content ud-block-list-item-content-loading"> </div></div></li><li><div class="list-menu-module--item--OY-R6 ud-block-list-item ud-block-list-item-small ud-block-list-item-neutral ud-text-sm"><div class="ud-block-list-item-content ud-block-list-item-content-loading"> </div></div></li><li><div class="list-menu-module--item--OY-R6 ud-block-list-item ud-block-list-item-small ud-block-list-item-neutral ud-text-sm"><div class="ud-block-list-item-content ud-block-list-item-content-loading"> </div></div></li><li><div class="list-menu-module--item--OY-R6 ud-block-list-item ud-block-list-item-small ud-block-list-item-neutral ud-text-sm"><div class="ud-block-list-item-content ud-block-list-item-content-loading"> </div></div></li><li><div class="list-menu-module--item--OY-R6 ud-block-list-item ud-block-list-item-small ud-block-list-item-neutral ud-text-sm"><div class="ud-block-list-item-content ud-block-list-item-content-loading"> </div></div></li><li><div class="list-menu-module--item--OY-R6 ud-block-list-item ud-block-list-item-small ud-block-list-item-neutral ud-text-sm"><div class="ud-block-list-item-content ud-block-list-item-content-loading"> </div></div></li><li><div class="list-menu-module--item--OY-R6 ud-block-list-item ud-block-list-item-small ud-block-list-item-neutral ud-text-sm"><div class="ud-block-list-item-content ud-block-list-item-content-loading"> </div></div></li><li><div class="list-menu-module--item--OY-R6 ud-block-list-item ud-block-list-item-small ud-block-list-item-neutral ud-text-sm"><div class="ud-block-list-item-content ud-block-list-item-content-loading"> </div></div></li><li><div class="list-menu-module--item--OY-R6 ud-block-list-item ud-block-list-item-small ud-block-list-item-neutral ud-text-sm"><div class="ud-block-list-item-content ud-block-list-item-content-loading"> </div></div></li><li><div class="list-menu-module--item--OY-R6 ud-block-list-item ud-block-list-item-small ud-block-list-item-neutral ud-text-sm"><div class="ud-block-list-item-content ud-block-list-item-content-loading"> </div></div></li><li><div class="list-menu-module--item--OY-R6 ud-block-list-item ud-block-list-item-small ud-block-list-item-neutral ud-text-sm"><div class="ud-block-list-item-content ud-block-list-item-content-loading"> </div></div></li></ul></div><div id="header-browse-nav-level-two" class="js-browse-nav-level-two browse-nav-module--nav--0Iif6" style="display:none" data-testid="browse-nav-list"></div><div id="header-browse-nav-level-three" class="js-browse-nav-level-three browse-nav-module--nav--0Iif6" style="display:none" data-testid="browse-nav-list"></div></div></div></div></div></div></nav><div locale="en_US" lang="en" direction="ltr" class="ud-search-form-autocomplete desktop-header-module--search-bar--49122 ud-form-group"><label class="ud-sr-only ud-form-label ud-heading-sm" for="u200-search-form-autocomplete--4">Search for anything</label><form action="/courses/search/" class="ud-search-form-autocomplete-input-group ud-search-form-autocomplete-input-group-reversed"><input type="hidden" name="src" value="ukw"/><input type="text" aria-invalid="false" name="q" data-testid="search-input" placeholder="Search for anything" autoComplete="off" value="" role="combobox" aria-autocomplete="both" aria-haspopup="true" aria-expanded="false" id="u200-search-form-autocomplete--4" class="ud-text-input ud-text-input-small ud-text-sm ud-search-form-autocomplete-input js-header-search-field"/><button type="submit" disabled="" class="ud-btn ud-btn-medium ud-btn-ghost ud-btn-text-sm ud-btn-disabled ud-btn-icon ud-btn-icon-medium" tabindex="-1"><svg aria-label="Submit search" role="img" focusable="false" class="ud-icon ud-icon-small ud-icon-color-neutral"><use xlink:href="#icon-search"></use></svg></button></form></div><div style="flex:1"></div></header><div data-testid="seo-links"><nav aria-label="SEO links" aria-hidden="true" class="seo-links-module--seo-nav--w7M3w"></nav></div></div>
                

                
                
                    





    <nav aria-hidden="true" style="position:fixed;top:0;left:-28rem;width:28rem;height:100%;">
        
            <a data-id="288" class="js-side-nav-cat" href="/courses/development/" tabindex="-1">Development</a>
            <div>
                
                    
                        <a data-id="8" class="js-side-nav-cat js-subcat" href="/courses/development/web-development/" tabindex="-1">Web Development</a>
                    
                
                    
                        <a data-id="558" class="js-side-nav-cat js-subcat" href="/courses/development/data-science/" tabindex="-1">Data Science</a>
                    
                
                    
                        <a data-id="10" class="js-side-nav-cat js-subcat" href="/courses/development/mobile-apps/" tabindex="-1">Mobile Development</a>
                    
                
                    
                        <a data-id="12" class="js-side-nav-cat js-subcat" href="/courses/development/programming-languages/" tabindex="-1">Programming Languages</a>
                    
                
                    
                        <a data-id="14" class="js-side-nav-cat js-subcat" href="/courses/development/game-development/" tabindex="-1">Game Development</a>
                    
                
                    
                        <a data-id="16" class="js-side-nav-cat js-subcat" href="/courses/development/databases/" tabindex="-1">Database Design &amp; Development</a>
                    
                
                    
                        <a data-id="18" class="js-side-nav-cat js-subcat" href="/courses/development/software-testing/" tabindex="-1">Software Testing</a>
                    
                
                    
                        <a data-id="20" class="js-side-nav-cat js-subcat" href="/courses/development/software-engineering/" tabindex="-1">Software Engineering</a>
                    
                
                    
                        <a data-id="362" class="js-side-nav-cat js-subcat" href="/courses/development/development-tools/" tabindex="-1">Software Development Tools</a>
                    
                
                    
                        <a data-id="575" class="js-side-nav-cat js-subcat" href="/courses/development/no-code-development/" tabindex="-1">No-Code Development</a>
                    
                
            </div>
        
            <a data-id="268" class="js-side-nav-cat" href="/courses/business/" tabindex="-1">Business</a>
            <div>
                
                    
                        <a data-id="26" class="js-side-nav-cat js-subcat" href="/courses/business/entrepreneurship/" tabindex="-1">Entrepreneurship</a>
                    
                
                    
                        <a data-id="28" class="js-side-nav-cat js-subcat" href="/courses/business/communications/" tabindex="-1">Communication</a>
                    
                
                    
                        <a data-id="30" class="js-side-nav-cat js-subcat" href="/courses/business/management/" tabindex="-1">Management</a>
                    
                
                    
                        <a data-id="32" class="js-side-nav-cat js-subcat" href="/courses/business/sales/" tabindex="-1">Sales</a>
                    
                
                    
                        <a data-id="34" class="js-side-nav-cat js-subcat" href="/courses/business/strategy/" tabindex="-1">Business Strategy</a>
                    
                
                    
                        <a data-id="36" class="js-side-nav-cat js-subcat" href="/courses/business/operations/" tabindex="-1">Operations</a>
                    
                
                    
                        <a data-id="38" class="js-side-nav-cat js-subcat" href="/courses/business/project-management/" tabindex="-1">Project Management</a>
                    
                
                    
                        <a data-id="40" class="js-side-nav-cat js-subcat" href="/courses/business/business-law/" tabindex="-1">Business Law</a>
                    
                
                    
                        <a data-id="44" class="js-side-nav-cat js-subcat" href="/courses/business/analytics-and-intelligence/" tabindex="-1">Business Analytics &amp; Intelligence</a>
                    
                
                    
                        <a data-id="48" class="js-side-nav-cat js-subcat" href="/courses/business/human-resources/" tabindex="-1">Human Resources</a>
                    
                
                    
                        <a data-id="50" class="js-side-nav-cat js-subcat" href="/courses/business/industry/" tabindex="-1">Industry</a>
                    
                
                    
                        <a data-id="354" class="js-side-nav-cat js-subcat" href="/courses/business/e-commerce/" tabindex="-1">E-Commerce</a>
                    
                
                    
                        <a data-id="52" class="js-side-nav-cat js-subcat" href="/courses/business/media/" tabindex="-1">Media</a>
                    
                
                    
                        <a data-id="58" class="js-side-nav-cat js-subcat" href="/courses/business/real-estate/" tabindex="-1">Real Estate</a>
                    
                
                    
                        <a data-id="60" class="js-side-nav-cat js-subcat" href="/courses/business/other-business/" tabindex="-1">Other Business</a>
                    
                
            </div>
        
            <a data-id="328" class="js-side-nav-cat" href="/courses/finance-and-accounting/" tabindex="-1">Finance &amp; Accounting</a>
            <div>
                
                    
                        <a data-id="530" class="js-side-nav-cat js-subcat" href="/courses/finance-and-accounting/accounting-bookkeeping/" tabindex="-1">Accounting &amp; Bookkeeping</a>
                    
                
                    
                        <a data-id="532" class="js-side-nav-cat js-subcat" href="/courses/finance-and-accounting/compliance/" tabindex="-1">Compliance</a>
                    
                
                    
                        <a data-id="534" class="js-side-nav-cat js-subcat" href="/courses/finance-and-accounting/cryptocurrency-and-blockchain/" tabindex="-1">Cryptocurrency &amp; Blockchain</a>
                    
                
                    
                        <a data-id="536" class="js-side-nav-cat js-subcat" href="/courses/finance-and-accounting/economics/" tabindex="-1">Economics</a>
                    
                
                    
                        <a data-id="540" class="js-side-nav-cat js-subcat" href="/courses/finance-and-accounting/finance-management/" tabindex="-1">Finance</a>
                    
                
                    
                        <a data-id="542" class="js-side-nav-cat js-subcat" href="/courses/finance-and-accounting/finance-certification-and-exam-prep/" tabindex="-1">Finance Cert &amp; Exam Prep</a>
                    
                
                    
                        <a data-id="544" class="js-side-nav-cat js-subcat" href="/courses/finance-and-accounting/financial-modeling-and-analysis/" tabindex="-1">Financial Modeling &amp; Analysis</a>
                    
                
                    
                        <a data-id="546" class="js-side-nav-cat js-subcat" href="/courses/finance-and-accounting/investing-and-trading/" tabindex="-1">Investing &amp; Trading</a>
                    
                
                    
                        <a data-id="548" class="js-side-nav-cat js-subcat" href="/courses/finance-and-accounting/money-management-tools/" tabindex="-1">Money Management Tools</a>
                    
                
                    
                        <a data-id="550" class="js-side-nav-cat js-subcat" href="/courses/finance-and-accounting/taxes/" tabindex="-1">Taxes</a>
                    
                
                    
                        <a data-id="552" class="js-side-nav-cat js-subcat" href="/courses/finance-and-accounting/other-finance-and-accounting/" tabindex="-1">Other Finance &amp; Accounting</a>
                    
                
            </div>
        
            <a data-id="294" class="js-side-nav-cat" href="/courses/it-and-software/" tabindex="-1">IT &amp; Software</a>
            <div>
                
                    
                        <a data-id="132" class="js-side-nav-cat js-subcat" href="/courses/it-and-software/it-certification/" tabindex="-1">IT Certifications</a>
                    
                
                    
                        <a data-id="134" class="js-side-nav-cat js-subcat" href="/courses/it-and-software/network-and-security/" tabindex="-1">Network &amp; Security</a>
                    
                
                    
                        <a data-id="136" class="js-side-nav-cat js-subcat" href="/courses/it-and-software/hardware/" tabindex="-1">Hardware</a>
                    
                
                    
                        <a data-id="138" class="js-side-nav-cat js-subcat" href="/courses/it-and-software/operating-systems/" tabindex="-1">Operating Systems &amp; Servers</a>
                    
                
                    
                        <a data-id="140" class="js-side-nav-cat js-subcat" href="/courses/it-and-software/other-it-and-software/" tabindex="-1">Other IT &amp; Software</a>
                    
                
            </div>
        
            <a data-id="292" class="js-side-nav-cat" href="/courses/office-productivity/" tabindex="-1">Office Productivity</a>
            <div>
                
                    
                        <a data-id="96" class="js-side-nav-cat js-subcat" href="/courses/office-productivity/microsoft/" tabindex="-1">Microsoft</a>
                    
                
                    
                        <a data-id="98" class="js-side-nav-cat js-subcat" href="/courses/office-productivity/apple/" tabindex="-1">Apple</a>
                    
                
                    
                        <a data-id="100" class="js-side-nav-cat js-subcat" href="/courses/office-productivity/google/" tabindex="-1">Google</a>
                    
                
                    
                        <a data-id="102" class="js-side-nav-cat js-subcat" href="/courses/office-productivity/sap/" tabindex="-1">SAP</a>
                    
                
                    
                        <a data-id="106" class="js-side-nav-cat js-subcat" href="/courses/office-productivity/oracle/" tabindex="-1">Oracle</a>
                    
                
                    
                        <a data-id="108" class="js-side-nav-cat js-subcat" href="/courses/office-productivity/other-productivity/" tabindex="-1">Other Office Productivity</a>
                    
                
            </div>
        
            <a data-id="296" class="js-side-nav-cat" href="/courses/personal-development/" tabindex="-1">Personal Development</a>
            <div>
                
                    
                        <a data-id="142" class="js-side-nav-cat js-subcat" href="/courses/personal-development/personal-transformation/" tabindex="-1">Personal Transformation</a>
                    
                
                    
                        <a data-id="144" class="js-side-nav-cat js-subcat" href="/courses/personal-development/productivity/" tabindex="-1">Personal Productivity</a>
                    
                
                    
                        <a data-id="146" class="js-side-nav-cat js-subcat" href="/courses/personal-development/leadership/" tabindex="-1">Leadership</a>
                    
                
                    
                        <a data-id="150" class="js-side-nav-cat js-subcat" href="/courses/personal-development/career-development/" tabindex="-1">Career Development</a>
                    
                
                    
                        <a data-id="152" class="js-side-nav-cat js-subcat" href="/courses/personal-development/parenting-and-relationships/" tabindex="-1">Parenting &amp; Relationships</a>
                    
                
                    
                        <a data-id="156" class="js-side-nav-cat js-subcat" href="/courses/personal-development/happiness/" tabindex="-1">Happiness</a>
                    
                
                    
                        <a data-id="577" class="js-side-nav-cat js-subcat" href="/courses/lifestyle/esoteric-practices/" tabindex="-1">Esoteric Practices</a>
                    
                
                    
                        <a data-id="158" class="js-side-nav-cat js-subcat" href="/courses/personal-development/religion-and-spirituality/" tabindex="-1">Religion &amp; Spirituality</a>
                    
                
                    
                        <a data-id="160" class="js-side-nav-cat js-subcat" href="/courses/personal-development/personal-brand-building/" tabindex="-1">Personal Brand Building</a>
                    
                
                    
                        <a data-id="164" class="js-side-nav-cat js-subcat" href="/courses/personal-development/creativity/" tabindex="-1">Creativity</a>
                    
                
                    
                        <a data-id="166" class="js-side-nav-cat js-subcat" href="/courses/personal-development/influence/" tabindex="-1">Influence</a>
                    
                
                    
                        <a data-id="168" class="js-side-nav-cat js-subcat" href="/courses/personal-development/self-esteem-and-confidence/" tabindex="-1">Self Esteem &amp; Confidence</a>
                    
                
                    
                        <a data-id="170" class="js-side-nav-cat js-subcat" href="/courses/personal-development/stress-management/" tabindex="-1">Stress Management</a>
                    
                
                    
                        <a data-id="172" class="js-side-nav-cat js-subcat" href="/courses/personal-development/memory/" tabindex="-1">Memory &amp; Study Skills</a>
                    
                
                    
                        <a data-id="176" class="js-side-nav-cat js-subcat" href="/courses/personal-development/motivation/" tabindex="-1">Motivation</a>
                    
                
                    
                        <a data-id="178" class="js-side-nav-cat js-subcat" href="/courses/personal-development/other-personal-development/" tabindex="-1">Other Personal Development</a>
                    
                
            </div>
        
            <a data-id="269" class="js-side-nav-cat" href="/courses/design/" tabindex="-1">Design</a>
            <div>
                
                    
                        <a data-id="6" class="js-side-nav-cat js-subcat" href="/courses/design/web-design/" tabindex="-1">Web Design</a>
                    
                
                    
                        <a data-id="110" class="js-side-nav-cat js-subcat" href="/courses/design/graphic-design-and-illustration/" tabindex="-1">Graphic Design &amp; Illustration</a>
                    
                
                    
                        <a data-id="112" class="js-side-nav-cat js-subcat" href="/courses/design/design-tools/" tabindex="-1">Design Tools</a>
                    
                
                    
                        <a data-id="114" class="js-side-nav-cat js-subcat" href="/courses/design/user-experience/" tabindex="-1">User Experience Design</a>
                    
                
                    
                        <a data-id="116" class="js-side-nav-cat js-subcat" href="/courses/design/game-design/" tabindex="-1">Game Design</a>
                    
                
                    
                        <a data-id="120" class="js-side-nav-cat js-subcat" href="/courses/design/3d-and-animation/" tabindex="-1">3D &amp; Animation</a>
                    
                
                    
                        <a data-id="122" class="js-side-nav-cat js-subcat" href="/courses/design/fashion/" tabindex="-1">Fashion Design</a>
                    
                
                    
                        <a data-id="124" class="js-side-nav-cat js-subcat" href="/courses/design/architectural-design/" tabindex="-1">Architectural Design</a>
                    
                
                    
                        <a data-id="128" class="js-side-nav-cat js-subcat" href="/courses/design/interior-design/" tabindex="-1">Interior Design</a>
                    
                
                    
                        <a data-id="130" class="js-side-nav-cat js-subcat" href="/courses/design/other-design/" tabindex="-1">Other Design</a>
                    
                
            </div>
        
            <a data-id="290" class="js-side-nav-cat" href="/courses/marketing/" tabindex="-1">Marketing</a>
            <div>
                
                    
                        <a data-id="62" class="js-side-nav-cat js-subcat" href="/courses/marketing/digital-marketing/" tabindex="-1">Digital Marketing</a>
                    
                
                    
                        <a data-id="64" class="js-side-nav-cat js-subcat" href="/courses/marketing/search-engine-optimization/" tabindex="-1">Search Engine Optimization</a>
                    
                
                    
                        <a data-id="66" class="js-side-nav-cat js-subcat" href="/courses/marketing/social-media-marketing/" tabindex="-1">Social Media Marketing</a>
                    
                
                    
                        <a data-id="68" class="js-side-nav-cat js-subcat" href="/courses/marketing/branding/" tabindex="-1">Branding</a>
                    
                
                    
                        <a data-id="70" class="js-side-nav-cat js-subcat" href="/courses/marketing/marketing-fundamentals/" tabindex="-1">Marketing Fundamentals</a>
                    
                
                    
                        <a data-id="72" class="js-side-nav-cat js-subcat" href="/courses/marketing/analytics-and-automation/" tabindex="-1">Marketing Analytics &amp; Automation</a>
                    
                
                    
                        <a data-id="74" class="js-side-nav-cat js-subcat" href="/courses/marketing/public-relations/" tabindex="-1">Public Relations</a>
                    
                
                    
                        <a data-id="76" class="js-side-nav-cat js-subcat" href="/courses/marketing/advertising/" tabindex="-1">Paid Advertising</a>
                    
                
                    
                        <a data-id="78" class="js-side-nav-cat js-subcat" href="/courses/marketing/video-and-mobile-marketing/" tabindex="-1">Video &amp; Mobile Marketing</a>
                    
                
                    
                        <a data-id="80" class="js-side-nav-cat js-subcat" href="/courses/marketing/content-marketing/" tabindex="-1">Content Marketing</a>
                    
                
                    
                        <a data-id="86" class="js-side-nav-cat js-subcat" href="/courses/marketing/growth-hacking/" tabindex="-1">Growth Hacking</a>
                    
                
                    
                        <a data-id="88" class="js-side-nav-cat js-subcat" href="/courses/marketing/affiliate-marketing/" tabindex="-1">Affiliate Marketing</a>
                    
                
                    
                        <a data-id="90" class="js-side-nav-cat js-subcat" href="/courses/marketing/product-marketing/" tabindex="-1">Product Marketing</a>
                    
                
                    
                        <a data-id="94" class="js-side-nav-cat js-subcat" href="/courses/marketing/other-marketing/" tabindex="-1">Other Marketing</a>
                    
                
            </div>
        
            <a data-id="274" class="js-side-nav-cat" href="/courses/lifestyle/" tabindex="-1">Lifestyle</a>
            <div>
                
                    
                        <a data-id="180" class="js-side-nav-cat js-subcat" href="/courses/lifestyle/arts-and-crafts/" tabindex="-1">Arts &amp; Crafts</a>
                    
                
                    
                        <a data-id="184" class="js-side-nav-cat js-subcat" href="/courses/lifestyle/beauty-and-makeup/" tabindex="-1">Beauty &amp; Makeup</a>
                    
                
                    
                        <a data-id="577" class="js-side-nav-cat js-subcat" href="/courses/lifestyle/esoteric-practices/" tabindex="-1">Esoteric Practices</a>
                    
                
                    
                        <a data-id="182" class="js-side-nav-cat js-subcat" href="/courses/lifestyle/food-and-beverage/" tabindex="-1">Food &amp; Beverage</a>
                    
                
                    
                        <a data-id="188" class="js-side-nav-cat js-subcat" href="/courses/lifestyle/gaming/" tabindex="-1">Gaming</a>
                    
                
                    
                        <a data-id="190" class="js-side-nav-cat js-subcat" href="/courses/lifestyle/home-improvement/" tabindex="-1">Home Improvement &amp; Gardening</a>
                    
                
                    
                        <a data-id="192" class="js-side-nav-cat js-subcat" href="/courses/lifestyle/pet-care-and-training/" tabindex="-1">Pet Care &amp; Training</a>
                    
                
                    
                        <a data-id="186" class="js-side-nav-cat js-subcat" href="/courses/lifestyle/travel/" tabindex="-1">Travel</a>
                    
                
                    
                        <a data-id="194" class="js-side-nav-cat js-subcat" href="/courses/lifestyle/other-lifestyle/" tabindex="-1">Other Lifestyle</a>
                    
                
            </div>
        
            <a data-id="273" class="js-side-nav-cat" href="/courses/photography-and-video/" tabindex="-1">Photography &amp; Video</a>
            <div>
                
                    
                        <a data-id="370" class="js-side-nav-cat js-subcat" href="/courses/photography-and-video/digital-photography/" tabindex="-1">Digital Photography</a>
                    
                
                    
                        <a data-id="196" class="js-side-nav-cat js-subcat" href="/courses/photography-and-video/photography-fundamentals/" tabindex="-1">Photography</a>
                    
                
                    
                        <a data-id="204" class="js-side-nav-cat js-subcat" href="/courses/photography-and-video/portraits/" tabindex="-1">Portrait Photography</a>
                    
                
                    
                        <a data-id="198" class="js-side-nav-cat js-subcat" href="/courses/photography-and-video/photography-tools/" tabindex="-1">Photography Tools</a>
                    
                
                    
                        <a data-id="208" class="js-side-nav-cat js-subcat" href="/courses/photography-and-video/commercial-photography/" tabindex="-1">Commercial Photography</a>
                    
                
                    
                        <a data-id="218" class="js-side-nav-cat js-subcat" href="/courses/photography-and-video/video-design/" tabindex="-1">Video Design</a>
                    
                
                    
                        <a data-id="220" class="js-side-nav-cat js-subcat" href="/courses/photography-and-video/other-photography-and-video/" tabindex="-1">Other Photography &amp; Video</a>
                    
                
            </div>
        
            <a data-id="276" class="js-side-nav-cat" href="/courses/health-and-fitness/" tabindex="-1">Health &amp; Fitness</a>
            <div>
                
                    
                        <a data-id="222" class="js-side-nav-cat js-subcat" href="/courses/health-and-fitness/fitness/" tabindex="-1">Fitness</a>
                    
                
                    
                        <a data-id="224" class="js-side-nav-cat js-subcat" href="/courses/health-and-fitness/general-health/" tabindex="-1">General Health</a>
                    
                
                    
                        <a data-id="226" class="js-side-nav-cat js-subcat" href="/courses/health-and-fitness/sports/" tabindex="-1">Sports</a>
                    
                
                    
                        <a data-id="228" class="js-side-nav-cat js-subcat" href="/courses/health-and-fitness/nutrition/" tabindex="-1">Nutrition &amp; Diet</a>
                    
                
                    
                        <a data-id="230" class="js-side-nav-cat js-subcat" href="/courses/health-and-fitness/yoga/" tabindex="-1">Yoga</a>
                    
                
                    
                        <a data-id="232" class="js-side-nav-cat js-subcat" href="/courses/health-and-fitness/mental-health/" tabindex="-1">Mental Health</a>
                    
                
                    
                        <a data-id="236" class="js-side-nav-cat js-subcat" href="/courses/health-and-fitness/self-defense/" tabindex="-1">Martial Arts &amp; Self Defense</a>
                    
                
                    
                        <a data-id="238" class="js-side-nav-cat js-subcat" href="/courses/health-and-fitness/safety-and-first-aid/" tabindex="-1">Safety &amp; First Aid</a>
                    
                
                    
                        <a data-id="240" class="js-side-nav-cat js-subcat" href="/courses/health-and-fitness/dance/" tabindex="-1">Dance</a>
                    
                
                    
                        <a data-id="242" class="js-side-nav-cat js-subcat" href="/courses/health-and-fitness/meditation/" tabindex="-1">Meditation</a>
                    
                
                    
                        <a data-id="244" class="js-side-nav-cat js-subcat" href="/courses/health-and-fitness/other-health-and-fitness/" tabindex="-1">Other Health &amp; Fitness</a>
                    
                
            </div>
        
            <a data-id="278" class="js-side-nav-cat" href="/courses/music/" tabindex="-1">Music</a>
            <div>
                
                    
                        <a data-id="296" class="js-side-nav-cat js-subcat" href="/courses/music/instruments/" tabindex="-1">Instruments</a>
                    
                
                    
                        <a data-id="298" class="js-side-nav-cat js-subcat" href="/courses/music/production/" tabindex="-1">Music Production</a>
                    
                
                    
                        <a data-id="300" class="js-side-nav-cat js-subcat" href="/courses/music/music-fundamentals/" tabindex="-1">Music Fundamentals</a>
                    
                
                    
                        <a data-id="302" class="js-side-nav-cat js-subcat" href="/courses/music/vocal/" tabindex="-1">Vocal</a>
                    
                
                    
                        <a data-id="304" class="js-side-nav-cat js-subcat" href="/courses/music/music-techniques/" tabindex="-1">Music Techniques</a>
                    
                
                    
                        <a data-id="306" class="js-side-nav-cat js-subcat" href="/courses/music/music-software/" tabindex="-1">Music Software</a>
                    
                
                    
                        <a data-id="308" class="js-side-nav-cat js-subcat" href="/courses/music/other-music/" tabindex="-1">Other Music</a>
                    
                
            </div>
        
            <a data-id="300" class="js-side-nav-cat" href="/courses/teaching-and-academics/" tabindex="-1">Teaching &amp; Academics</a>
            <div>
                
                    
                        <a data-id="366" class="js-side-nav-cat js-subcat" href="/courses/teaching-and-academics/engineering/" tabindex="-1">Engineering</a>
                    
                
                    
                        <a data-id="380" class="js-side-nav-cat js-subcat" href="/courses/teaching-and-academics/humanities/" tabindex="-1">Humanities</a>
                    
                
                    
                        <a data-id="310" class="js-side-nav-cat js-subcat" href="/courses/teaching-and-academics/math/" tabindex="-1">Math</a>
                    
                
                    
                        <a data-id="312" class="js-side-nav-cat js-subcat" href="/courses/teaching-and-academics/science/" tabindex="-1">Science</a>
                    
                
                    
                        <a data-id="523" class="js-side-nav-cat js-subcat" href="/courses/teaching-and-academics/online-education/" tabindex="-1">Online Education</a>
                    
                
                    
                        <a data-id="376" class="js-side-nav-cat js-subcat" href="/courses/teaching-and-academics/social-science/" tabindex="-1">Social Science</a>
                    
                
                    
                        <a data-id="521" class="js-side-nav-cat js-subcat" href="/courses/teaching-and-academics/language/" tabindex="-1">Language Learning</a>
                    
                
                    
                        <a data-id="527" class="js-side-nav-cat js-subcat" href="/courses/teaching-and-academics/teacher-training/" tabindex="-1">Teacher Training</a>
                    
                
                    
                        <a data-id="529" class="js-side-nav-cat js-subcat" href="/courses/teaching-and-academics/test-prep/" tabindex="-1">Test Prep</a>
                    
                
                    
                        <a data-id="525" class="js-side-nav-cat js-subcat" href="/courses/teaching-and-academics/other-teaching-academics/" tabindex="-1">Other Teaching &amp; Academics</a>
                    
                
            </div>
        
        
            <div data-id="8" class="js-side-nav-popular-topics">
                
                    <a data-id="8322" href="/topic/web-development/" tabindex="-1">Web Development</a>
                
                    <a data-id="6368" href="/topic/javascript/" tabindex="-1">JavaScript</a>
                
                    <a data-id="7450" href="/topic/react/" tabindex="-1">React JS</a>
                
                    <a data-id="28016" href="/topic/angular/" tabindex="-1">Angular</a>
                
                    <a data-id="10230" href="/topic/aspnet-core/" tabindex="-1">ASP.NET Core</a>
                
                    <a data-id="8124" href="/topic/typescript/" tabindex="-1">Typescript</a>
                
                    <a data-id="57548" href="/topic/nextjs-p/" tabindex="-1">Next.js</a>
                
                    <a data-id="583042" href="/topic/ai-agents/" tabindex="-1">AI Agents &amp; Agentic AI</a>
                
                    <a data-id="6928" href="/topic/nodejs/" tabindex="-1">Node.Js</a>
                
            </div>
        
            <div data-id="132" class="js-side-nav-popular-topics">
                
                    <a data-id="24774" href="/topic/aws-certified-solutions-architect-associate/" tabindex="-1">AWS Certified Solutions Architect - Associate</a>
                
                    <a data-id="5176" href="/topic/comptia-security/" tabindex="-1">CompTIA Security+</a>
                
                    <a data-id="46868" href="/topic/aws-certified-cloud-practitioner/" tabindex="-1">AWS Certified Cloud Practitioner</a>
                
                    <a data-id="5166" href="/topic/comptia-a/" tabindex="-1">CompTIA A+</a>
                
                    <a data-id="5044" href="/topic/cisco-ccna/" tabindex="-1">Cisco Certified Network Associate (CCNA)</a>
                
                    <a data-id="5174" href="/topic/comptia-network/" tabindex="-1">CompTIA Network+</a>
                
                    <a data-id="4452" href="/topic/amazon-aws/" tabindex="-1">Amazon AWS</a>
                
                    <a data-id="2219646" href="/topic/artificial-intelligence-governance-professional-aigp/" tabindex="-1">Artificial Intelligence Governance Professional (AIGP)</a>
                
                    <a data-id="6238" href="/topic/information-security/" tabindex="-1">Information Security</a>
                
            </div>
        
            <div data-id="44" class="js-side-nav-popular-topics">
                
                    <a data-id="6740" href="/topic/microsoft-power-bi/" tabindex="-1">Microsoft Power BI</a>
                
                    <a data-id="636452" href="/topic/claude-ai/" tabindex="-1">Claude AI</a>
                
                    <a data-id="7862" href="/topic/sql/" tabindex="-1">SQL</a>
                
                    <a data-id="5334" href="/topic/data-modeling/" tabindex="-1">Data Modeling</a>
                
                    <a data-id="5328" href="/topic/data-analysis/" tabindex="-1">Data Analysis</a>
                
                    <a data-id="9000" href="/topic/business-analysis/" tabindex="-1">Business Analysis</a>
                
                    <a data-id="536788" href="/topic/microsoft-copilot/" tabindex="-1">Microsoft Copilot</a>
                
                    <a data-id="583042" href="/topic/ai-agents/" tabindex="-1">AI Agents &amp; Agentic AI</a>
                
                    <a data-id="7978" href="/topic/tableau/" tabindex="-1">Tableau</a>
                
            </div>
        
            <div data-id="14" class="js-side-nav-popular-topics">
                
                    <a data-id="8166" href="/topic/unreal-engine/" tabindex="-1">Unreal Engine</a>
                
                    <a data-id="8154" href="/topic/unity/" tabindex="-1">Unity</a>
                
                    <a data-id="5904" href="/topic/game-development/" tabindex="-1">Game Development Fundamentals</a>
                
                    <a data-id="4280" href="/topic/3d-game-development/" tabindex="-1">3D Game Development</a>
                
                    <a data-id="4904" href="/topic/c-sharp/" tabindex="-1">C# (programming language)</a>
                
                    <a data-id="36020" href="/topic/godot/" tabindex="-1">Godot</a>
                
                    <a data-id="25642" href="/topic/2d-game-development/" tabindex="-1">2D Game Development</a>
                
                    <a data-id="109866" href="/topic/unreal-engine-blueprints/" tabindex="-1">Unreal Engine Blueprints</a>
                
                    <a data-id="4908" href="/topic/c-plus-plus/" tabindex="-1">C++ (programming language)</a>
                
            </div>
        
            <div data-id="10" class="js-side-nav-popular-topics">
                
                    <a data-id="52458" href="/topic/google-flutter/" tabindex="-1">Google Flutter</a>
                
                    <a data-id="9884" href="/topic/react-native/" tabindex="-1">React Native</a>
                
                    <a data-id="37860" href="/topic/dart-programming-language/" tabindex="-1">Dart (programming language)</a>
                
                    <a data-id="6292" href="/topic/ios-development/" tabindex="-1">iOS Development</a>
                
                    <a data-id="4470" href="/topic/android-development/" tabindex="-1">Android Development</a>
                
                    <a data-id="7956" href="/topic/swift/" tabindex="-1">Swift</a>
                
                    <a data-id="131074" href="/topic/swiftui/" tabindex="-1">SwiftUI</a>
                
                    <a data-id="5402" href="/topic/mobile-development/" tabindex="-1">Mobile App Development</a>
                
                    <a data-id="13554" href="/topic/kotlin/" tabindex="-1">Kotlin</a>
                
            </div>
        
            <div data-id="24" class="js-side-nav-popular-topics">
                
                    <a data-id="7898" href="/topic/stock-options/" tabindex="-1">Stock Options</a>
                
                    <a data-id="4328" href="/topic/accounting/" tabindex="-1">Accounting</a>
                
                    <a data-id="14938" href="/topic/financial-accounting/" tabindex="-1">Financial Accounting</a>
                
                    <a data-id="5806" href="/topic/financial-modeling/" tabindex="-1">Financial Modeling</a>
                
                    <a data-id="35138" href="/topic/fintech/" tabindex="-1">Fintech</a>
                
                    <a data-id="5868" href="/topic/forex/" tabindex="-1">Forex Trading</a>
                
            </div>
        
            <div data-id="110" class="js-side-nav-popular-topics">
                
                    <a data-id="6020" href="/topic/graphic-design/" tabindex="-1">Graphic Design</a>
                
                    <a data-id="5494" href="/topic/drawing/" tabindex="-1">Drawing</a>
                
                    <a data-id="4394" href="/topic/adobe-illustrator/" tabindex="-1">Adobe Illustrator</a>
                
                    <a data-id="4402" href="/topic/photoshop/" tabindex="-1">Adobe Photoshop</a>
                
                    <a data-id="8592" href="/topic/canva/" tabindex="-1">Canva</a>
                
                    <a data-id="48410" href="/topic/procreate-ipad-app/" tabindex="-1">Procreate Digital Illustration App</a>
                
                    <a data-id="4396" href="/topic/indesign/" tabindex="-1">Adobe InDesign</a>
                
                    <a data-id="5434" href="/topic/digital-painting/" tabindex="-1">Digital Painting</a>
                
                    <a data-id="5002" href="/topic/character-design/" tabindex="-1">Character Design</a>
                
            </div>
        
            <div data-id="142" class="js-side-nav-popular-topics">
                
                    <a data-id="10684" href="/topic/life-coaching/" tabindex="-1">Life Coach Training</a>
                
                    <a data-id="7138" href="/topic/personal-development/" tabindex="-1">Personal Development</a>
                
                    <a data-id="6910" href="/topic/neuro-linguistic-programming/" tabindex="-1">Neuro-Linguistic Programming (NLP)</a>
                
                    <a data-id="7368" href="/topic/public-speaking/" tabindex="-1">Public Speaking</a>
                
                    <a data-id="23948" href="/topic/sound-therapy/" tabindex="-1">Sound Therapy</a>
                
                    <a data-id="15374" href="/topic/personal-transformation/" tabindex="-1">Personal Transformation</a>
                
                    <a data-id="7160" href="/topic/philosophy/" tabindex="-1">Philosophy</a>
                
                    <a data-id="11098" href="/topic/coaching/" tabindex="-1">Coaching</a>
                
                    <a data-id="5604" href="/topic/emotional-intelligence/" tabindex="-1">Emotional Intelligence</a>
                
            </div>
        
            <div data-id="26" class="js-side-nav-popular-topics">
                
                    <a data-id="4882" href="/topic/business-fundamentals/" tabindex="-1">Business Fundamentals</a>
                
                    <a data-id="4624" href="/topic/artificial-intelligence/" tabindex="-1">Artificial Intelligence (AI)</a>
                
                    <a data-id="2029409" href="/topic/truck-dispatching/" tabindex="-1">Truck Dispatching</a>
                
                    <a data-id="643646" href="/topic/large-language-models/" tabindex="-1">Large Language Models (LLM)</a>
                
                    <a data-id="5654" href="/topic/entrepreneurship/" tabindex="-1">Entrepreneurship Fundamentals</a>
                
                    <a data-id="4898" href="/topic/business-strategy/" tabindex="-1">Business Strategy</a>
                
                    <a data-id="6992" href="/topic/online-business/" tabindex="-1">Online Business</a>
                
                    <a data-id="158002" href="/topic/chatgpt/" tabindex="-1">ChatGPT</a>
                
                    <a data-id="5874" href="/topic/freelancing/" tabindex="-1">Freelancing</a>
                
            </div>
        
            <div data-id="62" class="js-side-nav-popular-topics">
                
                    <a data-id="5430" href="/topic/digital-marketing/" tabindex="-1">Digital Marketing</a>
                
                    <a data-id="7788" href="/topic/social-media-marketing/" tabindex="-1">Social Media Marketing</a>
                
                    <a data-id="6630" href="/topic/marketing-strategy/" tabindex="-1">Marketing Strategy</a>
                
                    <a data-id="4276" href="/topic/3d-animation/" tabindex="-1">3D Animation</a>
                
                    <a data-id="6994" href="/topic/internet-marketing/" tabindex="-1">Internet Marketing</a>
                
                    <a data-id="158002" href="/topic/chatgpt/" tabindex="-1">ChatGPT</a>
                
                    <a data-id="155572" href="/topic/facebook-ads/" tabindex="-1">Facebook Ads</a>
                
                    <a data-id="5980" href="/topic/google-analytics/" tabindex="-1">Google Analytics</a>
                
                    <a data-id="5242" href="/topic/copywriting/" tabindex="-1">Copywriting</a>
                
            </div>
        
    </nav>


                
            

            <div class="ud-main-content">
                
    
    
    <div class="lecture-landing-page-desktop-app">
        

    



    <div id="schema_markup" data-purpose="schema_markup">
        <script nonce="ysM10WIlXEgF+lyXdhNCBLhBnioDa09E95R9WKWrif4=" type="application/ld+json">
        {"@type":"VideoObject","@context":"http://schema.org","publisher":{"@type":"Organization","name":"Udemy","sameAs":"www.udemy.com","logo":{"@type":"ImageObject","url":"https://www.udemy.com/staticx/udemy/images/v7/apple-touch-icon-60x60.png","width":60,"height":60}},"provider":{"@type":"Organization","name":"Andrew Mead","sameAs":"www.udemy.com/user/andrewmead/"},"@id":"https://www.udemy.com/tutorial/graphql-bootcamp/why-graphql/","name":"Why GraphQL?","description":"Learn how to build GraphQL applications using Node.js. Includes Prisma v1, authentication, Apollo Client, and more!","isAccessibleForFree":true,"image":"https://mp4-c.udemycdn.com/2018-09-18_22-49-37-2b767c950fc8a82bd244483b94acefe2/thumb-1.jpg?Expires=1781701206\u0026Signature=lVFOsKiQwqXwwSP7cpBnFR1zwZ8u-4TKkjqdTau-5yJD5LdprZM6eZPjpt00mCT4qZzW8b6J2Eg87MLg1jpIiZP8cekAAhyZ9E~lne6~5J7K65l96bATxDPlWzNk7M6wA7p5jb690-DWiK~FKWl5v3~Dnr6s-sVXVHKnwcUubQBefeIctuy~tPwoeEVTPUji0VfNka0xVs4oOd-XeoUc69~pWOiCR5cilZBC0pMzCSO-1dQXrSqV5mb8WWWRE50HUZQxhQSLH1uDPHVzSk7osOfuvgJwMpoKeEiKP2yym~qdeDx0uUFoWu8CsJ0Adf8iAhOqaSTto8NymrI3fU5cgw__\u0026Key-Pair-Id=K3MG148K9RIRF4","inLanguage":"en","thumbnailUrl":"https://mp4-c.udemycdn.com/2018-09-18_22-49-37-2b767c950fc8a82bd244483b94acefe2/thumb-1.jpg?Expires=1781701206\u0026Signature=lVFOsKiQwqXwwSP7cpBnFR1zwZ8u-4TKkjqdTau-5yJD5LdprZM6eZPjpt00mCT4qZzW8b6J2Eg87MLg1jpIiZP8cekAAhyZ9E~lne6~5J7K65l96bATxDPlWzNk7M6wA7p5jb690-DWiK~FKWl5v3~Dnr6s-sVXVHKnwcUubQBefeIctuy~tPwoeEVTPUji0VfNka0xVs4oOd-XeoUc69~pWOiCR5cilZBC0pMzCSO-1dQXrSqV5mb8WWWRE50HUZQxhQSLH1uDPHVzSk7osOfuvgJwMpoKeEiKP2yym~qdeDx0uUFoWu8CsJ0Adf8iAhOqaSTto8NymrI3fU5cgw__\u0026Key-Pair-Id=K3MG148K9RIRF4","uploadDate":"2018-09-18T22:48:54Z","isPartOf":{"@type":"Course","name":"The Modern GraphQL Bootcamp (with Node.js and Apollo)","description":"\u003cp\u003e\u003cstrong\u003eDo you want to learn GraphQL and keep your Node.js skills up-to-date and relevant?\u003c/strong\u003e\u003c/p\u003e\u003cp\u003eGraphQL is quickly changing how Node.js developers write their APIs and backend applications. It offers a much-needed replacement to the traditional REST HTTP API. It\u2019s by far the most exciting change we\u2019ve seen to Node.js development in a long time. Goodbye Express. Hello GraphQL. \u003c/p\u003e\u003cp\u003eWho should learn GraphQL? Anyone building backend applications with Node.js!\u003c/p\u003e\u003cp\u003eIn this class, you\u2019ll learn how to use GraphQL to replace the standard Express HTTP API, as well as support features like authentication, real-time applications, and more. GraphQL can be used with any client that has internet access, whether it\u2019s a web app, mobile app, or server-side application.\u003c/p\u003e\u003cp\u003eBig and small companies, from Twitter and Facebook to Yelp and Twitch, are switching from frameworks like Express to GraphQL.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eI designed this class to give you the skills and real-world experience needed to build and launch your own GraphQL apps.\u003c/strong\u003e\u003c/p\u003e\u003cp\u003eTo kick the class off, we\u2019ll answer a few important questions. What is GraphQL? Why is it useful? How is GraphQL going to help me build better applications with Node.js?\u003c/p\u003e\u003cp\u003eNext, you\u2019ll master the fundamentals of GraphQL by building out a blogging application. You\u2019ll learn about GraphQL schemas, data types, queries, mutations, subscriptions, and many other fantastic GraphQL features.\u003c/p\u003e\u003cp\u003eFrom there, you\u2019ll set up advanced features like authentication, database storage, production deployment, automated test suites, and more.\u003c/p\u003e\u003cp\u003eThroughout the course you\u2019ll learn how to:\u003c/p\u003e\u003col\u003e\u003cli\u003e\u003cp\u003eModel your application data using schemas\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003eCreate queries and subscriptions allowing clients to access data in the database\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003eCreate mutations allowing clients to create and change data in the database\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003eQuery and change your data from the browser by making requests with Apollo Client\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003eWork with the Prisma ORM (v1) to communicate with your database via a GraphQL API\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003eDeploy your GraphQL applications to production\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003eSecure your application data with an authentication system\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003eWrite an automated test suite for your application\u003c/p\u003e\u003c/li\u003e\u003c/ol\u003e\u003cp\u003e\u003cstrong\u003eLearn GraphQL by Writing Code\u003c/strong\u003e\u003c/p\u003e\u003cp\u003eThis course was designed to be interactive, with more than 80 challenges along the way to get you writing code and solving problems on your own. This will give you the real-world skills and experience needed to write GraphQL applications once you\u2019re done with the class.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eEverything you need comes in one easy-to-use package.\u003c/strong\u003e\u003c/p\u003e\u003cp\u003eThere\u2019s no need to worry whether you\u2019re learning the right skills to land that GraphQL job or launch that GraphQL app. I\u2019ve mapped out everything you need to know in an interactive, easy-to-follow package designed to get you up and running in a couple of weeks.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eGet access to fast support if you get stuck.\u003c/strong\u003e\u003c/p\u003e\u003cp\u003eThere\u2019s nothing worse than getting stuck ten hours into a course and not getting the help you need to continue. Getting stuck is part of the learning process. That\u2019s why I\u2019m here to answer every single question.\u003c/p\u003e\u003cp\u003eI guarantee this is the most up-to-date and engaging GraphQL course available, and it comes with a Udemy 30-day money-back guarantee.\u003c/p\u003e\u003cp\u003eThe first videos are available as a free preview, so I\u2019ll see you inside the class!\u003c/p\u003e\u003cp\u003e- Andrew Mead\u003c/p\u003e","url":"https://www.udemy.com/course/graphql-bootcamp/","provider":{"@type":"Organization","name":"Andrew Mead","sameAs":"www.udemy.com/user/andrewmead/"}},"duration":"PT13M8S","audience":{"@type":"Audience","audienceType":["This course is for anyone who wants to learn how to build advanced Node applications.","This course is for anyone interested in keeping their Node skills up-to-date."]},"about":{"name":"Development"},"creator":[{"@type":"Person","name":"Andrew Mead"}]}
        </script>
    </div>




        <div class="topic-menu-container">
            <div class="ud-container">
                

    
        <div class="topic-menu ud-breadcrumb">
            
                
                    <a class="ud-heading-sm" href=/courses/development/>Development</a>
                    
                        
                            <svg aria-hidden="true" class="ud-icon ud-icon-xsmall ud-icon-color-neutral ud-breadcrumb-icon">
    <use xlink:href="#icon-next"></use>
</svg>

                        
                    
                
                    <a class="ud-heading-sm" href=/courses/development/programming-languages/>Programming Languages</a>
                    
                        
                            <svg aria-hidden="true" class="ud-icon ud-icon-xsmall ud-icon-color-neutral ud-breadcrumb-icon">
    <use xlink:href="#icon-next"></use>
</svg>

                        
                    
                
                    <a class="ud-heading-sm" href=/topic/nodejs/>Node.Js</a>
                    
                
            
        </div>
    


            </div>
        </div>
        <div class="ud-container">
            

    <h1 class="header ud-heading-xxl">Why GraphQL?</h1>


            <div class="instructor-card-container">
                

    


<div class="ud-component--lecture-landing-page--instructor-card"
     
        data-component-props="{&quot;instructor&quot;:{&quot;avg_rating_recent&quot;:4.477946220338983,&quot;display_name&quot;:&quot;Andrew Mead&quot;,&quot;id&quot;:7231684,&quot;job_title&quot;:&quot;A Full-stack Developer \u0026 Teacher&quot;,&quot;title&quot;:&quot;Andrew Mead&quot;,&quot;initials&quot;:&quot;AM&quot;,&quot;avg_rating&quot;:4.477946220338983,&quot;total_num_students&quot;:443318,&quot;num_visible_taught_courses&quot;:4,&quot;url&quot;:&quot;/user/andrewmead/&quot;,&quot;course_labels&quot;:[],&quot;image_50x50&quot;:&quot;https://img-c.udemycdn.com/user/50x50/7231684_bc0d_5.jpg&quot;,&quot;image_75x75&quot;:&quot;https://img-c.udemycdn.com/user/75x75/7231684_bc0d_5.jpg&quot;}}"
     ><div data-unique-id="201" style="display:none"></div><div class="ud-custom-focus-visible media-object-module--media-object--ilk-Z"><div class="instructor-image ud-custom-focus-target media-object-module--image-wrapper--pxSdJ"><img src="https://img-c.udemycdn.com/user/75x75/7231684_bc0d_5.jpg" alt="" class="ud-avatar ud-avatar-image" width="64" height="64" style="width:6.4rem;height:6.4rem" loading="eager"/></div><div class="ud-text-sm instructor-card--right-column--9i98j"><a href="/user/andrewmead/" data-purpose="instructor-title" class="ud-text-bold instructor-card--instructor-title--uB4o7 ud-focus-visible-target media-object-module--media-object-title--60qy5"><span>A free video tutorial from <span>Andrew Mead</span></span></a><div class="instructor-card--instructor-job-title--UQywe" data-purpose="instructor-job-title">A Full-stack Developer &amp; Teacher</div><div class="instructor-card--instructor-card-data-container--q99fA"><div class="instructor-card--rating-container--H9cSm"><span class="star-rating-module--star-wrapper--i1cJH star-rating-module--medium--Lpe62 star-rating-module--numeric--qcZmU"><span class="ud-sr-only">Rating: 4.5 out of 5</span><span class="ud-heading-sm star-rating-module--rating-number--2-qA2" aria-hidden="true" data-purpose="rating-number">4.5</span><svg aria-hidden="true" width="100%" height="100%" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><mask id="u201-star-rating-mask--1" data-purpose="star-rating-mask"><rect x="0" y="0" width="100%" height="100%" fill="white"></rect></mask><g class="star-rating-module--star-filled--FgjdR" mask="url(#u201-star-rating-mask--1)" data-purpose="star-filled"><use xlink:href="#icon-rating-star" width="14" height="14" x="0"></use></g><g fill="transparent" class="star-rating-module--star-bordered--A4SZK" stroke-width="80" data-purpose="star-bordered"><use xlink:href="#icon-rating-star" width="12" height="12" x="1" y="1"></use></g></svg></span><span class="instructor-card--rating-title--psnhm">Instructor rating</span></div><div class="instructor-card--taught-courses-container--zZwUh" data-purpose="taught-courses-container">4 courses</div><div class="instructor-card--total-students-container--GabTw" data-purpose="total-students-container">443,318 students</div></div></div></div></div>



            </div>
        </div>
        <div class="preview-container">
            <div class="ud-container">
                

    <div id="lecture-preview" class="lecture-preview" data-purpose="lecture-preview">
        
            <div class="lecture-preview__img-aspect">
                <div class="lecture-preview__overlay ud-component--lecture-landing-page--preview">
                    <img src="https://mp4-c.udemycdn.com/2018-09-18_22-49-37-2b767c950fc8a82bd244483b94acefe2/thumb-1.jpg?Expires=1781701206&amp;Signature=lVFOsKiQwqXwwSP7cpBnFR1zwZ8u-4TKkjqdTau-5yJD5LdprZM6eZPjpt00mCT4qZzW8b6J2Eg87MLg1jpIiZP8cekAAhyZ9E~lne6~5J7K65l96bATxDPlWzNk7M6wA7p5jb690-DWiK~FKWl5v3~Dnr6s-sVXVHKnwcUubQBefeIctuy~tPwoeEVTPUji0VfNka0xVs4oOd-XeoUc69~pWOiCR5cilZBC0pMzCSO-1dQXrSqV5mb8WWWRE50HUZQxhQSLH1uDPHVzSk7osOfuvgJwMpoKeEiKP2yym~qdeDx0uUFoWu8CsJ0Adf8iAhOqaSTto8NymrI3fU5cgw__&amp;Key-Pair-Id=K3MG148K9RIRF4"
                         class="lecture-preview__img"
                         alt="Why GraphQL?"
                         width="240"
                         height="135" />
                </div>
            </div>
        
    </div>


                <div class="preview-container-right">
                    <div class="preview-container-right-top">
                        


<div class="ud-component--lecture-landing-page--lecture-course-card"
     
        data-component-props="{}"
     ></div>

                    </div>
                    <div class="preview-container-right-bottom">
                        


<div class="ud-component--lecture-landing-page--ufb-notice"
     
        data-component-props="{}"
     ></div>

                    </div>
                </div>
            </div>
        </div>
        <div class="bottom-section-container ud-container">
            <div class="component-margin ud-text-lg">
                

    


            </div>
            

    <div class="course-detail-container">
        <h2 class="ud-heading-lg">Learn more from the full course</h2>
        <h3 class="ud-heading-xl course-title">
            <a href="/course/graphql-bootcamp/">The Modern GraphQL Bootcamp (with Node.js and Apollo)</a>
        </h3>
        
            <p>Learn how to build GraphQL applications using Node.js. Includes Prisma v1, authentication, Apollo Client, and more!</p>
        
        <p>
            23:24:42 of on-demand video • Updated November 2020
        </p>
    </div>


            

    


<div class="ud-component--lecture-landing-page--course-content-tabs"
     
        data-component-props="{&quot;objectives&quot;:[&quot;Learn and master GraphQL by building real-world Node applications.&quot;,&quot;Use Prisma v1 to store and access data from a production database.&quot;,&quot;Use Apollo Client to communicate with GraphQL from your web app.&quot;,&quot;Learn how to deploy and test your GraphQL applications.&quot;,&quot;Test your skills and gain confidence by completing more than 80 coding challenges.&quot;,&quot;Get access to a free 110-page PDF guide with lecture notes, code samples, and documentation links.&quot;],&quot;captions&quot;:{&quot;text&quot;:&quot;In this video. I want to take a few minutes to explore an important question, Arguably the most important question we have right now, which is why GraphQL? We&#x27;re about to spend a lot of time together learning this new tool. So we want to make sure it&#x27;s going to be time well spent. In this video, we&#x27;ll be talking about where GraphQL fits into our applications. We&#x27;ll explore some of the benefits of using GraphQL. And lastly, we&#x27;ll talk about why it&#x27;s become such a popular tool. I want to kick things off by talking about where GraphQL fits into our application. Now, if you&#x27;re like most people, your current application likely uses some form of a rest API where you&#x27;re making Http calls between your client and the server to send and receive data. Your application likely has at least one client. I&#x27;m going to go ahead and say that for our fictitious example, we have a few different clients. Let&#x27;s say that we have a web application where users can log in to manage their data and let&#x27;s say that we also give them a mobile application. One for iOS and one for Android that they can take with them on the go. Now our clients, these three represent just part of our entire application stack. We also have our server and our database at a minimum. So let&#x27;s represent those over here as well. Maybe we&#x27;re using Node.js with the MongoDB database, maybe we&#x27;re using Python with the Postgres database, or maybe we&#x27;re using Java with MySQL. It doesn&#x27;t matter. Any number of clients, phones, TVs, laptops can communicate with any number of servers because the glue between the two has always been standard Http requests, typically represented as some sort of rest API. Our rest API might have a dozen or so different URLs, different endpoints that can be used to communicate with the server. Maybe we have one for signing up, another for logging in. And let&#x27;s say we&#x27;re creating a blogging application so we have one for creating a new post and we have one for reading all of the available posts in the database. This is a pretty typical setup. When we introduce GraphQL, not a whole lot is going to change. We&#x27;re still going to be able to use any client and we&#x27;re still going to be able to use any server, although in this course we&#x27;re going to be focusing on Node.js. All we&#x27;re going to do is replace our Rest API with many endpoints with a GraphQL API that has just a single endpoint exposed. GraphQL stands for the graph query language, and this is something that also operates over Http, which means that we can use any backend language we want with any database we want and we can use any client we want. Maybe we have a web and mobile app. Maybe we also need to communicate with this GraphQL API from another server. That&#x27;s perfectly fine as well. GraphQL is super flexible and we&#x27;re going to see this throughout the course. So next up, I want to quickly go over why GraphQL is something that you should consider using. First up, GraphQL is fast, and to explore this, I want to go through a typical example of what it might look like to load the data necessary for a page with a rest API and then with a GraphQL API. So let&#x27;s say that we start with the rest API example. We still have some sort of client, let&#x27;s just say it&#x27;s a browser and we have our server. The glue between the two is that standard rest API where we have a dozen or so different endpoints for managing our application data. Let&#x27;s go ahead and make some Http requests to render a page. And let&#x27;s say this page is a page for reading a blog post, so we need the title of the post and we need the post body. How do we get those? We make an Http request that might look a little bit like this. We make a get request to the following URL forward slash posts. Forward slash one two, three. Where 123. Is that post id, the server is going to parse this URL, it&#x27;s going to find the correct data and it&#x27;s going to send it back likely in the form of Json. So the server responds saying something like Here are the post details. Now maybe we get those post details rendered to the page and we realize we want a bit more information. I also want to show at the end of the post other posts by that author because I want to keep people on the site. I want to give them something to read when they&#x27;re done with their currently reading. If I need more data, I make another request right here. I can make a second Http request to something like get forward slash posts here. I&#x27;m using a query string to filter by the post author. I want to find only posts with the following author. ID 3421. Just a made up id. Let&#x27;s assume this is the author ID of the post that we fetched. The server once again is going to parse all of this. It&#x27;s going to try to find other posts by that author and it is going to send them back so we can correctly render some of them at the bottom of the post page. Now let&#x27;s say there&#x27;s just one more thing we need to get. We need the comments made for this post so we can show those at the bottom as well. Right here, we&#x27;re going to make our third and final Http request for another resource here. We&#x27;re still making a get. Request to forward slash posts. Forward slash. One, two, three. The post ID forward slash comments. So we&#x27;re getting all comments for that post. This is a pretty standard rest API URL structure. Once again, the server goes off, it parses this and it sends back the data. And finally we have everything we need. We can get everything rendered to the screen, giving the user the best experience possible. Now let&#x27;s see how we might fetch the exact same data to render our blog post page, but using a GraphQL API. So we still want the post details like the title and body. I still want other posts by that author and I still want the post comments. Right here we have a client, We have a server. This time though, GraphQL is the glue between the two. And remember GraphQL can operate over Http. So in the end of the day we&#x27;re still just making Http requests. Let&#x27;s go ahead and make our first one getting the data needed for this page. Now the request we&#x27;re going to make is going to be a post request, and GraphQL exposes just a single endpoint. That&#x27;s a very important piece to the puzzle. Now, you could have called this whatever you liked. For this example, I happen to call it GraphQL, but we&#x27;ll see how to rename that throughout the course. Now, here&#x27;s the catch. With our request, we&#x27;re going to be sending along a GraphQL query. A GraphQL query lets the client describe exactly what data it needs from the server. The server then gets all of that data ready and it sends it back so the client can describe exactly what it needs and it gets that data nothing more and nothing less. This is a very powerful piece to the puzzle. Instead of the server determining what data gets sent back, it&#x27;s up to the client to request all of the data it needs. So in this case, I can actually request the post details other posts by that author and the post comments all with a single GraphQL request. Now the magic behind all of this is that GraphQL query. But that&#x27;s actually not something we&#x27;re going to talk about in this video, though it is a major topic of the course and we&#x27;ll be getting to it very soon. For now, all we need to know about the GraphQL query is that it lets the client determine what data it gets back as opposed to a traditional rest API endpoint where the server determines what data comes back from an endpoint. Now, clearly three requests is more than one request. So GraphQL in the end of the day is going to be faster. It&#x27;s going to allow us to get all of the data we need with one Http request. Now, raw speed alone is not enough to make a tool useful, and while that is an advantage of GraphQL, it&#x27;s definitely not the biggest advantage. In my opinion. The biggest advantage is the flexibility of GraphQL. So with that last example, you could have easily argued that the rest API portion of the example was completely contrived. I intentionally chose to make it three requests instead of one. Clearly three is bigger than one, so obviously it&#x27;s going to be a bit slower. But I made that choice to prove this point. We could absolutely cram all three of those endpoints into one. So let&#x27;s revisit our Rest API example right here. We have our client, Our server Rest API is the glue. We make our single Http request here. I&#x27;m just using that first endpoint we had. We get the post by ID and what do we get back? We get back everything. We get our post details, which is the title and the body. We get the comments for the post and we get other posts by that author. This would be a perfectly fine approach. It would give the client everything it needs to render that page with just a single Http request. And the problem with this solution is that we now have this one endpoint which is making way more database requests than it was before. It&#x27;s getting big and slow. It went from maybe making one database request to making at least three requests in order to get all of the data necessary. Now, for the desktop version of our app, that might be fine. Maybe we&#x27;re going to use all of the data right away, so let&#x27;s just get it. But what if we want a mobile version of our application to use the same back end? We make the Http request to that URL. And the problem is that the mobile application can&#x27;t change the data. It gets back on mobile devices. We have a whole different set of considerations. We have less screen real estate. We have battery life to worry about. We have slow and expensive data. We want to make sure that we&#x27;re not abusing the device. Otherwise people are going to get a poor user experience. The app is going to feel janky and they&#x27;re likely to uninstall. This is actually the original reason GraphQL was created. Facebook had the same problem. They had a desktop version of the application. They had a mobile version of the application and they didn&#x27;t always need the same data for both. They wanted a flexible way for the individual clients to request exactly the data they were going to use, nothing more and nothing less. So maybe on the mobile device we don&#x27;t want to load the comments until someone clicks a button at the bottom of the post like show comments. With this solution, it doesn&#x27;t really matter because the comments have already been loaded. It would be nicer if we could fetch the comments later when necessary. So the desktop and mobile devices both have different needs. This is not an issue we&#x27;re going to run into with the GraphQL API on the desktop, we make a GraphQL query specifying we need all of that information. We need the post itself, we need the comments and other posts by the author and on our mobile device, what do we do? We make an Http request to the same endpoint with a different GraphQL query. In this case we say maybe we just need the post details so we get back just the post details. So with the website version of our application where the query asks for a lot of data, the server is going to have to do a lot of work making those three or so database requests necessary to get everything. The nice thing though, is that on the mobile version of the application where the query asks for less data, the server does less work. In this case, making the one database request necessary to get the post title and the post body with the rest API. We didn&#x27;t have that same flexibility. We got the same response with both with GraphQL. It is the individual client that determines what data it gets back from the server. With a rest API, it is the server that determines what data gets sent back to what endpoint. And that&#x27;s a huge difference. Now, yes, in the end of the day you could go ahead and try to customize your rest API, maybe adding on query strings to determine whether or not you want the comments and whether or not you want the other posts by that author. But at that point you&#x27;re getting dangerously close to just recreating what GraphQL already offers. That&#x27;s why huge companies like Facebook and GitHub are using GraphQL in production today. It provides the speed and flexibility needed for real world applications. So we saw that GraphQL was fast and flexible. GraphQL is also easy to use and simple to maintain with a rest API. If the client needs different data, it typically requires us to add a new endpoint or change an existing one using a GraphQL API, though, the client just needs to change its query, making GraphQL APIs much simpler to maintain in my own personal opinion and experience. So that&#x27;s it. At this point, we&#x27;ve definitely asked more questions than we have answers to. For example, we have no idea what a GraphQL query is or how we&#x27;re going to set any of this up, and that is okay. For the moment, we&#x27;re going to dive into all of that in detail as always, a bit later in the class. For now, the only thing you really need to take away from this video is the following GraphQL creates fast and flexible APIs giving clients complete control to ask for just the data they need. This results in fewer Http requests, flexible data querying, and in general, less code to manage. We get all of the same advantages with this increased speed and flexibility. I am super excited to dive into the rest of the course and actually put all of this into practice with a real world production ready application. So let&#x27;s go ahead and jump right in to the next video.&quot;,&quot;videoLabel&quot;:&quot;English [Auto]&quot;}}"
     ><div data-unique-id="202" style="display:none"></div><div class="tabs-module--tabs-container---clC6"><div class="ud-tabs-nav-buttons tabs-module--tabs-nav-buttons--R48bp" role="tablist" data-purpose="tab-nav-buttons"><div class="horizontal-scroller-module--scroller-container--7EVkM"><div class="horizontal-scroller-module--scroller-port--RKEak"><div class="tabs-module--nav-buttons-row--a0ey4"><div class="ud-nav-button-container tabs-module--nav-button-container--UQiPm ud-nav-button-container-active tabs-module--active--WZUDQ "><button type="button" id="u202-tabs--1-tab-0" aria-selected="true" role="tab" class="ud-btn ud-btn-large ud-btn-ghost ud-btn-text-md ud-nav-button tabs-module--nav-button--DtB8V ud-nav-button-active tabs-module--active--WZUDQ" tabindex="0"><span class="ud-btn-label">Course summary</span></button></div><div class="ud-nav-button-container tabs-module--nav-button-container--UQiPm "><button type="button" id="u202-tabs--1-tab-1" aria-selected="false" role="tab" class="ud-btn ud-btn-large ud-btn-ghost ud-btn-text-md ud-nav-button tabs-module--nav-button--DtB8V" tabindex="-1"><span class="ud-btn-label">Lesson transcript</span></button></div></div></div></div></div><div id="u202-tabs--1-content-0" role="tabpanel" class="ud-tab-content tabs-module--tab-content--y-r7m tabs-module--active--WZUDQ" tabindex="0" data-purpose="tab-container" aria-labelledby="u202-tabs--1-tab-0"><div class="objective--objective-item--0gf07"><div class="objective--objective-tick-icon--UntqE"><svg aria-hidden="true" focusable="false" class="ud-icon ud-icon-small ud-icon-color-neutral"><use xlink:href="#icon-tick"></use></svg></div><span>Learn and master GraphQL by building real-world Node applications.</span></div><div class="objective--objective-item--0gf07"><div class="objective--objective-tick-icon--UntqE"><svg aria-hidden="true" focusable="false" class="ud-icon ud-icon-small ud-icon-color-neutral"><use xlink:href="#icon-tick"></use></svg></div><span>Use Prisma v1 to store and access data from a production database.</span></div><div class="objective--objective-item--0gf07"><div class="objective--objective-tick-icon--UntqE"><svg aria-hidden="true" focusable="false" class="ud-icon ud-icon-small ud-icon-color-neutral"><use xlink:href="#icon-tick"></use></svg></div><span>Use Apollo Client to communicate with GraphQL from your web app.</span></div><div class="objective--objective-item--0gf07"><div class="objective--objective-tick-icon--UntqE"><svg aria-hidden="true" focusable="false" class="ud-icon ud-icon-small ud-icon-color-neutral"><use xlink:href="#icon-tick"></use></svg></div><span>Learn how to deploy and test your GraphQL applications.</span></div><div class="objective--objective-item--0gf07"><div class="objective--objective-tick-icon--UntqE"><svg aria-hidden="true" focusable="false" class="ud-icon ud-icon-small ud-icon-color-neutral"><use xlink:href="#icon-tick"></use></svg></div><span>Test your skills and gain confidence by completing more than 80 coding challenges.</span></div><div class="objective--objective-item--0gf07"><div class="objective--objective-tick-icon--UntqE"><svg aria-hidden="true" focusable="false" class="ud-icon ud-icon-small ud-icon-color-neutral"><use xlink:href="#icon-tick"></use></svg></div><span>Get access to a free 110-page PDF guide with lecture notes, code samples, and documentation links.</span></div></div><div id="u202-tabs--1-content-1" role="tabpanel" class="ud-tab-content tabs-module--tab-content--y-r7m" tabindex="-1" data-purpose="tab-container" aria-labelledby="u202-tabs--1-tab-1"><div class="lecture-transcript--captions-info--gpckO"><svg aria-hidden="true" focusable="false" class="ud-icon ud-icon-small ud-icon-color-neutral"><use xlink:href="#icon-captions"></use></svg><div class="lecture-transcript--captions-language--93aBi">English [Auto]</div></div><div class="show-more-module--container--teP7C"><span id="u202-show-more--2" data-type="checkbox" data-checked="" style="display:none"></span><div class="show-more-module--content--Rw-xr show-more-module--with-gradient--f4HoJ" style="max-height:20rem"><div tabindex="-1"><div class="ud-text-sm">In this video. I want to take a few minutes to explore an important question, Arguably the most important question we have right now, which is why GraphQL? We&#x27;re about to spend a lot of time together learning this new tool. So we want to make sure it&#x27;s going to be time well spent. In this video, we&#x27;ll be talking about where GraphQL fits into our applications. We&#x27;ll explore some of the benefits of using GraphQL. And lastly, we&#x27;ll talk about why it&#x27;s become such a popular tool. I want to kick things off by talking about where GraphQL fits into our application. Now, if you&#x27;re like most people, your current application likely uses some form of a rest API where you&#x27;re making Http calls between your client and the server to send and receive data. Your application likely has at least one client. I&#x27;m going to go ahead and say that for our fictitious example, we have a few different clients. Let&#x27;s say that we have a web application where users can log in to manage their data and let&#x27;s say that we also give them a mobile application. One for iOS and one for Android that they can take with them on the go. Now our clients, these three represent just part of our entire application stack. We also have our server and our database at a minimum. So let&#x27;s represent those over here as well. Maybe we&#x27;re using Node.js with the MongoDB database, maybe we&#x27;re using Python with the Postgres database, or maybe we&#x27;re using Java with MySQL. It doesn&#x27;t matter. Any number of clients, phones, TVs, laptops can communicate with any number of servers because the glue between the two has always been standard Http requests, typically represented as some sort of rest API. Our rest API might have a dozen or so different URLs, different endpoints that can be used to communicate with the server. Maybe we have one for signing up, another for logging in. And let&#x27;s say we&#x27;re creating a blogging application so we have one for creating a new post and we have one for reading all of the available posts in the database. This is a pretty typical setup. When we introduce GraphQL, not a whole lot is going to change. We&#x27;re still going to be able to use any client and we&#x27;re still going to be able to use any server, although in this course we&#x27;re going to be focusing on Node.js. All we&#x27;re going to do is replace our Rest API with many endpoints with a GraphQL API that has just a single endpoint exposed. GraphQL stands for the graph query language, and this is something that also operates over Http, which means that we can use any backend language we want with any database we want and we can use any client we want. Maybe we have a web and mobile app. Maybe we also need to communicate with this GraphQL API from another server. That&#x27;s perfectly fine as well. GraphQL is super flexible and we&#x27;re going to see this throughout the course. So next up, I want to quickly go over why GraphQL is something that you should consider using. First up, GraphQL is fast, and to explore this, I want to go through a typical example of what it might look like to load the data necessary for a page with a rest API and then with a GraphQL API. So let&#x27;s say that we start with the rest API example. We still have some sort of client, let&#x27;s just say it&#x27;s a browser and we have our server. The glue between the two is that standard rest API where we have a dozen or so different endpoints for managing our application data. Let&#x27;s go ahead and make some Http requests to render a page. And let&#x27;s say this page is a page for reading a blog post, so we need the title of the post and we need the post body. How do we get those? We make an Http request that might look a little bit like this. We make a get request to the following URL forward slash posts. Forward slash one two, three. Where 123. Is that post id, the server is going to parse this URL, it&#x27;s going to find the correct data and it&#x27;s going to send it back likely in the form of Json. So the server responds saying something like Here are the post details. Now maybe we get those post details rendered to the page and we realize we want a bit more information. I also want to show at the end of the post other posts by that author because I want to keep people on the site. I want to give them something to read when they&#x27;re done with their currently reading. If I need more data, I make another request right here. I can make a second Http request to something like get forward slash posts here. I&#x27;m using a query string to filter by the post author. I want to find only posts with the following author. ID 3421. Just a made up id. Let&#x27;s assume this is the author ID of the post that we fetched. The server once again is going to parse all of this. It&#x27;s going to try to find other posts by that author and it is going to send them back so we can correctly render some of them at the bottom of the post page. Now let&#x27;s say there&#x27;s just one more thing we need to get. We need the comments made for this post so we can show those at the bottom as well. Right here, we&#x27;re going to make our third and final Http request for another resource here. We&#x27;re still making a get. Request to forward slash posts. Forward slash. One, two, three. The post ID forward slash comments. So we&#x27;re getting all comments for that post. This is a pretty standard rest API URL structure. Once again, the server goes off, it parses this and it sends back the data. And finally we have everything we need. We can get everything rendered to the screen, giving the user the best experience possible. Now let&#x27;s see how we might fetch the exact same data to render our blog post page, but using a GraphQL API. So we still want the post details like the title and body. I still want other posts by that author and I still want the post comments. Right here we have a client, We have a server. This time though, GraphQL is the glue between the two. And remember GraphQL can operate over Http. So in the end of the day we&#x27;re still just making Http requests. Let&#x27;s go ahead and make our first one getting the data needed for this page. Now the request we&#x27;re going to make is going to be a post request, and GraphQL exposes just a single endpoint. That&#x27;s a very important piece to the puzzle. Now, you could have called this whatever you liked. For this example, I happen to call it GraphQL, but we&#x27;ll see how to rename that throughout the course. Now, here&#x27;s the catch. With our request, we&#x27;re going to be sending along a GraphQL query. A GraphQL query lets the client describe exactly what data it needs from the server. The server then gets all of that data ready and it sends it back so the client can describe exactly what it needs and it gets that data nothing more and nothing less. This is a very powerful piece to the puzzle. Instead of the server determining what data gets sent back, it&#x27;s up to the client to request all of the data it needs. So in this case, I can actually request the post details other posts by that author and the post comments all with a single GraphQL request. Now the magic behind all of this is that GraphQL query. But that&#x27;s actually not something we&#x27;re going to talk about in this video, though it is a major topic of the course and we&#x27;ll be getting to it very soon. For now, all we need to know about the GraphQL query is that it lets the client determine what data it gets back as opposed to a traditional rest API endpoint where the server determines what data comes back from an endpoint. Now, clearly three requests is more than one request. So GraphQL in the end of the day is going to be faster. It&#x27;s going to allow us to get all of the data we need with one Http request. Now, raw speed alone is not enough to make a tool useful, and while that is an advantage of GraphQL, it&#x27;s definitely not the biggest advantage. In my opinion. The biggest advantage is the flexibility of GraphQL. So with that last example, you could have easily argued that the rest API portion of the example was completely contrived. I intentionally chose to make it three requests instead of one. Clearly three is bigger than one, so obviously it&#x27;s going to be a bit slower. But I made that choice to prove this point. We could absolutely cram all three of those endpoints into one. So let&#x27;s revisit our Rest API example right here. We have our client, Our server Rest API is the glue. We make our single Http request here. I&#x27;m just using that first endpoint we had. We get the post by ID and what do we get back? We get back everything. We get our post details, which is the title and the body. We get the comments for the post and we get other posts by that author. This would be a perfectly fine approach. It would give the client everything it needs to render that page with just a single Http request. And the problem with this solution is that we now have this one endpoint which is making way more database requests than it was before. It&#x27;s getting big and slow. It went from maybe making one database request to making at least three requests in order to get all of the data necessary. Now, for the desktop version of our app, that might be fine. Maybe we&#x27;re going to use all of the data right away, so let&#x27;s just get it. But what if we want a mobile version of our application to use the same back end? We make the Http request to that URL. And the problem is that the mobile application can&#x27;t change the data. It gets back on mobile devices. We have a whole different set of considerations. We have less screen real estate. We have battery life to worry about. We have slow and expensive data. We want to make sure that we&#x27;re not abusing the device. Otherwise people are going to get a poor user experience. The app is going to feel janky and they&#x27;re likely to uninstall. This is actually the original reason GraphQL was created. Facebook had the same problem. They had a desktop version of the application. They had a mobile version of the application and they didn&#x27;t always need the same data for both. They wanted a flexible way for the individual clients to request exactly the data they were going to use, nothing more and nothing less. So maybe on the mobile device we don&#x27;t want to load the comments until someone clicks a button at the bottom of the post like show comments. With this solution, it doesn&#x27;t really matter because the comments have already been loaded. It would be nicer if we could fetch the comments later when necessary. So the desktop and mobile devices both have different needs. This is not an issue we&#x27;re going to run into with the GraphQL API on the desktop, we make a GraphQL query specifying we need all of that information. We need the post itself, we need the comments and other posts by the author and on our mobile device, what do we do? We make an Http request to the same endpoint with a different GraphQL query. In this case we say maybe we just need the post details so we get back just the post details. So with the website version of our application where the query asks for a lot of data, the server is going to have to do a lot of work making those three or so database requests necessary to get everything. The nice thing though, is that on the mobile version of the application where the query asks for less data, the server does less work. In this case, making the one database request necessary to get the post title and the post body with the rest API. We didn&#x27;t have that same flexibility. We got the same response with both with GraphQL. It is the individual client that determines what data it gets back from the server. With a rest API, it is the server that determines what data gets sent back to what endpoint. And that&#x27;s a huge difference. Now, yes, in the end of the day you could go ahead and try to customize your rest API, maybe adding on query strings to determine whether or not you want the comments and whether or not you want the other posts by that author. But at that point you&#x27;re getting dangerously close to just recreating what GraphQL already offers. That&#x27;s why huge companies like Facebook and GitHub are using GraphQL in production today. It provides the speed and flexibility needed for real world applications. So we saw that GraphQL was fast and flexible. GraphQL is also easy to use and simple to maintain with a rest API. If the client needs different data, it typically requires us to add a new endpoint or change an existing one using a GraphQL API, though, the client just needs to change its query, making GraphQL APIs much simpler to maintain in my own personal opinion and experience. So that&#x27;s it. At this point, we&#x27;ve definitely asked more questions than we have answers to. For example, we have no idea what a GraphQL query is or how we&#x27;re going to set any of this up, and that is okay. For the moment, we&#x27;re going to dive into all of that in detail as always, a bit later in the class. For now, the only thing you really need to take away from this video is the following GraphQL creates fast and flexible APIs giving clients complete control to ask for just the data they need. This results in fewer Http requests, flexible data querying, and in general, less code to manage. We get all of the same advantages with this increased speed and flexibility. I am super excited to dive into the rest of the course and actually put all of this into practice with a real world production ready application. So let&#x27;s go ahead and jump right in to the next video.</div></div></div><button type="button" class="ud-btn ud-btn-medium ud-btn-ghost ud-btn-text-sm show-more-module--focusable-label--ucIIp" aria-label="Show more" data-css-toggle-id="u202-show-more--2"><span><span class="show-more-module--show-more--ObEu7">Show more</span><span class="show-more-module--show-less--jkOoQ">Show less</span></span><svg aria-hidden="true" focusable="false" class="ud-icon ud-icon-xsmall show-more-module--show-more--ObEu7"><use xlink:href="#icon-expand"></use></svg><svg aria-hidden="true" focusable="false" class="ud-icon ud-icon-xsmall show-more-module--show-less--jkOoQ"><use xlink:href="#icon-collapse"></use></svg></button></div></div></div></div>
 


            <div class="component-margin cta-container">
                

    


<div class="ud-component--lecture-landing-page--buy-button"
     
        data-component-props="{&quot;add_to_cart_redirect_url&quot;:&quot;/cart/added/course/1720558/&quot;,&quot;base_express_checkout&quot;:&quot;/payment/checkout/express/course/1720558/&quot;,&quot;enrollment_disabled&quot;:false,&quot;event_type&quot;:&quot;buy_now&quot;,&quot;icon&quot;:null,&quot;is_free_with_discount&quot;:false,&quot;require_popup&quot;:false,&quot;text&quot;:&quot;Buy now&quot;,&quot;buy_url&quot;:&quot;/payment/checkout/express/course/1720558/?discountCode=MT260615G2A1&quot;,&quot;preview_url&quot;:&quot;?couponCode=MT260615G2A1&quot;,&quot;payment_data&quot;:{&quot;buyableId&quot;:1720558,&quot;buyableType&quot;:&quot;course&quot;,&quot;discountInfo&quot;:{&quot;code&quot;:&quot;MT260615G2A1&quot;},&quot;purchasePrice&quot;:{&quot;amount&quot;:509.0,&quot;currency&quot;:&quot;INR&quot;,&quot;price_string&quot;:&quot;\u20b9509.00&quot;,&quot;currency_symbol&quot;:&quot;\u20b9&quot;}},&quot;size&quot;:&quot;large&quot;,&quot;style&quot;:&quot;primary&quot;,&quot;is_paid&quot;:true}"
     ><div data-unique-id="203" style="display:none"></div><div><button type="button" data-purpose="buy-this-course-button" class="ud-btn ud-btn-large ud-btn-primary ud-btn-text-md ud-btn-disabled styles--btn--express-checkout--G4Ja4" disabled="" tabindex="-1"><span class="ud-btn-label">Buy now</span></button></div></div>



                

    <a class="ud-btn ud-btn-large ud-link-neutral ud-btn-ghost ud-heading-md explore-course-button"
       href="/course/graphql-bootcamp/">
        More about this course
    </a>


            </div>
            <div class="component-margin">
                


<div class="ud-component--lecture-landing-page--related-topics-unit"
     
        data-component-props="{}"
     ></div>

            </div>
        </div>
    </div>


            </div>

            
                
                <div class="ud-app-loader ud-component--footer--footer-container ud-footer-container"
                     data-module-id="common/desktop"
                     data-module-args="{&quot;hideFooterUntilContentReady&quot;:false,&quot;currentLocaleId&quot;:&quot;en_US&quot;,&quot;linkColumns&quot;:[[{&quot;feature_flag&quot;:&quot;footer.links.business&quot;,&quot;href&quot;:&quot;/udemy-business/?locale=en_US\u0026mx_pg=index\u0026path=%2F\u0026ref=footer&quot;,&quot;text&quot;:&quot;Udemy Business&quot;},{&quot;feature_flag&quot;:&quot;footer.links.teach&quot;,&quot;href&quot;:&quot;/teaching/?ref=teach_footer&quot;,&quot;text&quot;:&quot;Teach on Udemy&quot;},{&quot;is_disabled&quot;:false,&quot;href&quot;:&quot;/mobile/&quot;,&quot;open_in_new_tab&quot;:true,&quot;text&quot;:&quot;Get the app&quot;},{&quot;feature_flag&quot;:&quot;footer.links.about&quot;,&quot;href&quot;:&quot;https://about.udemy.com/?locale=en-us&quot;,&quot;text&quot;:&quot;About us&quot;},{&quot;feature_flag&quot;:&quot;footer.links.contact&quot;,&quot;href&quot;:&quot;https://about.udemy.com/company?locale=en-us#offices&quot;,&quot;text&quot;:&quot;Contact us&quot;}],[{&quot;feature_flag&quot;:&quot;footer.links.careers&quot;,&quot;href&quot;:&quot;https://about.udemy.com/careers?locale=en-us&quot;,&quot;text&quot;:&quot;Careers&quot;},{&quot;feature_flag&quot;:&quot;footer.links.blog&quot;,&quot;href&quot;:&quot;https://blog.udemy.com/?ref=footer&quot;,&quot;text&quot;:&quot;Blog&quot;},{&quot;href&quot;:&quot;/support/&quot;,&quot;text&quot;:&quot;Help and Support&quot;},{&quot;feature_flag&quot;:&quot;footer.links.affiliates&quot;,&quot;href&quot;:&quot;/affiliate/&quot;,&quot;text&quot;:&quot;Affiliate&quot;},{&quot;is_disabled&quot;:false,&quot;href&quot;:&quot;https://investors.udemy.com&quot;,&quot;text&quot;:&quot;Investors&quot;},{&quot;is_disabled&quot;:true,&quot;href&quot;:&quot;https://www.udemy.com/terms/terms-of-use/&quot;,&quot;text&quot;:&quot;Terms&quot;},{&quot;style&quot;:{&quot;display&quot;:&quot;none&quot;},&quot;data_purpose&quot;:&quot;footer-imprint-contact&quot;,&quot;href&quot;:&quot;https://www.udemy.com/terms/imprint-contact/&quot;,&quot;text&quot;:&quot;Impressum Kontakt&quot;}],[{&quot;is_disabled&quot;:false,&quot;href&quot;:&quot;https://www.udemy.com/terms/terms-of-use/&quot;,&quot;text&quot;:&quot;Terms&quot;},{&quot;href&quot;:&quot;https://www.udemy.com/terms/privacy/&quot;,&quot;text&quot;:&quot;Privacy policy&quot;},{&quot;data_purpose&quot;:&quot;footer.links.cookie_preferences&quot;,&quot;style&quot;:{&quot;display&quot;:&quot;none&quot;},&quot;text&quot;:&quot;Cookie settings&quot;,&quot;text_us_mx&quot;:&quot;Do not sell or share my personal information&quot;},{&quot;href&quot;:&quot;/sitemap/&quot;,&quot;text&quot;:&quot;Sitemap&quot;},{&quot;href&quot;:&quot;https://about.udemy.com/accessibility-statement?locale=en-us&quot;,&quot;text&quot;:&quot;Accessibility statement&quot;}]],&quot;browseCertificationLinks&quot;:[{&quot;title&quot;:&quot;Certifications by Issuer&quot;,&quot;links&quot;:[{&quot;href&quot;:&quot;/browse/certification/aws-certifications/&quot;,&quot;text&quot;:&quot;Amazon Web Services (AWS) Certifications&quot;},{&quot;href&quot;:&quot;/browse/certification/six-sigma-certifications/&quot;,&quot;text&quot;:&quot;Six Sigma Certifications&quot;},{&quot;href&quot;:&quot;/browse/certification/microsoft-certifications/&quot;,&quot;text&quot;:&quot;Microsoft Certifications&quot;},{&quot;href&quot;:&quot;/browse/certification/cisco-certifications/&quot;,&quot;text&quot;:&quot;Cisco Certifications&quot;},{&quot;href&quot;:&quot;/browse/certification/tableau-certifications/&quot;,&quot;text&quot;:&quot;Tableau Certifications&quot;},{&quot;href&quot;:&quot;/browse/certification/&quot;,&quot;text&quot;:&quot;See all Certifications&quot;}]},{&quot;title&quot;:&quot;Certifications by Skill&quot;,&quot;links&quot;:[{&quot;href&quot;:&quot;/browse/certification/cybersecurity-certifications/&quot;,&quot;text&quot;:&quot;Cybersecurity Certification&quot;},{&quot;href&quot;:&quot;/browse/certification/project-management-certifications/&quot;,&quot;text&quot;:&quot;Project Management Certification&quot;},{&quot;href&quot;:&quot;/browse/certification/cloud-certifications/&quot;,&quot;text&quot;:&quot;Cloud Certification&quot;},{&quot;href&quot;:&quot;/browse/certification/data-analytics-certifications/&quot;,&quot;text&quot;:&quot;Data Analytics Certification&quot;},{&quot;href&quot;:&quot;/browse/certification/hr-management-certifications/&quot;,&quot;text&quot;:&quot;HR Management Certification&quot;},{&quot;href&quot;:&quot;/browse/certification/&quot;,&quot;text&quot;:&quot;See all Certifications&quot;}]}],&quot;careerAcceleratorLinks&quot;:[{&quot;href&quot;:&quot;/career/data-scientist/&quot;,&quot;text&quot;:&quot;Data Scientist&quot;},{&quot;href&quot;:&quot;/career/full-stack-web-developer/&quot;,&quot;text&quot;:&quot;Full Stack Web Developer&quot;},{&quot;href&quot;:&quot;/career/cloud-engineer/&quot;,&quot;text&quot;:&quot;Cloud Engineer&quot;},{&quot;href&quot;:&quot;/career/project-manager/&quot;,&quot;text&quot;:&quot;Project Manager&quot;},{&quot;href&quot;:&quot;/career/game-developer/&quot;,&quot;text&quot;:&quot;Game Developer&quot;},{&quot;href&quot;:&quot;/career-accelerators/&quot;,&quot;text&quot;:&quot;All Career Accelerators&quot;}],&quot;browseTopicLinks&quot;:[{&quot;title&quot;:&quot;Web Development&quot;,&quot;links&quot;:[{&quot;href&quot;:&quot;/topic/web-development/&quot;,&quot;text&quot;:&quot;Web Development&quot;},{&quot;href&quot;:&quot;/topic/javascript/&quot;,&quot;text&quot;:&quot;JavaScript&quot;},{&quot;href&quot;:&quot;/topic/react/&quot;,&quot;text&quot;:&quot;React JS&quot;},{&quot;href&quot;:&quot;/topic/angular/&quot;,&quot;text&quot;:&quot;Angular&quot;},{&quot;href&quot;:&quot;/topic/java/&quot;,&quot;text&quot;:&quot;Java&quot;}]},{&quot;title&quot;:&quot;IT Certifications&quot;,&quot;links&quot;:[{&quot;href&quot;:&quot;/topic/amazon-aws/&quot;,&quot;text&quot;:&quot;Amazon AWS&quot;},{&quot;href&quot;:&quot;/topic/aws-certified-cloud-practitioner/&quot;,&quot;text&quot;:&quot;AWS Certified Cloud Practitioner&quot;},{&quot;href&quot;:&quot;/topic/microsoft-az-900/&quot;,&quot;text&quot;:&quot;AZ-900: Microsoft Azure Fundamentals&quot;},{&quot;href&quot;:&quot;/topic/aws-certified-solutions-architect-associate/&quot;,&quot;text&quot;:&quot;AWS Certified Solutions Architect - Associate&quot;},{&quot;href&quot;:&quot;/topic/kubernetes/&quot;,&quot;text&quot;:&quot;Kubernetes&quot;}]},{&quot;title&quot;:&quot;Leadership&quot;,&quot;links&quot;:[{&quot;href&quot;:&quot;/topic/leadership/&quot;,&quot;text&quot;:&quot;Leadership&quot;},{&quot;href&quot;:&quot;/topic/management-skills/&quot;,&quot;text&quot;:&quot;Management Skills&quot;},{&quot;href&quot;:&quot;/topic/project-management/&quot;,&quot;text&quot;:&quot;Project Management&quot;},{&quot;href&quot;:&quot;/topic/personal-productivity/&quot;,&quot;text&quot;:&quot;Personal Productivity&quot;},{&quot;href&quot;:&quot;/topic/emotional-intelligence/&quot;,&quot;text&quot;:&quot;Emotional Intelligence&quot;}]},{&quot;title&quot;:&quot;Data Science&quot;,&quot;links&quot;:[{&quot;href&quot;:&quot;/topic/data-science/&quot;,&quot;text&quot;:&quot;Data Science&quot;},{&quot;href&quot;:&quot;/topic/python/&quot;,&quot;text&quot;:&quot;Python&quot;},{&quot;href&quot;:&quot;/topic/machine-learning/&quot;,&quot;text&quot;:&quot;Machine Learning&quot;},{&quot;href&quot;:&quot;/topic/chatgpt/&quot;,&quot;text&quot;:&quot;ChatGPT&quot;},{&quot;href&quot;:&quot;/topic/deep-learning/&quot;,&quot;text&quot;:&quot;Deep Learning&quot;}]},{&quot;title&quot;:&quot;Communication&quot;,&quot;links&quot;:[{&quot;href&quot;:&quot;/topic/communication-skills/&quot;,&quot;text&quot;:&quot;Communication Skills&quot;},{&quot;href&quot;:&quot;/topic/presentation-skills/&quot;,&quot;text&quot;:&quot;Presentation Skills&quot;},{&quot;href&quot;:&quot;/topic/public-speaking/&quot;,&quot;text&quot;:&quot;Public Speaking&quot;},{&quot;href&quot;:&quot;/topic/writing/&quot;,&quot;text&quot;:&quot;Writing&quot;},{&quot;href&quot;:&quot;/topic/powerpoint/&quot;,&quot;text&quot;:&quot;PowerPoint&quot;}]},{&quot;title&quot;:&quot;Business Analytics \u0026 Intelligence&quot;,&quot;links&quot;:[{&quot;href&quot;:&quot;/topic/excel/&quot;,&quot;text&quot;:&quot;Microsoft Excel&quot;},{&quot;href&quot;:&quot;/topic/sql/&quot;,&quot;text&quot;:&quot;SQL&quot;},{&quot;href&quot;:&quot;/topic/microsoft-power-bi/&quot;,&quot;text&quot;:&quot;Microsoft Power BI&quot;},{&quot;href&quot;:&quot;/topic/data-analysis/&quot;,&quot;text&quot;:&quot;Data Analysis&quot;},{&quot;href&quot;:&quot;/topic/business-analysis/&quot;,&quot;text&quot;:&quot;Business Analysis&quot;}]}],&quot;structuredLinkColumns&quot;:[{&quot;title&quot;:&quot;About&quot;,&quot;links&quot;:[{&quot;feature_flag&quot;:&quot;footer.links.about&quot;,&quot;href&quot;:&quot;https://about.udemy.com/?locale=en-us&quot;,&quot;text&quot;:&quot;About us&quot;},{&quot;feature_flag&quot;:&quot;footer.links.careers&quot;,&quot;href&quot;:&quot;https://about.udemy.com/careers?locale=en-us&quot;,&quot;text&quot;:&quot;Careers&quot;},{&quot;feature_flag&quot;:&quot;footer.links.contact&quot;,&quot;href&quot;:&quot;https://about.udemy.com/company?locale=en-us#offices&quot;,&quot;text&quot;:&quot;Contact us&quot;},{&quot;feature_flag&quot;:&quot;footer.links.blog&quot;,&quot;href&quot;:&quot;https://blog.udemy.com/?ref=footer&quot;,&quot;text&quot;:&quot;Blog&quot;},{&quot;is_disabled&quot;:false,&quot;href&quot;:&quot;https://investors.udemy.com&quot;,&quot;text&quot;:&quot;Investors&quot;},{&quot;href&quot;:&quot;https://www.coursera.org/&quot;,&quot;open_in_new_tab&quot;:true,&quot;text&quot;:&quot;Find more on Coursera&quot;}]},{&quot;title&quot;:&quot;Discover Udemy&quot;,&quot;links&quot;:[{&quot;is_disabled&quot;:false,&quot;href&quot;:&quot;/mobile/&quot;,&quot;open_in_new_tab&quot;:true,&quot;text&quot;:&quot;Get the app&quot;},{&quot;feature_flag&quot;:&quot;footer.links.teach&quot;,&quot;href&quot;:&quot;/teaching/?ref=teach_footer&quot;,&quot;text&quot;:&quot;Teach on Udemy&quot;},{&quot;href&quot;:&quot;https://www.udemy.com/pricing/?ref=footer&quot;,&quot;text&quot;:&quot;Plans and Pricing&quot;},{&quot;feature_flag&quot;:&quot;footer.links.affiliates&quot;,&quot;href&quot;:&quot;/affiliate/&quot;,&quot;text&quot;:&quot;Affiliate&quot;},{&quot;href&quot;:&quot;/support/&quot;,&quot;text&quot;:&quot;Help and Support&quot;}]},{&quot;title&quot;:&quot;Udemy for Business&quot;,&quot;links&quot;:[{&quot;feature_flag&quot;:&quot;footer.links.business&quot;,&quot;href&quot;:&quot;/udemy-business/?locale=en_US\u0026mx_pg=index\u0026path=%2F\u0026ref=footer&quot;,&quot;text&quot;:&quot;Udemy Business&quot;}]},{&quot;title&quot;:&quot;Legal \u0026 Accessibility&quot;,&quot;links&quot;:[{&quot;href&quot;:&quot;https://about.udemy.com/accessibility-statement?locale=en-us&quot;,&quot;text&quot;:&quot;Accessibility statement&quot;},{&quot;href&quot;:&quot;https://www.udemy.com/terms/privacy/&quot;,&quot;text&quot;:&quot;Privacy policy&quot;},{&quot;href&quot;:&quot;/sitemap/&quot;,&quot;text&quot;:&quot;Sitemap&quot;},{&quot;is_disabled&quot;:false,&quot;href&quot;:&quot;https://www.udemy.com/terms/terms-of-use/&quot;,&quot;text&quot;:&quot;Terms&quot;}]}],&quot;bottomLinks&quot;:[{&quot;data_purpose&quot;:&quot;footer.links.cookie_preferences&quot;,&quot;style&quot;:{&quot;display&quot;:&quot;none&quot;},&quot;text&quot;:&quot;Cookie settings&quot;,&quot;text_us_mx&quot;:&quot;Do not sell or share my personal information&quot;}],&quot;isJpFooter&quot;:false,&quot;ufbNotice&quot;:{&quot;link&quot;:&quot;/udemy-business/?locale=en_US\u0026path=request-demo-in-mx%2F\u0026ref=footer-ad&quot;,&quot;placement&quot;:&quot;footer-ad&quot;,&quot;isOnsiteRequestDemo&quot;:false}}"
                     data-module-priority="-10"><div data-unique-id="204" style="display:none"></div><footer class="ud-footer" data-purpose="footer"><div class="footer-section ufb-notice-module--notice-row--LgC7t" data-testid="ufb-notice"><div class="ud-heading-lg ufb-notice-module--notice--NOcJY"><span>Top companies choose <a data-purpose="ufb-link" class="inverted-link" href="/udemy-business/?locale=en_US&amp;path=request-demo-in-mx%2F&amp;ref=footer-ad" target="_blank" rel="noopener">Udemy Business</a> to build in-demand career skills.</span></div><div class="ufb-notice-module--partner-logos--vHIWo"><img src="https://s.udemycdn.com/partner-logos/v4/nasdaq-light.svg" alt="Nasdaq" height="44" width="115" loading="lazy"/><img src="https://s.udemycdn.com/partner-logos/v4/volkswagen-light.svg" alt="Volkswagen" height="44" width="44" loading="lazy"/><img src="https://s.udemycdn.com/partner-logos/v4/netapp-light.svg" alt="NetApp" height="44" width="115" loading="lazy"/><img src="https://s.udemycdn.com/partner-logos/v4/eventbrite-light.svg" alt="Eventbrite" height="44" width="115" loading="lazy"/></div></div><div class="footer-section footer-section-main"><div class="links-and-language-selector"><div class="language-selector-container"><button type="button" class="ud-btn ud-btn-medium ud-btn-white-outline ud-text-md language-selector-button-module--button--iLcUV" data-testid="language-selector-button"><svg aria-hidden="true" focusable="false" class="ud-icon ud-icon-small"><use xlink:href="#icon-language"></use></svg><span>English</span></button></div><ul class="ud-unstyled-list link-column"><li><a href="/udemy-business/?locale=en_US&amp;mx_pg=index&amp;path=%2F&amp;ref=footer" class="link white-link ud-text-sm" target="_blank" rel="noopener">Udemy Business</a></li><li><a class="link white-link ud-text-sm" href="/teaching/?ref=teach_footer">Teach on Udemy</a></li><li><a class="link white-link ud-text-sm" href="/mobile/" target="_blank" rel="noopener noreferrer">Get the app</a></li><li><a class="link white-link ud-text-sm" href="https://about.udemy.com/?locale=en-us">About us</a></li><li><a class="link white-link ud-text-sm" href="https://about.udemy.com/company?locale=en-us#offices">Contact us</a></li></ul><ul class="ud-unstyled-list link-column"><li><a class="link white-link ud-text-sm" href="https://about.udemy.com/careers?locale=en-us">Careers</a></li><li><a class="link white-link ud-text-sm" href="https://blog.udemy.com/?ref=footer">Blog</a></li><li><a class="link white-link ud-text-sm" href="/support/">Help and Support</a></li><li><a class="link white-link ud-text-sm" href="/affiliate/">Affiliate</a></li><li><a class="link white-link ud-text-sm" href="https://investors.udemy.com">Investors</a></li></ul><ul class="ud-unstyled-list link-column"><li><a class="link white-link ud-text-sm" href="https://www.udemy.com/terms/terms-of-use/">Terms</a></li><li><a class="link white-link ud-text-sm" href="https://www.udemy.com/terms/privacy/">Privacy policy</a></li><li><a class="link white-link ud-text-sm" href="/sitemap/">Sitemap</a></li><li><a class="link white-link ud-text-sm" href="https://about.udemy.com/accessibility-statement?locale=en-us">Accessibility statement</a></li></ul></div><div class="logo-and-copyright"><div class="logo-container" data-testid="logo-container"><a href="/" class="ud-btn ud-btn-medium ud-btn-link ud-btn-text-sm"><img src="/staticx/udemy/images/v7/logo-udemy-inverted.svg" alt="Udemy" width="91.07142857142857" height="34" loading="eager"/></a></div><div class="copyright-container ud-text-xs">© 2026 Udemy, Inc.</div></div></div></footer></div>
                
            

            
                
            
        </div>

        
            <div class="ud-app-loader ud-component--ui-feedback--ui-feedback"
                 data-module-id="common/desktop"
                 data-module-args="{&quot;uiMessages&quot;:[]}"
                 data-module-priority="-10"></div>
        

        
            


<script nonce="ysM10WIlXEgF+lyXdhNCBLhBnioDa09E95R9WKWrif4=" type="text/javascript" src="/staticx/udemy/js/webpack/entry-main-manifest.456d0113ccbe12d1dc24.js" defer></script>
<script nonce="ysM10WIlXEgF+lyXdhNCBLhBnioDa09E95R9WKWrif4=" type="text/javascript" src="/staticx/udemy/js/webpack/entry-main-vendor.86530af4e5ca0b06acba.js" defer></script>

    <script nonce="ysM10WIlXEgF+lyXdhNCBLhBnioDa09E95R9WKWrif4=" type="text/javascript" src="/staticx/udemy/js/webpack/jsi18n-en-us-discovery-core.32e1b7cd7dc0cfbe0fa2.js" defer></script>

<script nonce="ysM10WIlXEgF+lyXdhNCBLhBnioDa09E95R9WKWrif4=" type="text/javascript" src="/staticx/udemy/js/webpack/entry-main.ecfd27a1798e2f9cd87d.js" defer></script>
<script nonce="ysM10WIlXEgF+lyXdhNCBLhBnioDa09E95R9WKWrif4=">
    window.handleCSSToggleButtonClick = function (event) {
        var target = event.currentTarget;
        var cssToggleId = target && target.dataset && target.dataset.cssToggleId;
        var input = cssToggleId && document.getElementById(cssToggleId);
        if (input) {
            if (input.dataset.type === 'checkbox') {
                input.dataset.checked = input.dataset.checked ? '' : 'checked';
            } else {
                input.dataset.checked = input.dataset.allowToggle && input.dataset.checked ? '' : 'checked';
                var radios = document.querySelectorAll('[name="' + input.dataset.name + '"]');
                for (var i = 0; i < radios.length; i++) {
                    if (radios[i] !== input) {
                        radios[i].dataset.checked = '';
                    }
                }
            }
        }
    };
    (function () {
        var cssToggleButtons = document.querySelectorAll('[data-css-toggle-id');
        for (var i = 0; i < cssToggleButtons.length; i++) {
            cssToggleButtons[i].addEventListener('click', window.handleCSSToggleButtonClick);
        }
    })();
</script>

        

        
            <div class="ud-app-loader ud-component--event-tracking--tracker-initializer"
                 data-module-id="common/desktop"
                 data-module-priority="-10"></div>
        

        
            <div class="ud-app-loader ud-component--auth--add-phone-number-toast"
                 data-module-id="common/desktop"
                 data-module-priority="-10"></div>
        
    </body>
</html>
