ShopifyDevs
내용
[subtitle-meta] lang=en auto=True
[Music]
hi i'm liz and i'm on the developer
relations team here at shopify in this
series we'll be going over the
essentials to get you started as a
shopify app developer
let's start by understanding what a
shopify app is and how they can be used
to sell merchants challenges around the
world
a shopify app uses shopify's apis web
hooks and platform extension points to
extend and create new functionality for
shopify merchants and their customers
shopify has millions of merchants using
the platform that's millions of
different use cases and business needs
shopify can't solve everything for
everyone that's why we empower
third-party developers to create
solutions for these vast needs
imagine you're a brand new shopify
merchant and you're setting up a store
that sells
snowboards you're gonna want a way for
customers who buy the snowboard to leave
a review of just how awesome it was the
shopify platform doesn't have the
functionality for customers to leave
reviews out of the box
so as a merchant you'd head over to the
shopify app store and investigate some
apps
you then install an app on your store
that matched your requirements your
online store would now have the
functionality you wanted customers could
leave reviews the third-party developer
who built this app would have probably
built a web app with ui for merchants to
be able to manage which reviews would be
shown
the app can interact with merchants data
to the shopify graphql admin api the
reviews could be serviced on the
merchant's online store through shopify
theme app extensions the method for apps
to add content to a merchant's online
store
app developers get to determine their
business model merchants can be charged
a one-time fee recurring fee or based
off their usage of the app we've just
scratched the service to shop by app
development for more information make
sure to subscribe to this channel and
check out our documentation over on
shopify.dev join the conversation over
on our shopify dev's discord server to
meet fellow developers and ask questions
[Music]
you
원문 자막 펼치기
WEBVTT Kind: captions Language: en 00:00:02.730 --> 00:00:04.309 align:start position:0% [Music] 00:00:04.309 --> 00:00:04.319 align:start position:0% [Music] 00:00:04.319 --> 00:00:06.230 align:start position:0% [Music] hi<00:00:04.880><c> i'm</c><00:00:05.120><c> liz</c><00:00:05.440><c> and</c><00:00:05.600><c> i'm</c><00:00:05.680><c> on</c><00:00:05.759><c> the</c><00:00:05.839><c> developer</c> 00:00:06.230 --> 00:00:06.240 align:start position:0% hi i'm liz and i'm on the developer 00:00:06.240 --> 00:00:08.549 align:start position:0% hi i'm liz and i'm on the developer relations<00:00:06.640><c> team</c><00:00:06.879><c> here</c><00:00:07.120><c> at</c><00:00:07.200><c> shopify</c><00:00:08.240><c> in</c><00:00:08.400><c> this</c> 00:00:08.549 --> 00:00:08.559 align:start position:0% relations team here at shopify in this 00:00:08.559 --> 00:00:09.509 align:start position:0% relations team here at shopify in this series<00:00:08.880><c> we'll</c><00:00:09.040><c> be</c><00:00:09.120><c> going</c><00:00:09.280><c> over</c><00:00:09.440><c> the</c> 00:00:09.509 --> 00:00:09.519 align:start position:0% series we'll be going over the 00:00:09.519 --> 00:00:10.790 align:start position:0% series we'll be going over the essentials<00:00:09.920><c> to</c><00:00:10.080><c> get</c><00:00:10.160><c> you</c><00:00:10.320><c> started</c><00:00:10.639><c> as</c><00:00:10.719><c> a</c> 00:00:10.790 --> 00:00:10.800 align:start position:0% essentials to get you started as a 00:00:10.800 --> 00:00:12.709 align:start position:0% essentials to get you started as a shopify<00:00:11.280><c> app</c><00:00:11.440><c> developer</c> 00:00:12.709 --> 00:00:12.719 align:start position:0% shopify app developer 00:00:12.719 --> 00:00:14.150 align:start position:0% shopify app developer let's<00:00:12.880><c> start</c><00:00:13.040><c> by</c><00:00:13.280><c> understanding</c><00:00:13.840><c> what</c><00:00:14.080><c> a</c> 00:00:14.150 --> 00:00:14.160 align:start position:0% let's start by understanding what a 00:00:14.160 --> 00:00:15.669 align:start position:0% let's start by understanding what a shopify<00:00:14.480><c> app</c><00:00:14.799><c> is</c><00:00:15.040><c> and</c><00:00:15.120><c> how</c><00:00:15.360><c> they</c><00:00:15.440><c> can</c><00:00:15.599><c> be</c><00:00:15.679><c> used</c> 00:00:15.669 --> 00:00:15.679 align:start position:0% shopify app is and how they can be used 00:00:15.679 --> 00:00:17.510 align:start position:0% shopify app is and how they can be used to<00:00:15.759><c> sell</c><00:00:16.000><c> merchants</c><00:00:16.400><c> challenges</c><00:00:17.119><c> around</c><00:00:17.440><c> the</c> 00:00:17.510 --> 00:00:17.520 align:start position:0% to sell merchants challenges around the 00:00:17.520 --> 00:00:18.390 align:start position:0% to sell merchants challenges around the world 00:00:18.390 --> 00:00:18.400 align:start position:0% world 00:00:18.400 --> 00:00:20.950 align:start position:0% world a<00:00:18.560><c> shopify</c><00:00:19.119><c> app</c><00:00:19.359><c> uses</c><00:00:19.600><c> shopify's</c><00:00:20.160><c> apis</c><00:00:20.720><c> web</c> 00:00:20.950 --> 00:00:20.960 align:start position:0% a shopify app uses shopify's apis web 00:00:20.960 --> 00:00:23.269 align:start position:0% a shopify app uses shopify's apis web hooks<00:00:21.359><c> and</c><00:00:21.520><c> platform</c><00:00:22.000><c> extension</c><00:00:22.400><c> points</c><00:00:22.880><c> to</c> 00:00:23.269 --> 00:00:23.279 align:start position:0% hooks and platform extension points to 00:00:23.279 --> 00:00:25.029 align:start position:0% hooks and platform extension points to extend<00:00:23.760><c> and</c><00:00:23.840><c> create</c><00:00:24.160><c> new</c><00:00:24.320><c> functionality</c><00:00:24.880><c> for</c> 00:00:25.029 --> 00:00:25.039 align:start position:0% extend and create new functionality for 00:00:25.039 --> 00:00:27.990 align:start position:0% extend and create new functionality for shopify<00:00:25.519><c> merchants</c><00:00:26.320><c> and</c><00:00:26.400><c> their</c><00:00:26.640><c> customers</c> 00:00:27.990 --> 00:00:28.000 align:start position:0% shopify merchants and their customers 00:00:28.000 --> 00:00:29.910 align:start position:0% shopify merchants and their customers shopify<00:00:28.560><c> has</c><00:00:28.880><c> millions</c><00:00:29.199><c> of</c><00:00:29.279><c> merchants</c><00:00:29.679><c> using</c> 00:00:29.910 --> 00:00:29.920 align:start position:0% shopify has millions of merchants using 00:00:29.920 --> 00:00:31.509 align:start position:0% shopify has millions of merchants using the<00:00:30.080><c> platform</c><00:00:30.720><c> that's</c><00:00:31.039><c> millions</c><00:00:31.439><c> of</c> 00:00:31.509 --> 00:00:31.519 align:start position:0% the platform that's millions of 00:00:31.519 --> 00:00:33.990 align:start position:0% the platform that's millions of different<00:00:31.760><c> use</c><00:00:32.000><c> cases</c><00:00:32.399><c> and</c><00:00:32.559><c> business</c><00:00:32.960><c> needs</c> 00:00:33.990 --> 00:00:34.000 align:start position:0% different use cases and business needs 00:00:34.000 --> 00:00:35.670 align:start position:0% different use cases and business needs shopify<00:00:34.559><c> can't</c><00:00:34.800><c> solve</c><00:00:35.200><c> everything</c><00:00:35.520><c> for</c> 00:00:35.670 --> 00:00:35.680 align:start position:0% shopify can't solve everything for 00:00:35.680 --> 00:00:37.750 align:start position:0% shopify can't solve everything for everyone<00:00:36.640><c> that's</c><00:00:36.880><c> why</c><00:00:37.040><c> we</c><00:00:37.200><c> empower</c> 00:00:37.750 --> 00:00:37.760 align:start position:0% everyone that's why we empower 00:00:37.760 --> 00:00:39.030 align:start position:0% everyone that's why we empower third-party<00:00:38.160><c> developers</c><00:00:38.640><c> to</c><00:00:38.719><c> create</c> 00:00:39.030 --> 00:00:39.040 align:start position:0% third-party developers to create 00:00:39.040 --> 00:00:41.110 align:start position:0% third-party developers to create solutions<00:00:39.440><c> for</c><00:00:39.520><c> these</c><00:00:39.760><c> vast</c><00:00:40.079><c> needs</c> 00:00:41.110 --> 00:00:41.120 align:start position:0% solutions for these vast needs 00:00:41.120 --> 00:00:42.709 align:start position:0% solutions for these vast needs imagine<00:00:41.520><c> you're</c><00:00:41.760><c> a</c><00:00:41.840><c> brand</c><00:00:42.160><c> new</c><00:00:42.320><c> shopify</c> 00:00:42.709 --> 00:00:42.719 align:start position:0% imagine you're a brand new shopify 00:00:42.719 --> 00:00:44.150 align:start position:0% imagine you're a brand new shopify merchant<00:00:43.120><c> and</c><00:00:43.200><c> you're</c><00:00:43.360><c> setting</c><00:00:43.680><c> up</c><00:00:43.840><c> a</c><00:00:43.920><c> store</c> 00:00:44.150 --> 00:00:44.160 align:start position:0% merchant and you're setting up a store 00:00:44.160 --> 00:00:45.510 align:start position:0% merchant and you're setting up a store that<00:00:44.320><c> sells</c> 00:00:45.510 --> 00:00:45.520 align:start position:0% that sells 00:00:45.520 --> 00:00:47.830 align:start position:0% that sells snowboards<00:00:46.719><c> you're</c><00:00:46.960><c> gonna</c><00:00:47.120><c> want</c><00:00:47.360><c> a</c><00:00:47.440><c> way</c><00:00:47.680><c> for</c> 00:00:47.830 --> 00:00:47.840 align:start position:0% snowboards you're gonna want a way for 00:00:47.840 --> 00:00:49.910 align:start position:0% snowboards you're gonna want a way for customers<00:00:48.239><c> who</c><00:00:48.559><c> buy</c><00:00:48.719><c> the</c><00:00:48.879><c> snowboard</c><00:00:49.520><c> to</c><00:00:49.680><c> leave</c> 00:00:49.910 --> 00:00:49.920 align:start position:0% customers who buy the snowboard to leave 00:00:49.920 --> 00:00:52.150 align:start position:0% customers who buy the snowboard to leave a<00:00:50.000><c> review</c><00:00:50.320><c> of</c><00:00:50.480><c> just</c><00:00:50.640><c> how</c><00:00:50.879><c> awesome</c><00:00:51.199><c> it</c><00:00:51.280><c> was</c><00:00:52.000><c> the</c> 00:00:52.150 --> 00:00:52.160 align:start position:0% a review of just how awesome it was the 00:00:52.160 --> 00:00:53.430 align:start position:0% a review of just how awesome it was the shopify<00:00:52.640><c> platform</c><00:00:52.960><c> doesn't</c><00:00:53.199><c> have</c><00:00:53.280><c> the</c> 00:00:53.430 --> 00:00:53.440 align:start position:0% shopify platform doesn't have the 00:00:53.440 --> 00:00:54.790 align:start position:0% shopify platform doesn't have the functionality<00:00:53.920><c> for</c><00:00:54.079><c> customers</c><00:00:54.559><c> to</c><00:00:54.640><c> leave</c> 00:00:54.790 --> 00:00:54.800 align:start position:0% functionality for customers to leave 00:00:54.800 --> 00:00:56.549 align:start position:0% functionality for customers to leave reviews<00:00:55.280><c> out</c><00:00:55.360><c> of</c><00:00:55.440><c> the</c><00:00:55.600><c> box</c> 00:00:56.549 --> 00:00:56.559 align:start position:0% reviews out of the box 00:00:56.559 --> 00:00:57.990 align:start position:0% reviews out of the box so<00:00:56.800><c> as</c><00:00:56.879><c> a</c><00:00:56.960><c> merchant</c><00:00:57.280><c> you'd</c><00:00:57.440><c> head</c><00:00:57.600><c> over</c><00:00:57.760><c> to</c><00:00:57.920><c> the</c> 00:00:57.990 --> 00:00:58.000 align:start position:0% so as a merchant you'd head over to the 00:00:58.000 --> 00:00:59.750 align:start position:0% so as a merchant you'd head over to the shopify<00:00:58.320><c> app</c><00:00:58.480><c> store</c><00:00:58.879><c> and</c><00:00:59.039><c> investigate</c><00:00:59.520><c> some</c> 00:00:59.750 --> 00:00:59.760 align:start position:0% shopify app store and investigate some 00:00:59.760 --> 00:01:00.709 align:start position:0% shopify app store and investigate some apps 00:01:00.709 --> 00:01:00.719 align:start position:0% apps 00:01:00.719 --> 00:01:02.310 align:start position:0% apps you<00:01:00.879><c> then</c><00:01:01.120><c> install</c><00:01:01.440><c> an</c><00:01:01.600><c> app</c><00:01:01.760><c> on</c><00:01:01.920><c> your</c><00:01:02.000><c> store</c> 00:01:02.310 --> 00:01:02.320 align:start position:0% you then install an app on your store 00:01:02.320 --> 00:01:04.149 align:start position:0% you then install an app on your store that<00:01:02.480><c> matched</c><00:01:02.800><c> your</c><00:01:02.960><c> requirements</c><00:01:03.920><c> your</c> 00:01:04.149 --> 00:01:04.159 align:start position:0% that matched your requirements your 00:01:04.159 --> 00:01:05.189 align:start position:0% that matched your requirements your online<00:01:04.400><c> store</c><00:01:04.720><c> would</c><00:01:04.799><c> now</c><00:01:04.960><c> have</c><00:01:05.119><c> the</c> 00:01:05.189 --> 00:01:05.199 align:start position:0% online store would now have the 00:01:05.199 --> 00:01:07.109 align:start position:0% online store would now have the functionality<00:01:05.760><c> you</c><00:01:05.920><c> wanted</c><00:01:06.479><c> customers</c><00:01:06.960><c> could</c> 00:01:07.109 --> 00:01:07.119 align:start position:0% functionality you wanted customers could 00:01:07.119 --> 00:01:09.270 align:start position:0% functionality you wanted customers could leave<00:01:07.360><c> reviews</c><00:01:08.320><c> the</c><00:01:08.479><c> third-party</c><00:01:08.960><c> developer</c> 00:01:09.270 --> 00:01:09.280 align:start position:0% leave reviews the third-party developer 00:01:09.280 --> 00:01:10.710 align:start position:0% leave reviews the third-party developer who<00:01:09.439><c> built</c><00:01:09.680><c> this</c><00:01:09.920><c> app</c><00:01:10.159><c> would</c><00:01:10.320><c> have</c><00:01:10.479><c> probably</c> 00:01:10.710 --> 00:01:10.720 align:start position:0% who built this app would have probably 00:01:10.720 --> 00:01:12.630 align:start position:0% who built this app would have probably built<00:01:11.040><c> a</c><00:01:11.119><c> web</c><00:01:11.360><c> app</c><00:01:11.600><c> with</c><00:01:11.760><c> ui</c><00:01:12.080><c> for</c><00:01:12.159><c> merchants</c><00:01:12.560><c> to</c> 00:01:12.630 --> 00:01:12.640 align:start position:0% built a web app with ui for merchants to 00:01:12.640 --> 00:01:14.469 align:start position:0% built a web app with ui for merchants to be<00:01:12.720><c> able</c><00:01:12.799><c> to</c><00:01:12.880><c> manage</c><00:01:13.520><c> which</c><00:01:13.760><c> reviews</c><00:01:14.159><c> would</c><00:01:14.240><c> be</c> 00:01:14.469 --> 00:01:14.479 align:start position:0% be able to manage which reviews would be 00:01:14.479 --> 00:01:15.270 align:start position:0% be able to manage which reviews would be shown 00:01:15.270 --> 00:01:15.280 align:start position:0% shown 00:01:15.280 --> 00:01:17.109 align:start position:0% shown the<00:01:15.439><c> app</c><00:01:15.680><c> can</c><00:01:15.840><c> interact</c><00:01:16.240><c> with</c><00:01:16.400><c> merchants</c><00:01:16.799><c> data</c> 00:01:17.109 --> 00:01:17.119 align:start position:0% the app can interact with merchants data 00:01:17.119 --> 00:01:19.350 align:start position:0% the app can interact with merchants data to<00:01:17.200><c> the</c><00:01:17.360><c> shopify</c><00:01:17.680><c> graphql</c><00:01:18.240><c> admin</c><00:01:18.560><c> api</c><00:01:19.200><c> the</c> 00:01:19.350 --> 00:01:19.360 align:start position:0% to the shopify graphql admin api the 00:01:19.360 --> 00:01:20.390 align:start position:0% to the shopify graphql admin api the reviews<00:01:19.600><c> could</c><00:01:19.759><c> be</c><00:01:19.920><c> serviced</c><00:01:20.240><c> on</c><00:01:20.320><c> the</c> 00:01:20.390 --> 00:01:20.400 align:start position:0% reviews could be serviced on the 00:01:20.400 --> 00:01:22.310 align:start position:0% reviews could be serviced on the merchant's<00:01:20.880><c> online</c><00:01:21.280><c> store</c><00:01:21.600><c> through</c><00:01:21.840><c> shopify</c> 00:01:22.310 --> 00:01:22.320 align:start position:0% merchant's online store through shopify 00:01:22.320 --> 00:01:24.710 align:start position:0% merchant's online store through shopify theme<00:01:22.560><c> app</c><00:01:22.720><c> extensions</c><00:01:23.759><c> the</c><00:01:23.920><c> method</c><00:01:24.240><c> for</c><00:01:24.479><c> apps</c> 00:01:24.710 --> 00:01:24.720 align:start position:0% theme app extensions the method for apps 00:01:24.720 --> 00:01:26.630 align:start position:0% theme app extensions the method for apps to<00:01:24.880><c> add</c><00:01:25.119><c> content</c><00:01:25.600><c> to</c><00:01:25.759><c> a</c><00:01:25.840><c> merchant's</c><00:01:26.320><c> online</c> 00:01:26.630 --> 00:01:26.640 align:start position:0% to add content to a merchant's online 00:01:26.640 --> 00:01:27.510 align:start position:0% to add content to a merchant's online store 00:01:27.510 --> 00:01:27.520 align:start position:0% store 00:01:27.520 --> 00:01:28.950 align:start position:0% store app<00:01:27.759><c> developers</c><00:01:28.240><c> get</c><00:01:28.320><c> to</c><00:01:28.400><c> determine</c><00:01:28.799><c> their</c> 00:01:28.950 --> 00:01:28.960 align:start position:0% app developers get to determine their 00:01:28.960 --> 00:01:30.469 align:start position:0% app developers get to determine their business<00:01:29.280><c> model</c><00:01:29.600><c> merchants</c><00:01:30.000><c> can</c><00:01:30.079><c> be</c><00:01:30.159><c> charged</c> 00:01:30.469 --> 00:01:30.479 align:start position:0% business model merchants can be charged 00:01:30.479 --> 00:01:32.550 align:start position:0% business model merchants can be charged a<00:01:30.560><c> one-time</c><00:01:31.040><c> fee</c><00:01:31.280><c> recurring</c><00:01:31.759><c> fee</c><00:01:32.000><c> or</c><00:01:32.240><c> based</c> 00:01:32.550 --> 00:01:32.560 align:start position:0% a one-time fee recurring fee or based 00:01:32.560 --> 00:01:34.390 align:start position:0% a one-time fee recurring fee or based off<00:01:32.640><c> their</c><00:01:32.880><c> usage</c><00:01:33.200><c> of</c><00:01:33.280><c> the</c><00:01:33.439><c> app</c><00:01:33.920><c> we've</c><00:01:34.240><c> just</c> 00:01:34.390 --> 00:01:34.400 align:start position:0% off their usage of the app we've just 00:01:34.400 --> 00:01:35.670 align:start position:0% off their usage of the app we've just scratched<00:01:34.720><c> the</c><00:01:34.799><c> service</c><00:01:35.119><c> to</c><00:01:35.200><c> shop</c><00:01:35.360><c> by</c><00:01:35.520><c> app</c> 00:01:35.670 --> 00:01:35.680 align:start position:0% scratched the service to shop by app 00:01:35.680 --> 00:01:37.350 align:start position:0% scratched the service to shop by app development<00:01:36.320><c> for</c><00:01:36.479><c> more</c><00:01:36.640><c> information</c><00:01:37.200><c> make</c> 00:01:37.350 --> 00:01:37.360 align:start position:0% development for more information make 00:01:37.360 --> 00:01:38.630 align:start position:0% development for more information make sure<00:01:37.439><c> to</c><00:01:37.520><c> subscribe</c><00:01:37.920><c> to</c><00:01:38.000><c> this</c><00:01:38.159><c> channel</c><00:01:38.560><c> and</c> 00:01:38.630 --> 00:01:38.640 align:start position:0% sure to subscribe to this channel and 00:01:38.640 --> 00:01:40.069 align:start position:0% sure to subscribe to this channel and check<00:01:38.880><c> out</c><00:01:38.960><c> our</c><00:01:39.040><c> documentation</c><00:01:39.680><c> over</c><00:01:39.920><c> on</c> 00:01:40.069 --> 00:01:40.079 align:start position:0% check out our documentation over on 00:01:40.079 --> 00:01:42.469 align:start position:0% check out our documentation over on shopify.dev<00:01:41.439><c> join</c><00:01:41.680><c> the</c><00:01:41.759><c> conversation</c><00:01:42.320><c> over</c> 00:01:42.469 --> 00:01:42.479 align:start position:0% shopify.dev join the conversation over 00:01:42.479 --> 00:01:44.069 align:start position:0% shopify.dev join the conversation over on<00:01:42.640><c> our</c><00:01:42.799><c> shopify</c><00:01:43.119><c> dev's</c><00:01:43.360><c> discord</c><00:01:43.680><c> server</c><00:01:44.000><c> to</c> 00:01:44.069 --> 00:01:44.079 align:start position:0% on our shopify dev's discord server to 00:01:44.079 --> 00:01:49.070 align:start position:0% on our shopify dev's discord server to meet<00:01:44.240><c> fellow</c><00:01:44.479><c> developers</c><00:01:45.040><c> and</c><00:01:45.280><c> ask</c><00:01:45.600><c> questions</c> 00:01:49.070 --> 00:01:49.080 align:start position:0% 00:01:49.080 --> 00:01:55.670 align:start position:0% [Music] 00:01:55.670 --> 00:01:55.680 align:start position:0% [Music] 00:01:55.680 --> 00:01:57.759 align:start position:0% [Music] you