1
00:00:00,330 --> 00:00:01,830
Narrator: So let's talk a little bit

2
00:00:01,830 --> 00:00:04,470
about the importance of API.

3
00:00:04,470 --> 00:00:08,220
So the question basically is, why do I need an API?

4
00:00:08,220 --> 00:00:10,500
Is it really such an important part

5
00:00:10,500 --> 00:00:12,720
of the software that I'm developing?

6
00:00:12,720 --> 00:00:15,270
So the answer is a sound yes.

7
00:00:15,270 --> 00:00:17,250
It's really, really very important.

8
00:00:17,250 --> 00:00:19,023
And let's understand why.

9
00:00:20,820 --> 00:00:24,750
So the APIs that you will develop for your backend software

10
00:00:24,750 --> 00:00:27,960
will be used, first, by your user interface,

11
00:00:27,960 --> 00:00:30,210
and you will understand it in a minute.

12
00:00:30,210 --> 00:00:34,230
In addition, it can be used to extend your app's reach,

13
00:00:34,230 --> 00:00:37,170
and also to allow monetization.

14
00:00:37,170 --> 00:00:38,343
Let's understand this.

15
00:00:39,210 --> 00:00:41,463
First, about the user interface.

16
00:00:43,080 --> 00:00:46,890
Modern apps are built mainly for web and mobile.

17
00:00:46,890 --> 00:00:49,620
You probably know that, you probably use web apps

18
00:00:49,620 --> 00:00:52,560
as well as definitely mobile apps.

19
00:00:52,560 --> 00:00:54,840
Now, the thing to know about mobile apps

20
00:00:54,840 --> 00:00:59,190
is that in order for them to access your backend server,

21
00:00:59,190 --> 00:01:01,950
your backend server must have an API

22
00:01:01,950 --> 00:01:04,233
in order to communicate with it.

23
00:01:04,233 --> 00:01:07,331
There is no other way for the mobile application

24
00:01:07,331 --> 00:01:08,958
to access your operations data.

25
00:01:08,958 --> 00:01:11,000
You should remember that the mobile app

26
00:01:11,000 --> 00:01:13,318
is a separate application,

27
00:01:13,318 --> 00:01:16,881
runs on the separate machine, on a separate process.

28
00:01:16,881 --> 00:01:20,901
It has no other way to access the data and the actions

29
00:01:20,901 --> 00:01:23,917
that are stored and executed on the server.

30
00:01:23,917 --> 00:01:25,537
So if this is your plan

31
00:01:25,537 --> 00:01:27,766
and you are developing a mobile app,

32
00:01:27,766 --> 00:01:30,030
then you must use an API.

33
00:01:30,030 --> 00:01:32,640
In addition, web clients that are built

34
00:01:32,640 --> 00:01:35,790
using the single page application method

35
00:01:35,790 --> 00:01:38,013
also must have an API on the server.

36
00:01:38,850 --> 00:01:41,550
If you are not familiar with a single page application

37
00:01:41,550 --> 00:01:44,100
or SPA method,

38
00:01:44,100 --> 00:01:48,000
then suffice to know that SPA means that the frontend,

39
00:01:48,000 --> 00:01:51,060
the part that the end user sees on his screen,

40
00:01:51,060 --> 00:01:54,360
is built using sophisticated fronted framework,

41
00:01:54,360 --> 00:01:57,120
such as React, or Angular or Vue,

42
00:01:57,120 --> 00:02:00,150
and they run completely independent from the server.

43
00:02:00,150 --> 00:02:03,870
So for those applications to access the web server

44
00:02:03,870 --> 00:02:05,310
they are using API.

45
00:02:05,310 --> 00:02:08,009
So the HTML is not render on the server

46
00:02:08,009 --> 00:02:09,900
like some old fashioned framework,

47
00:02:09,900 --> 00:02:12,090
such as the web forms or JSP,

48
00:02:12,090 --> 00:02:14,160
but is rendered directly on the client.

49
00:02:14,160 --> 00:02:16,860
And if the client needs some data from the server

50
00:02:16,860 --> 00:02:19,590
it must access some kind of API.

51
00:02:19,590 --> 00:02:22,260
Another important aspect of exposing an API

52
00:02:22,260 --> 00:02:26,100
is that it'll allow your application to extend its reach.

53
00:02:26,100 --> 00:02:30,390
For example, take a look at this screenshot from My Outlook.

54
00:02:30,390 --> 00:02:34,200
Do you see the weather widget on the top of the screen?

55
00:02:34,200 --> 00:02:37,260
In this case, it shows the weather in Washington D.C..

56
00:02:37,260 --> 00:02:41,460
So if you look closely at this rectangle with the data,

57
00:02:41,460 --> 00:02:43,830
you will see that the source of the data

58
00:02:43,830 --> 00:02:47,310
is from a website called foreca.com.

59
00:02:47,310 --> 00:02:49,680
So this is not a Microsoft website,

60
00:02:49,680 --> 00:02:51,720
this is not part of Outlook.

61
00:02:51,720 --> 00:02:54,270
But what happens here is that Outlook

62
00:02:54,270 --> 00:02:58,470
accesses the API exposed by foreca.com

63
00:02:58,470 --> 00:03:01,740
and displays the data it gets back from it.

64
00:03:01,740 --> 00:03:04,590
So just think what would happen to your application

65
00:03:04,590 --> 00:03:06,570
if Outlook will access it

66
00:03:06,570 --> 00:03:09,840
and uses the data that it'll get back from it.

67
00:03:09,840 --> 00:03:12,540
It'll help boost your application popularity,

68
00:03:12,540 --> 00:03:14,793
and it'll definitely help your business.

69
00:03:15,690 --> 00:03:17,850
And speaking about business,

70
00:03:17,850 --> 00:03:21,540
API can be used also for monetization proposals.

71
00:03:21,540 --> 00:03:24,060
You can charge users for accessing your data,

72
00:03:24,060 --> 00:03:26,310
and there are a lot of examples for it.

73
00:03:26,310 --> 00:03:28,770
For example, take a look at this page

74
00:03:28,770 --> 00:03:30,810
from the Twitter developer's website.

75
00:03:30,810 --> 00:03:34,230
So as you can see, if you want to access Twitter's API,

76
00:03:34,230 --> 00:03:38,400
and Twitter's API is one of the most popular APIs out there,

77
00:03:38,400 --> 00:03:40,860
then there are three levels of API access

78
00:03:40,860 --> 00:03:42,480
you can choose from.

79
00:03:42,480 --> 00:03:44,610
The first one is Standard, which is free

80
00:03:44,610 --> 00:03:47,310
and allows you certain level of API access.

81
00:03:47,310 --> 00:03:50,550
But the others level, Premium and Enterprise,

82
00:03:50,550 --> 00:03:51,840
are paid level.

83
00:03:51,840 --> 00:03:54,390
And if you want to use them to access more features

84
00:03:54,390 --> 00:03:58,200
or to allow more usage for the API then you must pay.

85
00:03:58,200 --> 00:04:00,450
And this is definitely a potential income

86
00:04:00,450 --> 00:04:01,833
you don't want to miss.

