WEBVTT

1
00:00:05.280 --> 00:00:08.759
<v Speaker 1>Hey, welcome to React Round Up, the podcast where we

2
00:00:08.880 --> 00:00:12.560
<v Speaker 1>keep you updated on all things React related. This show

3
00:00:12.679 --> 00:00:16.519
<v Speaker 1>is produced by Top End Devs and Void. Top and

4
00:00:16.600 --> 00:00:18.920
<v Speaker 1>Depths is where it create top and Depths. We get

5
00:00:18.960 --> 00:00:22.559
<v Speaker 1>top and pay and recognition while working on interesting problems

6
00:00:22.559 --> 00:00:28.640
<v Speaker 1>and making meaningful community contributions. An Void which provides client

7
00:00:28.760 --> 00:00:33.799
<v Speaker 1>friendly remote design and software development services, so clients only

8
00:00:33.880 --> 00:00:38.560
<v Speaker 1>pay after the tasks are delivered and approved by the client.

9
00:00:39.240 --> 00:00:43.399
<v Speaker 1>In today's episode, we will talk about the popularity of

10
00:00:43.640 --> 00:00:48.840
<v Speaker 1>React in well, it's basically about an article of a

11
00:00:48.960 --> 00:00:50.759
<v Speaker 1>very special guest that I'm going to mention in a

12
00:00:50.840 --> 00:00:54.840
<v Speaker 1>second that wrote an article titled why React on the

13
00:00:54.920 --> 00:00:58.799
<v Speaker 1>front end race. My name is Lucas Baganini, your host

14
00:00:58.840 --> 00:01:02.119
<v Speaker 1>in a podcast and joining me in today's episode is

15
00:01:02.320 --> 00:01:09.599
<v Speaker 1>Peter Osa. Hello everyone, and our guest for this episode,

16
00:01:09.640 --> 00:01:14.040
<v Speaker 1>which is also the person that wrote the article we're

17
00:01:14.079 --> 00:01:18.359
<v Speaker 1>talking about, Pronto Dota, which is a React native developer

18
00:01:18.560 --> 00:01:21.920
<v Speaker 1>with more than four years of React experience.

19
00:01:24.280 --> 00:01:30.519
<v Speaker 2>Hello everyone, I'm Branto and I'll be talking about reacted.

20
00:01:32.640 --> 00:01:37.840
<v Speaker 1>Awesome. Awesome, all right, so fronto, let's just jump right

21
00:01:37.879 --> 00:01:43.599
<v Speaker 1>into it. So first, I thought it was really funny

22
00:01:43.799 --> 00:01:47.519
<v Speaker 1>reading your article because you actually wrote it in a

23
00:01:47.680 --> 00:01:52.840
<v Speaker 1>very sarcastic way, bringing facts but also bringing them in

24
00:01:53.359 --> 00:01:57.239
<v Speaker 1>a kind of sarcastic way. Do you mind telling us

25
00:01:57.280 --> 00:02:02.640
<v Speaker 1>a bit about why React became so popular, how he

26
00:02:02.840 --> 00:02:06.840
<v Speaker 1>was able to, as you said, when the front and race,

27
00:02:07.120 --> 00:02:11.479
<v Speaker 1>and also what are some of the the drawbacks from

28
00:02:11.479 --> 00:02:15.439
<v Speaker 1>it that we just learned to live at it unfortunately.

29
00:02:16.080 --> 00:02:20.719
<v Speaker 2>Well, first of all, React is actually a library, right,

30
00:02:21.680 --> 00:02:25.360
<v Speaker 2>I mean, yeah, so that's that one of the things

31
00:02:25.360 --> 00:02:28.560
<v Speaker 2>that I actually mentioned in the book post that people

32
00:02:29.039 --> 00:02:33.520
<v Speaker 2>will always remind you that, yeah, it's a library. And

33
00:02:33.919 --> 00:02:37.599
<v Speaker 2>one of the things that I really don't like about well,

34
00:02:37.639 --> 00:02:41.719
<v Speaker 2>not actually React, actually the React developers. I see a

35
00:02:41.719 --> 00:02:45.360
<v Speaker 2>lot of buzz around it that basically says, yes, React

36
00:02:45.400 --> 00:02:47.639
<v Speaker 2>is the king, React is the best thing in the

37
00:02:47.680 --> 00:02:50.759
<v Speaker 2>whole world, white world, and things like that, which is

38
00:02:51.120 --> 00:02:55.599
<v Speaker 2>actually not true. And the look, the point is React

39
00:02:55.719 --> 00:02:59.639
<v Speaker 2>actually won the race. There's no denying that fact. But

40
00:02:59.800 --> 00:03:02.199
<v Speaker 2>if you sit on it like, yeah, this is the

41
00:03:02.240 --> 00:03:03.439
<v Speaker 2>best thing, no, it's not.

42
00:03:04.360 --> 00:03:05.800
<v Speaker 3>The reason it's not is.

43
00:03:05.759 --> 00:03:09.840
<v Speaker 2>Because there's like fifty other frameworks that I don't know.

44
00:03:10.280 --> 00:03:14.400
<v Speaker 2>The conversation that you're having right now, maybe in the meantime,

45
00:03:14.439 --> 00:03:17.199
<v Speaker 2>there's been a JavaScript framework. I mean, there's a very

46
00:03:17.199 --> 00:03:21.319
<v Speaker 2>good possibility that actually happened. So if you think that

47
00:03:21.599 --> 00:03:24.759
<v Speaker 2>React is like the only thing in the whole universe

48
00:03:25.080 --> 00:03:32.639
<v Speaker 2>with the JavaScript, with the JavaScript framework that you can

49
00:03:32.719 --> 00:03:37.120
<v Speaker 2>use to build apps or web applications, you're wrong. And

50
00:03:37.199 --> 00:03:41.599
<v Speaker 2>that's exactly the point of this post. So basically what

51
00:03:41.639 --> 00:03:45.599
<v Speaker 2>I wanted or what I tried to do here is

52
00:03:45.639 --> 00:03:49.680
<v Speaker 2>that I tried to tell everyone that React actually won,

53
00:03:50.039 --> 00:03:52.960
<v Speaker 2>but it's not the best thing in the world. So

54
00:03:53.280 --> 00:03:56.159
<v Speaker 2>you have other options, and you have a lot of

55
00:03:56.199 --> 00:04:00.919
<v Speaker 2>options actually, and there are situations and times when you

56
00:04:01.000 --> 00:04:04.759
<v Speaker 2>need to explore them. You need to try to understand

57
00:04:04.840 --> 00:04:11.120
<v Speaker 2>that what makes React great and what makes it well

58
00:04:11.360 --> 00:04:17.120
<v Speaker 2>sometimes actually really painful to work with. And I have, actually,

59
00:04:19.360 --> 00:04:23.800
<v Speaker 2>i would say, like a basic understanding of other JavaScript

60
00:04:23.800 --> 00:04:27.800
<v Speaker 2>frameworks like Few or Angular. I have worked fairly with them,

61
00:04:28.000 --> 00:04:31.160
<v Speaker 2>Like I'm not like an expert, but I work with

62
00:04:31.199 --> 00:04:34.920
<v Speaker 2>them and I understand how they work, and also React Native.

63
00:04:36.160 --> 00:04:39.519
<v Speaker 2>But one of the things that I really saw people

64
00:04:39.600 --> 00:04:45.560
<v Speaker 2>do is that yeah, you should always learn one thing,

65
00:04:45.720 --> 00:04:49.519
<v Speaker 2>and yeah you should just do these always, and it's

66
00:04:49.720 --> 00:04:52.560
<v Speaker 2>it's always like React is the best, and learn this

67
00:04:52.720 --> 00:04:55.600
<v Speaker 2>and then you don't need to do anything.

68
00:04:56.639 --> 00:04:59.720
<v Speaker 3>Anything at all, like you can always do React.

69
00:05:00.000 --> 00:05:03.160
<v Speaker 2>I mean, there's actually true to that because right now

70
00:05:04.160 --> 00:05:07.680
<v Speaker 2>Windows is actually using a lot of React and React Native,

71
00:05:07.879 --> 00:05:12.399
<v Speaker 2>and there are a lot of big companies that actually

72
00:05:12.480 --> 00:05:13.920
<v Speaker 2>use React.

73
00:05:15.000 --> 00:05:18.399
<v Speaker 3>So yeah, maybe that's true to that. But there are

74
00:05:18.439 --> 00:05:18.879
<v Speaker 3>a lot.

75
00:05:18.759 --> 00:05:23.000
<v Speaker 2>Of things that it's just I don't know. Sometimes it

76
00:05:23.040 --> 00:05:28.720
<v Speaker 2>feels like, how would I say this, it's bloaty.

77
00:05:28.920 --> 00:05:30.759
<v Speaker 3>Actually it's really.

78
00:05:32.160 --> 00:05:34.920
<v Speaker 2>And one of the things that I'd say about React

79
00:05:35.079 --> 00:05:35.600
<v Speaker 2>is that.

80
00:05:38.639 --> 00:05:40.959
<v Speaker 3>It actually delivers.

81
00:05:41.360 --> 00:05:46.399
<v Speaker 2>It actually sets it actually does what it sets out

82
00:05:46.399 --> 00:05:49.839
<v Speaker 2>to do, and it does with flying colors.

83
00:05:49.879 --> 00:05:50.759
<v Speaker 3>And one of the.

84
00:05:50.720 --> 00:05:54.600
<v Speaker 2>Things that I actually really admire about React is that

85
00:05:55.639 --> 00:06:00.639
<v Speaker 2>since its inception, React has been developing its ecosystem like

86
00:06:01.480 --> 00:06:06.839
<v Speaker 2>every other month here or I don't know, like every day.

87
00:06:07.600 --> 00:06:11.759
<v Speaker 2>And one of the things that make made this possible

88
00:06:11.959 --> 00:06:17.199
<v Speaker 2>is the Facebook the matter team at Facebook or whatever

89
00:06:17.279 --> 00:06:21.480
<v Speaker 2>they call this is then to the point is the

90
00:06:21.560 --> 00:06:28.240
<v Speaker 2>people behind React are extremely talented and they always uh,

91
00:06:28.279 --> 00:06:33.360
<v Speaker 2>they always deliver like they do deliver. And to answer

92
00:06:33.439 --> 00:06:36.879
<v Speaker 2>your questions about the drawbacks, one of the things I

93
00:06:36.879 --> 00:06:40.879
<v Speaker 2>don't really like about React is that when you when

94
00:06:40.920 --> 00:06:44.839
<v Speaker 2>you have like a really big project, I don't know

95
00:06:45.560 --> 00:06:49.160
<v Speaker 2>a lot of components. Maybe then it becomes really hard

96
00:06:49.399 --> 00:06:52.920
<v Speaker 2>to upgrade something. Or like let's say you need to

97
00:06:53.399 --> 00:06:57.120
<v Speaker 2>need to change a specific thing and you need to

98
00:06:57.160 --> 00:06:59.720
<v Speaker 2>bring in all these all these other things into this.

99
00:07:00.399 --> 00:07:05.000
<v Speaker 2>And when you have one single component, then you can

100
00:07:05.079 --> 00:07:06.040
<v Speaker 2>update it easily.

101
00:07:06.120 --> 00:07:07.319
<v Speaker 3>But when you have.

102
00:07:07.199 --> 00:07:11.519
<v Speaker 2>One component that depends on like fifty other components, that

103
00:07:11.600 --> 00:07:16.839
<v Speaker 2>it becomes really really hard to just update one single function.

104
00:07:17.319 --> 00:07:20.160
<v Speaker 2>Like let's say you have just one state and that

105
00:07:20.319 --> 00:07:24.600
<v Speaker 2>state is being used by five other components behind them,

106
00:07:24.759 --> 00:07:27.959
<v Speaker 2>and let's say you need to update it in somehow.

107
00:07:28.319 --> 00:07:31.680
<v Speaker 2>You need to update that somehow, and when you do that,

108
00:07:32.199 --> 00:07:34.720
<v Speaker 2>there are like a lot of steps inside, and there

109
00:07:34.759 --> 00:07:38.360
<v Speaker 2>are a lot of things inside that just re renders

110
00:07:38.399 --> 00:07:42.920
<v Speaker 2>for no reason, I mean, just because they depends on

111
00:07:42.920 --> 00:07:44.680
<v Speaker 2>one single thing. I mean, there are a lot of

112
00:07:44.720 --> 00:07:49.079
<v Speaker 2>ways that you can prevent this. And let's just say

113
00:07:50.279 --> 00:07:55.040
<v Speaker 2>React this is not the most performance framework, I'd say,

114
00:07:56.040 --> 00:07:58.639
<v Speaker 2>and there are a lot of better ways to do this.

115
00:07:58.759 --> 00:08:02.600
<v Speaker 2>But for what it's worth to create, this actually actually

116
00:08:02.639 --> 00:08:04.199
<v Speaker 2>good for what it does.

117
00:08:05.439 --> 00:08:08.800
<v Speaker 1>Yeah, yeah, no, I think that makes total sense. Like

118
00:08:08.920 --> 00:08:13.680
<v Speaker 1>the fact that if you look at the actual scope

119
00:08:13.959 --> 00:08:19.000
<v Speaker 1>of React, it really does what it's supposed to do.

120
00:08:19.279 --> 00:08:21.959
<v Speaker 1>The problem is really the fact that a lot of

121
00:08:22.000 --> 00:08:27.120
<v Speaker 1>people look at React and expect it to fix a

122
00:08:27.160 --> 00:08:30.480
<v Speaker 1>lot of other problems in your application. When I say fix,

123
00:08:30.560 --> 00:08:33.279
<v Speaker 1>it's more like it's not really fix, because it's not

124
00:08:33.360 --> 00:08:37.679
<v Speaker 1>like it's originally broken. It's more like providing solutions. Right.

125
00:08:38.080 --> 00:08:42.039
<v Speaker 1>If you compare, for example, to Angler, which is a

126
00:08:42.120 --> 00:08:49.759
<v Speaker 1>much more, much larger framework, it does so much more

127
00:08:50.200 --> 00:08:56.360
<v Speaker 1>like internationalization, for example, there is no baked in solution

128
00:08:56.759 --> 00:08:59.720
<v Speaker 1>in React like this is the way that you should

129
00:08:59.720 --> 00:09:03.600
<v Speaker 1>handle internationalization. So if you want to support multiple languages,

130
00:09:04.279 --> 00:09:08.120
<v Speaker 1>you got to decide which library, which solution you're gonna

131
00:09:08.240 --> 00:09:12.799
<v Speaker 1>use along with React to fix this problem. If you

132
00:09:12.919 --> 00:09:17.840
<v Speaker 1>want to do something more fancy to control your forms,

133
00:09:18.320 --> 00:09:21.639
<v Speaker 1>then there are multiple different ways for you to do that,

134
00:09:21.759 --> 00:09:24.000
<v Speaker 1>and you have to choose which one you want. So

135
00:09:24.759 --> 00:09:30.519
<v Speaker 1>it's simple. I guess that, at least to me. What

136
00:09:31.720 --> 00:09:35.919
<v Speaker 1>makes more people get drawn into React is the fact

137
00:09:35.919 --> 00:09:41.440
<v Speaker 1>that because it is seen as a single library, it's

138
00:09:41.480 --> 00:09:45.639
<v Speaker 1>also simpler to explain because the scope of what it

139
00:09:45.720 --> 00:09:49.320
<v Speaker 1>does is smaller. Right, you can read the entire React

140
00:09:49.440 --> 00:09:54.720
<v Speaker 1>docs in maybe like two three hours if you just

141
00:09:54.799 --> 00:09:58.320
<v Speaker 1>sit through it and read it's really straight to the point,

142
00:09:58.919 --> 00:10:02.200
<v Speaker 1>and it's because it has a very specific set of

143
00:10:02.200 --> 00:10:05.159
<v Speaker 1>problems that it solves, whereas if you look into other

144
00:10:05.279 --> 00:10:12.200
<v Speaker 1>frameworks view jas, solid Angular, et cetera, their documentations are

145
00:10:12.240 --> 00:10:15.840
<v Speaker 1>going to be more extensive, but that's also a reflection

146
00:10:16.240 --> 00:10:20.600
<v Speaker 1>of the amount of things that they solve. And if

147
00:10:20.639 --> 00:10:23.840
<v Speaker 1>you think that you're going to be free from those

148
00:10:23.879 --> 00:10:28.679
<v Speaker 1>other problems, then you're just cheating on yourself because those

149
00:10:28.720 --> 00:10:31.919
<v Speaker 1>problems eventually are going to come and then you're going

150
00:10:32.000 --> 00:10:36.039
<v Speaker 1>to like you never just use React right, like you're

151
00:10:36.080 --> 00:10:39.840
<v Speaker 1>always using React and a mix of a bunch of

152
00:10:39.879 --> 00:10:43.399
<v Speaker 1>other libraries put together so that you actually have a framework.

153
00:10:44.039 --> 00:10:49.559
<v Speaker 1>So I think that this ended up making React more

154
00:10:49.600 --> 00:10:53.960
<v Speaker 1>interesting because it was easier to get started with it,

155
00:10:54.519 --> 00:10:58.360
<v Speaker 1>but it also creates a lot of problems later because

156
00:10:59.279 --> 00:11:04.639
<v Speaker 1>it is easy to learn because there are a lot

157
00:11:04.639 --> 00:11:07.480
<v Speaker 1>of things that it does not address, and you will

158
00:11:07.519 --> 00:11:11.720
<v Speaker 1>eventually have to address those things somehow. So yeah, at

159
00:11:11.799 --> 00:11:14.480
<v Speaker 1>least to me, I would bat that that was one

160
00:11:14.519 --> 00:11:16.240
<v Speaker 1>of the biggest reasons.

161
00:11:16.720 --> 00:11:20.159
<v Speaker 2>Well, first of all, I think that the fact that

162
00:11:20.240 --> 00:11:23.240
<v Speaker 2>we act does not provide like all of all of

163
00:11:23.279 --> 00:11:27.519
<v Speaker 2>these things together. And first I thought, like, why do

164
00:11:27.600 --> 00:11:31.080
<v Speaker 2>I need. I mean, first, the first framework that I

165
00:11:31.120 --> 00:11:34.399
<v Speaker 2>ever used was View. So when I first came from

166
00:11:34.679 --> 00:11:39.279
<v Speaker 2>View to yet, and when I was first doing some routing,

167
00:11:39.879 --> 00:11:40.200
<v Speaker 2>it was.

168
00:11:40.240 --> 00:11:42.919
<v Speaker 3>Like four or five years ago.

169
00:11:43.039 --> 00:11:47.279
<v Speaker 2>It was during lockdown, Okay, So so when I was

170
00:11:47.320 --> 00:11:51.879
<v Speaker 2>first doing that, I realized that there are a lot

171
00:11:51.919 --> 00:11:56.080
<v Speaker 2>of things that I have to do manually, Like I

172
00:11:56.080 --> 00:11:58.600
<v Speaker 2>have to write a lot of boiler bat and other stuff.

173
00:11:58.799 --> 00:12:00.559
<v Speaker 3>Even with reducts.

174
00:12:01.320 --> 00:12:03.320
<v Speaker 2>Reducs also has a lot of boy oil a bit,

175
00:12:03.960 --> 00:12:06.720
<v Speaker 2>and that was actually really painful. But what I came

176
00:12:06.759 --> 00:12:10.120
<v Speaker 2>to realize is that this is actually a good thing.

177
00:12:10.799 --> 00:12:13.360
<v Speaker 2>And the reason I'm saying it's actually a good thing,

178
00:12:13.960 --> 00:12:17.200
<v Speaker 2>I mean the fact that React doesn't provide anything. It's

179
00:12:17.240 --> 00:12:20.399
<v Speaker 2>actually a good thing because when you do this, when

180
00:12:20.440 --> 00:12:24.320
<v Speaker 2>you leave this to other people, then you get like

181
00:12:24.440 --> 00:12:27.600
<v Speaker 2>a lot of pool stuff Like we have React router,

182
00:12:27.879 --> 00:12:31.639
<v Speaker 2>we have dance stack router, we have rich router, we

183
00:12:31.759 --> 00:12:34.600
<v Speaker 2>have a lot of other outers and they're doing a

184
00:12:34.679 --> 00:12:38.440
<v Speaker 2>specific thing. I mean, in some sense, this is actually

185
00:12:38.480 --> 00:12:41.360
<v Speaker 2>better for the ecosystem, even with React native.

186
00:12:41.600 --> 00:12:44.279
<v Speaker 3>Like the fact that React.

187
00:12:43.919 --> 00:12:46.159
<v Speaker 2>Doesn't provide a lot of things out of the box,

188
00:12:46.759 --> 00:12:50.039
<v Speaker 2>it just makes a lot of sense for other people

189
00:12:50.080 --> 00:12:53.799
<v Speaker 2>to come in and just use the bare bone, the

190
00:12:54.840 --> 00:12:58.519
<v Speaker 2>minimal thing that we have with react native and make

191
00:12:58.600 --> 00:13:02.320
<v Speaker 2>it into something that something that we want to make.

192
00:13:02.720 --> 00:13:07.440
<v Speaker 2>Let's say, let's say with flutter. Okay, so with flutter,

193
00:13:07.759 --> 00:13:08.919
<v Speaker 2>have you ever worked with butter?

194
00:13:09.279 --> 00:13:13.000
<v Speaker 3>Just curious? I have not.

195
00:13:13.600 --> 00:13:16.759
<v Speaker 1>It is something that I have been very curious about

196
00:13:17.159 --> 00:13:22.879
<v Speaker 1>because I was exploring some of the hybrid development tools lately,

197
00:13:23.000 --> 00:13:26.960
<v Speaker 1>and honestly, we were trying to do stuff with capacitor

198
00:13:27.120 --> 00:13:30.960
<v Speaker 1>and it was just so painful that we were like, Okay,

199
00:13:31.000 --> 00:13:33.919
<v Speaker 1>so no, that's not gonna happen. We're gonna have to

200
00:13:34.000 --> 00:13:38.480
<v Speaker 1>either choose between react Native or Flutter because capacitor is

201
00:13:38.519 --> 00:13:43.039
<v Speaker 1>just too painful. But we didn't get enough time to

202
00:13:43.159 --> 00:13:46.120
<v Speaker 1>do the proper research on Flutter yet. So I would

203
00:13:46.159 --> 00:13:48.360
<v Speaker 1>be very curious to also hear your thoughts on it,

204
00:13:48.759 --> 00:13:51.679
<v Speaker 1>knowing that you're coming from this web out perspective.

205
00:13:53.720 --> 00:13:56.240
<v Speaker 2>So the point I was trying to make it flutter

206
00:13:56.440 --> 00:13:59.840
<v Speaker 2>is that they have a lot of things baked.

207
00:13:59.519 --> 00:14:02.960
<v Speaker 3>In in the framework. Okay, right, like a lot.

208
00:14:03.840 --> 00:14:07.360
<v Speaker 2>If you don't, you don't need a life, very like,

209
00:14:07.559 --> 00:14:10.799
<v Speaker 2>that's how much thinks there there are an inter batter

210
00:14:10.879 --> 00:14:16.039
<v Speaker 2>ecosystem and that actually creates a problem. You know, one problem.

211
00:14:16.399 --> 00:14:20.759
<v Speaker 2>The problem it creates is that there are like I mean,

212
00:14:21.279 --> 00:14:23.519
<v Speaker 2>most of the most of the apps.

213
00:14:23.159 --> 00:14:24.799
<v Speaker 3>That you see have failed to it butter.

214
00:14:24.960 --> 00:14:27.320
<v Speaker 2>You can see them, you can look at them. You

215
00:14:27.320 --> 00:14:29.759
<v Speaker 2>can look at these apps and tell yeah that this

216
00:14:29.879 --> 00:14:32.759
<v Speaker 2>app is made with butter. I mean, trust me, I

217
00:14:32.799 --> 00:14:34.960
<v Speaker 2>can just show me some pictures. I will tell you

218
00:14:35.039 --> 00:14:38.080
<v Speaker 2>if they're may be butter. It just it's that easy.

219
00:14:38.600 --> 00:14:42.799
<v Speaker 2>I mean, it's it's it's actually like, how would I

220
00:14:42.840 --> 00:14:43.159
<v Speaker 2>say this?

221
00:14:43.840 --> 00:14:44.440
<v Speaker 3>The thing.

222
00:14:46.159 --> 00:14:49.639
<v Speaker 2>Flutter is actually really easy. And that's the problem. So

223
00:14:49.840 --> 00:14:53.080
<v Speaker 2>when everyone tries to do the same thing with the

224
00:14:53.120 --> 00:14:57.080
<v Speaker 2>same the same line of code, it just every app

225
00:14:57.120 --> 00:15:01.279
<v Speaker 2>looks the same way, right, I mean, have you noticed

226
00:15:01.320 --> 00:15:06.559
<v Speaker 2>those those heathulp reap me apps that people show and

227
00:15:06.600 --> 00:15:09.279
<v Speaker 2>they all look the same. That's because they are they

228
00:15:09.279 --> 00:15:12.480
<v Speaker 2>were made with planted. And when when you have when

229
00:15:12.600 --> 00:15:17.480
<v Speaker 2>someone shows you an app that was built with React Native,

230
00:15:17.720 --> 00:15:21.679
<v Speaker 2>you don't have this. That's because Reagnaitive doesn't provide a

231
00:15:22.279 --> 00:15:25.200
<v Speaker 2>specific set of rules to you. It just provides a

232
00:15:25.279 --> 00:15:28.600
<v Speaker 2>view and then you write your own own thing. But

233
00:15:28.759 --> 00:15:32.360
<v Speaker 2>with flatter, you have let's say a container and then

234
00:15:32.600 --> 00:15:35.320
<v Speaker 2>you have a border, radius and everything, and when you

235
00:15:35.399 --> 00:15:38.399
<v Speaker 2>do this, everything looks the same. But it's not the

236
00:15:38.399 --> 00:15:40.919
<v Speaker 2>same with React Native, and I think that's actually a

237
00:15:40.960 --> 00:15:44.039
<v Speaker 2>good thing. That's one of the things actually React got

238
00:15:44.080 --> 00:15:48.000
<v Speaker 2>it right. Even with Angular and View, they have their

239
00:15:48.039 --> 00:15:52.639
<v Speaker 2>own router, okay, so they don't like there's literally no

240
00:15:52.759 --> 00:15:53.759
<v Speaker 2>other router in.

241
00:15:54.039 --> 00:15:57.519
<v Speaker 3>Angular or View. I don't know if you have any

242
00:15:57.519 --> 00:15:58.840
<v Speaker 3>other outer than your outer.

243
00:15:59.360 --> 00:16:03.919
<v Speaker 2>Sorry the baked in one. I'm not sure though, but

244
00:16:04.480 --> 00:16:09.159
<v Speaker 2>I know that Angler doesn't happen, so I mean there

245
00:16:09.159 --> 00:16:12.279
<v Speaker 2>are other things with Angler that does have things like

246
00:16:12.960 --> 00:16:14.679
<v Speaker 2>file based outing and stuff.

247
00:16:14.799 --> 00:16:16.000
<v Speaker 3>I forget the fame.

248
00:16:15.799 --> 00:16:18.799
<v Speaker 2>Of name, but the point I'm trying to make here

249
00:16:18.879 --> 00:16:22.320
<v Speaker 2>is that the fact that React didn't provide anything with

250
00:16:22.399 --> 00:16:26.200
<v Speaker 2>it with it with its original library, it made other

251
00:16:26.279 --> 00:16:27.120
<v Speaker 2>people made.

252
00:16:26.919 --> 00:16:29.360
<v Speaker 3>Their own thing. So we got a lot of stuff.

253
00:16:29.399 --> 00:16:34.679
<v Speaker 2>We got next Chase, we got like remix and the

254
00:16:35.000 --> 00:16:39.879
<v Speaker 2>ten step. And I think this is actually a good idea,

255
00:16:40.000 --> 00:16:42.279
<v Speaker 2>and I think React actually got it right.

256
00:16:42.440 --> 00:16:43.600
<v Speaker 3>And to think that.

257
00:16:44.320 --> 00:16:46.840
<v Speaker 2>At first, I thought like, why would I need to

258
00:16:46.879 --> 00:16:49.960
<v Speaker 2>install another another library just for louding.

259
00:16:50.879 --> 00:16:53.799
<v Speaker 3>I mean I really thought that, Okay.

260
00:16:53.639 --> 00:16:57.399
<v Speaker 1>That that does make sense in terms of flurter. I

261
00:16:57.399 --> 00:17:01.080
<v Speaker 1>think that Flutter also has a I think we need

262
00:17:01.120 --> 00:17:03.720
<v Speaker 1>to separate things a bit because I think there's like

263
00:17:03.879 --> 00:17:08.480
<v Speaker 1>this broader concept of something that is more opinionated and

264
00:17:09.160 --> 00:17:14.480
<v Speaker 1>solves more problems versus something that is smaller in scope

265
00:17:14.640 --> 00:17:18.319
<v Speaker 1>and leaves you with more options to do whatever you want.

266
00:17:18.400 --> 00:17:23.279
<v Speaker 1>So like React is something that is more scope and

267
00:17:23.319 --> 00:17:27.599
<v Speaker 1>then lets you make choices afterwards, and Flutter and Angular

268
00:17:27.759 --> 00:17:31.200
<v Speaker 1>are more opinionated and have their own way of doing things.

269
00:17:31.400 --> 00:17:34.599
<v Speaker 1>But I think there's also like I think we need

270
00:17:34.640 --> 00:17:41.960
<v Speaker 1>to separate the idea from the actual examples because Flutter

271
00:17:42.119 --> 00:17:46.319
<v Speaker 1>and Angular they are both very opinionated and they have

272
00:17:46.480 --> 00:17:49.000
<v Speaker 1>their own set of ways of how to do things,

273
00:17:49.440 --> 00:17:55.079
<v Speaker 1>But you don't have, Like the problems that you were

274
00:17:55.880 --> 00:18:00.720
<v Speaker 1>mentioning with Flutter are not things that I believe you

275
00:18:00.759 --> 00:18:04.279
<v Speaker 1>are applicable for Angler. And I think part of that

276
00:18:04.480 --> 00:18:09.799
<v Speaker 1>as well is because Flutter is also built on a

277
00:18:09.960 --> 00:18:15.160
<v Speaker 1>programming language that is not very used outside of Flutter, right, Like,

278
00:18:15.279 --> 00:18:21.160
<v Speaker 1>who else uses Dart besides Flutter developers, Like, I don't

279
00:18:21.200 --> 00:18:25.680
<v Speaker 1>know any anyone else that uses Dart for anything besides

280
00:18:25.759 --> 00:18:29.920
<v Speaker 1>people that that code with Flutter. But on the other hand,

281
00:18:30.279 --> 00:18:34.240
<v Speaker 1>Angular is built on the it is built to run

282
00:18:34.279 --> 00:18:37.920
<v Speaker 1>on the web, and thus it is just JavaScript at

283
00:18:37.920 --> 00:18:40.640
<v Speaker 1>the end. Well it's actually typescript, but you get what

284
00:18:40.680 --> 00:18:43.960
<v Speaker 1>I meant. It's just showscript. So you can still leverage

285
00:18:44.039 --> 00:18:47.799
<v Speaker 1>the entire ecosystem of the web. You just have to

286
00:18:48.880 --> 00:18:54.039
<v Speaker 1>sometimes add a few wrappers so that it so that

287
00:18:54.119 --> 00:18:58.039
<v Speaker 1>it just works inside Angular, right, but you can still

288
00:18:58.240 --> 00:19:02.319
<v Speaker 1>leverage all the web, which I think it's a is

289
00:19:02.400 --> 00:19:05.319
<v Speaker 1>a big difference from Flutter. Right, Like I would say

290
00:19:05.359 --> 00:19:10.319
<v Speaker 1>that there's a lot of things that React developers, View developers,

291
00:19:10.359 --> 00:19:13.960
<v Speaker 1>Angular developers, solid developers, whatever. I think there's a lot

292
00:19:14.119 --> 00:19:19.279
<v Speaker 1>that we can all share because it's just vanilla JavaScript,

293
00:19:19.480 --> 00:19:23.200
<v Speaker 1>you know, vanilla web development. So anything that is vanilla

294
00:19:23.279 --> 00:19:26.279
<v Speaker 1>web development anyone can use in any framework.

295
00:19:27.039 --> 00:19:27.839
<v Speaker 3>The thing with.

296
00:19:28.079 --> 00:19:35.359
<v Speaker 1>Flutters specifically is that there isn't much a leverage besides

297
00:19:35.440 --> 00:19:39.880
<v Speaker 1>the things that were specifically built for Flutter. Would you

298
00:19:39.960 --> 00:19:42.559
<v Speaker 1>say that that's true as well? Like, does that make

299
00:19:42.680 --> 00:19:46.480
<v Speaker 1>sense or do you disagree with this view because you

300
00:19:46.599 --> 00:19:48.680
<v Speaker 1>have more knowledge of Flutter so I might be wrong.

301
00:19:49.759 --> 00:19:53.839
<v Speaker 2>No, Actually, you're one hundred percent right, And I think

302
00:19:54.240 --> 00:19:57.000
<v Speaker 2>that one of the one of the areas that this

303
00:19:57.279 --> 00:19:58.279
<v Speaker 2>actually really shines.

304
00:19:58.599 --> 00:20:02.599
<v Speaker 3>I'll give you a proper sample. So I was working

305
00:20:02.680 --> 00:20:08.400
<v Speaker 3>with how do I say, a project that has to be.

306
00:20:08.480 --> 00:20:11.839
<v Speaker 2>Done in like a week, okay, so it was it

307
00:20:11.960 --> 00:20:15.079
<v Speaker 2>was like four or five months ago, and it had

308
00:20:15.119 --> 00:20:17.759
<v Speaker 2>to be done like instantly. I didn't have time to

309
00:20:17.880 --> 00:20:20.480
<v Speaker 2>test it properly. I didn't have to have enough time

310
00:20:20.559 --> 00:20:25.680
<v Speaker 2>to to to make it look good and stuff like.

311
00:20:26.000 --> 00:20:26.960
<v Speaker 3>It was just an app.

312
00:20:27.559 --> 00:20:30.960
<v Speaker 2>It had just one specific functionality, like it had a

313
00:20:33.359 --> 00:20:36.920
<v Speaker 2>stop watch and it would work like stop watch okay,

314
00:20:37.039 --> 00:20:41.039
<v Speaker 2>and they would record something and I would record the values,

315
00:20:41.119 --> 00:20:46.559
<v Speaker 2>the laps and some other stuff. And it was not

316
00:20:46.839 --> 00:20:49.640
<v Speaker 2>actually that much complicated. But if I had to do

317
00:20:49.839 --> 00:20:52.880
<v Speaker 2>that in React Native, I don't think I could have

318
00:20:52.960 --> 00:20:56.160
<v Speaker 2>done that in a week. But I did it with

319
00:20:56.359 --> 00:21:00.119
<v Speaker 2>Flutter in a week. That's because Flutter actually provides you

320
00:21:00.440 --> 00:21:04.640
<v Speaker 2>with a lot of things that you can just work with, right.

321
00:21:04.880 --> 00:21:08.240
<v Speaker 2>So I didn't need to update a button.

322
00:21:08.279 --> 00:21:11.319
<v Speaker 3>I just wanted the button that looks like a button. Okay.

323
00:21:11.759 --> 00:21:15.200
<v Speaker 2>I just needed to get stuff done. And Flatter is

324
00:21:15.279 --> 00:21:19.319
<v Speaker 2>actually really perfect for that, and Flutter actually have like

325
00:21:19.519 --> 00:21:21.440
<v Speaker 2>a lot of functionality under the hood.

326
00:21:21.839 --> 00:21:24.720
<v Speaker 3>It also provides you with that. But when you are.

327
00:21:24.680 --> 00:21:29.599
<v Speaker 2>Working with let's say and an upper level thing.

328
00:21:30.000 --> 00:21:31.160
<v Speaker 3>You don't need to go down.

329
00:21:31.480 --> 00:21:35.599
<v Speaker 2>You don't want to go down the the the down

330
00:21:35.759 --> 00:21:40.200
<v Speaker 2>level because the down level is generally more complex.

331
00:21:40.799 --> 00:21:43.640
<v Speaker 3>Let's say I was doing one small thing the other day.

332
00:21:44.200 --> 00:21:45.240
<v Speaker 3>I was just trying to.

333
00:21:46.960 --> 00:21:51.839
<v Speaker 2>Make the border, you know, border in a U in

334
00:21:51.960 --> 00:21:54.720
<v Speaker 2>a how do I say a straight line, you know,

335
00:21:54.839 --> 00:21:58.960
<v Speaker 2>instead of just radius. So I learned that you can't

336
00:21:59.160 --> 00:22:02.240
<v Speaker 2>just normally do that. You need to you know, to

337
00:22:02.359 --> 00:22:05.519
<v Speaker 2>create a canvas. Then you need to custom make this.

338
00:22:05.960 --> 00:22:08.839
<v Speaker 3>So that was you know, Uh, I don't know.

339
00:22:10.519 --> 00:22:14.440
<v Speaker 2>I mean yeah, So when when the thing that you

340
00:22:14.640 --> 00:22:18.039
<v Speaker 2>work it doesn't work, you need to go a lot

341
00:22:18.119 --> 00:22:20.759
<v Speaker 2>of different ways. You need to have things a bit

342
00:22:21.079 --> 00:22:24.440
<v Speaker 2>to make everything perfect you want to. But when you

343
00:22:25.039 --> 00:22:28.559
<v Speaker 2>need to get stuff done, Father is actually really perfect

344
00:22:28.640 --> 00:22:31.759
<v Speaker 2>for that. And that's I think you made a really

345
00:22:31.799 --> 00:22:35.920
<v Speaker 2>good point there. Because when it comes to angle or

346
00:22:36.160 --> 00:22:43.599
<v Speaker 2>view or react. Let's say we have an animation library like, uh, what.

347
00:22:43.640 --> 00:22:45.519
<v Speaker 3>Should I say? Frame or frame?

348
00:22:45.559 --> 00:22:49.519
<v Speaker 2>It doesn't work with Yeah, it doesn't work with view

349
00:22:49.640 --> 00:22:52.559
<v Speaker 2>or angle. It only works to react. So let's say

350
00:22:52.759 --> 00:22:55.680
<v Speaker 2>any frame animation library that actually works with all of

351
00:22:55.759 --> 00:23:00.400
<v Speaker 2>them because it internally it uses uses trablescript or like

352
00:23:00.480 --> 00:23:04.160
<v Speaker 2>d ths or swept or anything like that that actually

353
00:23:04.240 --> 00:23:12.359
<v Speaker 2>works with all View, Angular and Beact framework because internally

354
00:23:12.640 --> 00:23:16.640
<v Speaker 2>it's just JavaScript. It just works, right, So even though

355
00:23:16.799 --> 00:23:20.480
<v Speaker 2>you don't have a specific library for Angular, you have

356
00:23:20.759 --> 00:23:24.480
<v Speaker 2>one for React, then you can. I mean, if that

357
00:23:24.799 --> 00:23:28.400
<v Speaker 2>specific library wasn't built for React like it was built

358
00:23:28.440 --> 00:23:31.359
<v Speaker 2>for JavaScript, then you can actually use it with javascrip,

359
00:23:31.480 --> 00:23:34.000
<v Speaker 2>with Angular or View, not just React.

360
00:23:34.160 --> 00:23:35.880
<v Speaker 3>But most of the time I.

361
00:23:35.880 --> 00:23:38.920
<v Speaker 2>Actually saw a lot of libraries focus on React first

362
00:23:39.039 --> 00:23:43.039
<v Speaker 2>then move on to the other frameworks, which is actually

363
00:23:43.039 --> 00:23:47.319
<v Speaker 2>a pretty common thing. But yeah, you made a good

364
00:23:47.400 --> 00:23:50.960
<v Speaker 2>point that I would flutter not being as you know,

365
00:23:51.559 --> 00:23:54.559
<v Speaker 2>as consistent like with the JavaScript ecosystem.

366
00:23:54.680 --> 00:23:58.640
<v Speaker 3>But one thing I'd say, though, the amount.

367
00:23:58.359 --> 00:24:02.720
<v Speaker 2>Of packages that the art has sort of Flutter has,

368
00:24:03.839 --> 00:24:10.000
<v Speaker 2>it's actually pretty I'd say, I don't know, it's just unbelievable.

369
00:24:11.160 --> 00:24:16.240
<v Speaker 2>Where did this munch package come from? It's actually kind

370
00:24:16.279 --> 00:24:20.599
<v Speaker 2>of weird, to be honest, Like it's really big. Ecosystem

371
00:24:20.720 --> 00:24:22.599
<v Speaker 2>is actually really big. There are a lot of people

372
00:24:24.359 --> 00:24:27.400
<v Speaker 2>developing libraries, and I don't see them on anywhere, Like

373
00:24:27.519 --> 00:24:29.440
<v Speaker 2>I don't see them on YouTube, I don't see them

374
00:24:29.480 --> 00:24:33.599
<v Speaker 2>on any podcasts. I don't see them on like YouTube comments.

375
00:24:33.640 --> 00:24:36.200
<v Speaker 2>You know, there are a lot of people on YouTube

376
00:24:36.240 --> 00:24:39.680
<v Speaker 2>governments saying yes, Reacted the best and reacnatic, these these

377
00:24:39.799 --> 00:24:41.920
<v Speaker 2>and that. But I don't see a lot of people

378
00:24:42.079 --> 00:24:44.599
<v Speaker 2>talking about Fludder. But when I go through the package

379
00:24:44.599 --> 00:24:49.000
<v Speaker 2>store with art, I think pup dot depth. So when

380
00:24:49.039 --> 00:24:51.720
<v Speaker 2>I go there, I see a lot of packages, which

381
00:24:51.799 --> 00:24:56.640
<v Speaker 2>is like where did this come from? And one other

382
00:24:56.759 --> 00:25:00.319
<v Speaker 2>things I would I'd like to say this doesn't mean

383
00:25:00.680 --> 00:25:04.480
<v Speaker 2>that the fact that React has a lot of packages

384
00:25:04.920 --> 00:25:09.359
<v Speaker 2>doesn't mean that actually they always work. I will give

385
00:25:09.400 --> 00:25:13.079
<v Speaker 2>you a proper example. So last year I was working

386
00:25:13.160 --> 00:25:17.079
<v Speaker 2>with a project with NFC. Do you have any idea

387
00:25:17.119 --> 00:25:17.599
<v Speaker 2>with NFC?

388
00:25:20.240 --> 00:25:20.440
<v Speaker 1>Yep.

389
00:25:21.839 --> 00:25:27.400
<v Speaker 2>So, so with NFC you need the native support, right,

390
00:25:27.680 --> 00:25:30.920
<v Speaker 2>you can't do anything with the jabascript.

391
00:25:30.720 --> 00:25:33.440
<v Speaker 1>Y im sorry, Just to just to make this is

392
00:25:33.559 --> 00:25:36.720
<v Speaker 1>also clear to the audience, UH, we're talking about n

393
00:25:36.880 --> 00:25:39.920
<v Speaker 1>f C, not n f T. So it's not about

394
00:25:40.680 --> 00:25:45.839
<v Speaker 1>uh crypto stuff. It's about being able to like magnetically

395
00:25:45.960 --> 00:25:50.200
<v Speaker 1>transmit information like a credit card that has an NFC

396
00:25:51.039 --> 00:25:54.880
<v Speaker 1>UH signal and then you can capture that and grab

397
00:25:54.960 --> 00:25:55.319
<v Speaker 1>the data.

398
00:25:55.440 --> 00:25:55.759
<v Speaker 3>That's it.

399
00:25:58.079 --> 00:26:01.200
<v Speaker 2>Yes, that's that's NFCA. It's actually I think like near

400
00:26:01.400 --> 00:26:05.400
<v Speaker 2>field communication or something like that. Yeah, So basically it's

401
00:26:05.400 --> 00:26:09.119
<v Speaker 2>a technology that lets you to payments and other stuff.

402
00:26:09.599 --> 00:26:12.160
<v Speaker 2>So the thing that we were doing is that we

403
00:26:12.279 --> 00:26:16.680
<v Speaker 2>were scanning some cards, some NFC cards, and we're writing

404
00:26:16.759 --> 00:26:20.119
<v Speaker 2>some data on it, and then we're retrieving data and

405
00:26:20.279 --> 00:26:24.079
<v Speaker 2>we're doing us some other stuff internally. Now, so I

406
00:26:24.319 --> 00:26:27.480
<v Speaker 2>at first I thought this would I mean, I'm a

407
00:26:27.519 --> 00:26:31.000
<v Speaker 2>reacnative developer, okay, So I first tried to use Reactnative.

408
00:26:31.640 --> 00:26:34.960
<v Speaker 2>And when I was using Reactnative, there was this package

409
00:26:35.079 --> 00:26:39.400
<v Speaker 2>called NFC Manager that you use for NFC with Reacnative,

410
00:26:40.160 --> 00:26:41.640
<v Speaker 2>and I used it, and.

411
00:26:43.319 --> 00:26:44.400
<v Speaker 3>I don't know, it just.

412
00:26:45.880 --> 00:26:49.240
<v Speaker 2>It just feels felt so much buggy, you know, Like

413
00:26:49.960 --> 00:26:52.799
<v Speaker 2>I mean, the weed worked fine, but when it came

414
00:26:52.880 --> 00:26:56.440
<v Speaker 2>to write, I couldn't write a lot of cards simultaneously.

415
00:26:56.720 --> 00:26:59.880
<v Speaker 2>Just just hangs for a bit and throws weird air.

416
00:27:00.279 --> 00:27:02.759
<v Speaker 2>I don't I didn't get the end of it.

417
00:27:02.960 --> 00:27:03.319
<v Speaker 3>I didn't.

418
00:27:03.599 --> 00:27:04.680
<v Speaker 2>I just couldn't make it.

419
00:27:04.799 --> 00:27:05.519
<v Speaker 3>Work, you know.

420
00:27:06.279 --> 00:27:09.359
<v Speaker 2>But when I came to Flutter for help, I mean

421
00:27:09.480 --> 00:27:12.759
<v Speaker 2>it was out of desperation because I couldn't get it working.

422
00:27:12.880 --> 00:27:15.640
<v Speaker 3>Properly with Reacnative. So I just came to Flutter for that.

423
00:27:16.839 --> 00:27:19.839
<v Speaker 3>So when I came to Flutter, I found.

424
00:27:19.599 --> 00:27:23.519
<v Speaker 2>Out that there was this package that is weirdly also

425
00:27:23.599 --> 00:27:27.039
<v Speaker 2>called NFC manager. Yeah, I know, that's actually weird. The

426
00:27:27.160 --> 00:27:31.200
<v Speaker 2>package had the same name. So when I used that

427
00:27:31.400 --> 00:27:36.279
<v Speaker 2>Flutter Flutter package called NFC manager, it worked like.

428
00:27:36.400 --> 00:27:39.680
<v Speaker 3>It I mean, it's actually really really good.

429
00:27:40.039 --> 00:27:44.440
<v Speaker 2>Everything with reading, writing, and it just worked. Also, it

430
00:27:44.559 --> 00:27:49.440
<v Speaker 2>has a specific features called called stream, which is it's

431
00:27:49.559 --> 00:27:52.200
<v Speaker 2>actually really good, like this is one of the best

432
00:27:52.319 --> 00:27:56.559
<v Speaker 2>features in my opinion, in Dart, which is stream, the

433
00:27:56.680 --> 00:27:59.640
<v Speaker 2>fact that you can listen to things. And I mean

434
00:28:00.079 --> 00:28:02.400
<v Speaker 2>could say that javas Kip also has that, or like

435
00:28:02.680 --> 00:28:05.519
<v Speaker 2>any other languages also have that, but trust me, this

436
00:28:05.720 --> 00:28:09.839
<v Speaker 2>is actually better than most other languages. So yeah, that

437
00:28:10.240 --> 00:28:12.920
<v Speaker 2>actually properly worked out for me, even though I think

438
00:28:13.119 --> 00:28:16.880
<v Speaker 2>Reacnative has a bigger ecosystem. So when it came to

439
00:28:17.079 --> 00:28:20.920
<v Speaker 2>a how do I say this an uncertain level of thing,

440
00:28:21.720 --> 00:28:25.240
<v Speaker 2>Actually Flutter worked and Reacnative didn't. I mean, I don't know,

441
00:28:25.359 --> 00:28:29.720
<v Speaker 2>maybe just scale issue. From my side, I didn't know

442
00:28:29.839 --> 00:28:33.119
<v Speaker 2>how to get it working, but I didn't have to

443
00:28:33.200 --> 00:28:34.680
<v Speaker 2>do anything with Flutter.

444
00:28:34.839 --> 00:28:37.920
<v Speaker 3>It just worked. Okay, it didn't be React native. That's

445
00:28:38.000 --> 00:28:38.799
<v Speaker 3>exactly my point.

446
00:28:39.920 --> 00:28:44.000
<v Speaker 1>Yeah, that that is a big advantage indeed, like depending

447
00:28:44.079 --> 00:28:46.440
<v Speaker 1>on how fast you need the thing to be done,

448
00:28:46.480 --> 00:28:49.880
<v Speaker 1>and also how much custom design do you want with that.

449
00:28:50.799 --> 00:28:55.079
<v Speaker 1>I think that's a good good thing to consider. And Peter,

450
00:28:55.599 --> 00:28:58.039
<v Speaker 1>do you have any any questions anything you want to

451
00:28:58.079 --> 00:28:59.279
<v Speaker 1>add or mention thus far?

452
00:29:00.680 --> 00:29:04.960
<v Speaker 4>Okay, yeah, yeah I do, so I would say questions

453
00:29:05.799 --> 00:29:06.319
<v Speaker 4>I think too.

454
00:29:06.440 --> 00:29:10.680
<v Speaker 5>So I think my first question is as forgures, probably

455
00:29:10.839 --> 00:29:14.599
<v Speaker 5>are beyond the defense or react, so maybe just beyond

456
00:29:14.640 --> 00:29:16.799
<v Speaker 5>the defense at the point in the sense that now

457
00:29:17.599 --> 00:29:22.119
<v Speaker 5>they yeah, there are usually situations where like people have

458
00:29:22.200 --> 00:29:26.039
<v Speaker 5>actually mentioned that yeah, we have packages are working, or

459
00:29:27.880 --> 00:29:32.279
<v Speaker 5>we have kind of promote setting kind of design or

460
00:29:32.480 --> 00:29:37.039
<v Speaker 5>patterns or coding conventions that doesn't really scale, doesn't really

461
00:29:37.119 --> 00:29:41.680
<v Speaker 5>make sense in love opinions. So but then I will

462
00:29:41.759 --> 00:29:45.720
<v Speaker 5>usually ask the question that at this point, like do

463
00:29:45.839 --> 00:29:50.400
<v Speaker 5>you think it's actually like do you think React is

464
00:29:50.480 --> 00:29:55.160
<v Speaker 5>to blame or maybe the ones using React as the framework,

465
00:29:55.920 --> 00:30:02.440
<v Speaker 5>because yeah, they are probably many usually like I think,

466
00:30:02.559 --> 00:30:05.000
<v Speaker 5>I think I usually use this example of the use

467
00:30:05.039 --> 00:30:09.480
<v Speaker 5>effect there's disuse effect abused, and I went to react.

468
00:30:10.160 --> 00:30:13.599
<v Speaker 5>They are React on dogs actually has a post from

469
00:30:13.680 --> 00:30:17.799
<v Speaker 5>them about on why you shouldn't use react, muse effects

470
00:30:18.400 --> 00:30:18.839
<v Speaker 5>so much.

471
00:30:20.240 --> 00:30:23.160
<v Speaker 4>But yet you see a lot of people kind of

472
00:30:23.759 --> 00:30:26.000
<v Speaker 4>using it or maybe your business.

473
00:30:26.079 --> 00:30:28.039
<v Speaker 5>So at this point where you kind of blame the

474
00:30:29.240 --> 00:30:32.839
<v Speaker 5>framework or the framework, is the film workers or actually

475
00:30:33.079 --> 00:30:35.200
<v Speaker 5>rather than maybe or the people.

476
00:30:35.119 --> 00:30:38.119
<v Speaker 4>Doing it or people building or using this framework. Are

477
00:30:38.119 --> 00:30:39.039
<v Speaker 4>they using it? Probably?

478
00:30:39.119 --> 00:30:41.519
<v Speaker 5>Are they following the rules, are definitely in the conventions

479
00:30:41.559 --> 00:30:44.440
<v Speaker 5>of it. Are they also trying to kind of inequate

480
00:30:44.519 --> 00:30:49.400
<v Speaker 5>like maybe actual like design patterns like maybe the popular

481
00:30:49.480 --> 00:30:54.759
<v Speaker 5>want keys, siagny and the West to building react applications?

482
00:30:54.920 --> 00:30:55.880
<v Speaker 4>So what do you think is.

483
00:30:57.759 --> 00:31:02.160
<v Speaker 3>Okay? So, first of all, I think that.

484
00:31:04.160 --> 00:31:08.200
<v Speaker 2>Both of this, both of these design patterns or paradigms

485
00:31:08.359 --> 00:31:11.440
<v Speaker 2>or like whatever you want to call it, I think.

486
00:31:11.359 --> 00:31:12.279
<v Speaker 3>They have their place.

487
00:31:12.640 --> 00:31:16.200
<v Speaker 2>Fast of all, because there are times when you need

488
00:31:17.079 --> 00:31:20.759
<v Speaker 2>need to do something really quickly, and I think that

489
00:31:21.160 --> 00:31:23.880
<v Speaker 2>that's where flatter actually shines. You don't need to do

490
00:31:23.960 --> 00:31:27.359
<v Speaker 2>a lot of stuff to just build an app. But

491
00:31:29.119 --> 00:31:32.839
<v Speaker 2>to answer your question if whether to react is to

492
00:31:32.960 --> 00:31:37.480
<v Speaker 2>blame here, actually I don't think so. I mean, honestly,

493
00:31:37.640 --> 00:31:42.000
<v Speaker 2>they could have done a little better with the recommendation

494
00:31:42.279 --> 00:31:45.839
<v Speaker 2>and stuff like I'm actually going back to flatter again,

495
00:31:45.920 --> 00:31:51.559
<v Speaker 2>but Flatter actually provides some other packages that works with Flutter.

496
00:31:52.319 --> 00:31:54.920
<v Speaker 2>I mean, the Flatter team actually provides some other packages

497
00:31:55.480 --> 00:32:00.440
<v Speaker 2>like go router and provider and some other packages. These

498
00:32:00.480 --> 00:32:03.960
<v Speaker 2>are also like extra packages. You have to manually install them,

499
00:32:04.240 --> 00:32:08.519
<v Speaker 2>but Fatter Fatter team actually maintains them and builds them.

500
00:32:08.960 --> 00:32:13.160
<v Speaker 2>But you don't see this in in in React or

501
00:32:13.200 --> 00:32:17.039
<v Speaker 2>React Native to the matter for that matter, because they

502
00:32:17.119 --> 00:32:22.000
<v Speaker 2>don't provide any extra stuff. The I mean to to

503
00:32:22.160 --> 00:32:26.359
<v Speaker 2>quote Don Abramoff, he actually said the only pro package

504
00:32:26.400 --> 00:32:31.359
<v Speaker 2>that React provides is the React So yes, he actually

505
00:32:31.400 --> 00:32:34.720
<v Speaker 2>said that once. So one of the things that I

506
00:32:35.400 --> 00:32:40.119
<v Speaker 2>do think that we need to we need to we

507
00:32:40.200 --> 00:32:43.039
<v Speaker 2>need to think about when making a decision like this,

508
00:32:43.400 --> 00:32:48.079
<v Speaker 2>is to when what suits you. Okay, so let's say

509
00:32:48.200 --> 00:32:51.599
<v Speaker 2>you have let's say you are making a really big,

510
00:32:52.160 --> 00:32:55.599
<v Speaker 2>big application, like you don't know what to expect, you

511
00:32:55.680 --> 00:32:58.839
<v Speaker 2>don't have a proper understanding of what's going to happen.

512
00:32:59.480 --> 00:33:01.160
<v Speaker 3>Then yeah, I don't know.

513
00:33:01.319 --> 00:33:05.960
<v Speaker 2>If you do something obinionated like Flutter, changing things, it's

514
00:33:06.079 --> 00:33:11.359
<v Speaker 2>actually really hard. But when it comes to React Native,

515
00:33:11.640 --> 00:33:15.440
<v Speaker 2>it's actually pretty easy. It's actually easier than Flutter. That's

516
00:33:15.480 --> 00:33:18.920
<v Speaker 2>what I found. And one of the things is that

517
00:33:19.160 --> 00:33:24.440
<v Speaker 2>about use effect. You said, well, let's just say use

518
00:33:24.480 --> 00:33:32.160
<v Speaker 2>effect actually creates more problems than it actually solves. That's

519
00:33:32.559 --> 00:33:34.799
<v Speaker 2>I don't know, that's actually probably a bold statement.

520
00:33:35.920 --> 00:33:37.640
<v Speaker 3>But when you have.

521
00:33:39.359 --> 00:33:41.279
<v Speaker 2>One of the things that I do want to mention

522
00:33:41.440 --> 00:33:45.519
<v Speaker 2>here is that when you use more than like three

523
00:33:45.880 --> 00:33:51.319
<v Speaker 2>or four use effect, Yeah, yeah, you should probably rename

524
00:33:51.440 --> 00:33:54.400
<v Speaker 2>that function to use food gun that time, because that's

525
00:33:54.480 --> 00:33:58.400
<v Speaker 2>exactly what users did. When you have multiple use effect

526
00:33:58.640 --> 00:34:03.359
<v Speaker 2>in your code base. You just, I mean, anything could

527
00:34:03.400 --> 00:34:05.599
<v Speaker 2>go wrong at that time, like anything.

528
00:34:06.680 --> 00:34:09.559
<v Speaker 3>This is just what happens. I mean, I don't know

529
00:34:10.000 --> 00:34:11.480
<v Speaker 3>how to make this better.

530
00:34:12.119 --> 00:34:15.440
<v Speaker 2>Like even with they React nineteen stuff with their they're

531
00:34:15.480 --> 00:34:19.119
<v Speaker 2>shipping like they have some they have a compiler now,

532
00:34:19.280 --> 00:34:23.440
<v Speaker 2>so I guess they're not a library anymore. But even

533
00:34:23.519 --> 00:34:26.960
<v Speaker 2>with that, I don't see any improvement. It is a fact,

534
00:34:27.000 --> 00:34:30.400
<v Speaker 2>and I don't know what improvement would they provide. I

535
00:34:30.599 --> 00:34:33.440
<v Speaker 2>just I don't I don't see a proper solution to

536
00:34:33.559 --> 00:34:34.559
<v Speaker 2>this problem at all.

537
00:34:35.679 --> 00:34:40.840
<v Speaker 4>Yeah, okay, yeah, okay, yeah, let me I actually get that.

538
00:34:41.559 --> 00:34:44.639
<v Speaker 4>Well then, one thing one thing about.

539
00:34:44.480 --> 00:34:50.119
<v Speaker 5>Reartic ism that react itself is more copmumunated, right, So

540
00:34:50.519 --> 00:34:53.360
<v Speaker 5>it's I think it's and that's kind of like it's

541
00:34:53.480 --> 00:34:56.880
<v Speaker 5>less you and because depending on the just the.

542
00:34:56.960 --> 00:35:00.599
<v Speaker 4>Requirements or your or your requirements or any is recovering.

543
00:35:00.719 --> 00:35:03.800
<v Speaker 5>So right, So there are people who have who kind

544
00:35:03.880 --> 00:35:09.280
<v Speaker 5>of like kind of maybe it's to mind pattern and like, yeah,

545
00:35:09.360 --> 00:35:11.719
<v Speaker 5>they do want to follow up. They don't want it

546
00:35:12.039 --> 00:35:14.679
<v Speaker 5>like a framework something that kind of have a building

547
00:35:15.199 --> 00:35:19.440
<v Speaker 5>together and then kind of follows a specific pattern I

548
00:35:19.519 --> 00:35:22.039
<v Speaker 5>think from my for my expert, I think something like

549
00:35:22.159 --> 00:35:25.800
<v Speaker 5>angular now right, a black follows like a very good

550
00:35:26.000 --> 00:35:31.480
<v Speaker 5>like OPI convention and many design systems you follow. Yeah,

551
00:35:31.519 --> 00:35:34.360
<v Speaker 5>and that's so many people, so many people who feel

552
00:35:34.440 --> 00:35:37.679
<v Speaker 5>that yeah does also have like their demerits in the

553
00:35:37.800 --> 00:35:42.760
<v Speaker 5>sense that the few there's a learning of there's a

554
00:35:42.960 --> 00:35:47.000
<v Speaker 5>large higher learning of maybe okay, or the ease of

555
00:35:47.239 --> 00:35:50.679
<v Speaker 5>kind of finishing or like doing something quickly. So people

556
00:35:50.760 --> 00:35:52.880
<v Speaker 5>feel maybe you have to learn a lot to kind

557
00:35:52.920 --> 00:35:55.800
<v Speaker 5>of frame exactly use like this pattern.

558
00:35:56.599 --> 00:36:00.119
<v Speaker 4>But then creat kind of gives you like if for

559
00:36:00.320 --> 00:36:01.800
<v Speaker 4>more more just more like a.

560
00:36:01.880 --> 00:36:04.320
<v Speaker 5>Cameras, Oh, this is just what you need to do

561
00:36:04.400 --> 00:36:08.159
<v Speaker 5>and you could use anything you want based as imagination and.

562
00:36:08.280 --> 00:36:12.280
<v Speaker 4>Yeah, that has actually has that ratly created.

563
00:36:12.360 --> 00:36:16.159
<v Speaker 5>The merits in the sense that of what when people

564
00:36:16.320 --> 00:36:20.039
<v Speaker 5>really see us like kind of our only is like an.

565
00:36:19.960 --> 00:36:23.320
<v Speaker 4>Abuse of the framework ware or the library world.

566
00:36:24.280 --> 00:36:26.960
<v Speaker 5>So many people use that to kind of they're right,

567
00:36:27.079 --> 00:36:32.519
<v Speaker 5>they don't follow like actual patterns and conventions claus and

568
00:36:33.320 --> 00:36:35.800
<v Speaker 5>they kind of abuse the use of libraries, which we

569
00:36:35.880 --> 00:36:40.599
<v Speaker 5>actually mentioned because they're setting like okay, they're setting things

570
00:36:40.679 --> 00:36:44.039
<v Speaker 5>that people feel that should be lively, but you could

571
00:36:44.039 --> 00:36:49.559
<v Speaker 5>actually do it with just like javascart to see javaskearting clienting.

572
00:36:49.920 --> 00:36:50.880
<v Speaker 4>Right, So I don't know.

573
00:36:51.039 --> 00:36:54.400
<v Speaker 6>So the why why I'm explaining this is that now

574
00:36:54.719 --> 00:36:56.599
<v Speaker 6>in this in this kind of with this kind of

575
00:36:56.800 --> 00:37:01.480
<v Speaker 6>concept now right, who it's like it's react itself to

576
00:37:01.679 --> 00:37:06.239
<v Speaker 6>believe rather than then brad how like people how people

577
00:37:06.280 --> 00:37:06.880
<v Speaker 6>are adopted.

578
00:37:07.079 --> 00:37:10.599
<v Speaker 5>It's actually the problem because I think that's those the

579
00:37:12.480 --> 00:37:16.719
<v Speaker 5>main thing and tend to kind of push out like okay, yeah,

580
00:37:16.880 --> 00:37:19.679
<v Speaker 5>every everything has the merits and the merits, but I

581
00:37:19.719 --> 00:37:21.800
<v Speaker 5>think it's based on how you use it or how

582
00:37:21.880 --> 00:37:22.760
<v Speaker 5>do developer use it?

583
00:37:23.320 --> 00:37:26.079
<v Speaker 4>Yeah, so what do you say? Yeah, what do you say?

584
00:37:27.400 --> 00:37:32.079
<v Speaker 2>Well, first of all the fact that react is unopinionated

585
00:37:32.679 --> 00:37:36.599
<v Speaker 2>means that you can do anything to react or reactnated.

586
00:37:36.679 --> 00:37:41.679
<v Speaker 2>But that matter but at the same time, I mean,

587
00:37:41.800 --> 00:37:44.400
<v Speaker 2>I don't know. I will answer your question on the

588
00:37:44.599 --> 00:37:47.880
<v Speaker 2>on the plane, but first I just I don't know.

589
00:37:48.280 --> 00:37:52.039
<v Speaker 2>You know, reacnative doesn't even have a select component, Like

590
00:37:52.480 --> 00:37:55.559
<v Speaker 2>you need a library to select something, or you need

591
00:37:55.639 --> 00:37:58.320
<v Speaker 2>to create like select, you know, form select when you

592
00:37:58.440 --> 00:38:01.159
<v Speaker 2>click on something and drop down a bit. React doesn't

593
00:38:01.239 --> 00:38:05.039
<v Speaker 2>have anything like that. Reagnated sorry, Reagnity doesn't have anything

594
00:38:05.159 --> 00:38:07.760
<v Speaker 2>like that. You need to create. You need to create

595
00:38:07.880 --> 00:38:10.679
<v Speaker 2>your own component to make that happen, or just install

596
00:38:10.719 --> 00:38:13.800
<v Speaker 2>a third party library. I mean, why, it's just a

597
00:38:13.880 --> 00:38:14.559
<v Speaker 2>simple thing.

598
00:38:14.800 --> 00:38:16.320
<v Speaker 4>It just I don't know.

599
00:38:16.679 --> 00:38:21.760
<v Speaker 2>Just Also, I don't think React is to blame here.

600
00:38:22.000 --> 00:38:24.079
<v Speaker 2>I mean, they were trying to do one thing and

601
00:38:24.440 --> 00:38:29.440
<v Speaker 2>they did it properly. And the fact that the React

602
00:38:29.480 --> 00:38:33.360
<v Speaker 2>actually doesn't provide anything, it's actually useful in a lot

603
00:38:33.440 --> 00:38:40.159
<v Speaker 2>of cases. Let's say, uh, let's say let's talk about

604
00:38:40.199 --> 00:38:44.599
<v Speaker 2>the company the Matter. So they have a lot of applications, right,

605
00:38:44.880 --> 00:38:48.360
<v Speaker 2>they have a really big applications called Facebook, you know,

606
00:38:49.199 --> 00:38:50.960
<v Speaker 2>so they.

607
00:38:50.840 --> 00:38:52.519
<v Speaker 3>Have a lot of components there.

608
00:38:53.039 --> 00:38:58.280
<v Speaker 2>So how would you just push one thing, like how

609
00:38:58.400 --> 00:39:01.719
<v Speaker 2>do you push a specific set design or battles on?

610
00:39:02.000 --> 00:39:06.679
<v Speaker 2>Like I'm emilion components. I mean, can you even do that? Like,

611
00:39:07.679 --> 00:39:10.639
<v Speaker 2>how do you even do that? Like all of these

612
00:39:10.760 --> 00:39:15.239
<v Speaker 2>have like different uh you know people, Facebook actually have

613
00:39:15.519 --> 00:39:19.480
<v Speaker 2>a lot of subsections to like developers or Facebook dot

614
00:39:19.519 --> 00:39:24.440
<v Speaker 2>com carriers to develop Facebook dot com and shops dot Facebook.

615
00:39:25.440 --> 00:39:27.480
<v Speaker 2>They have a lot of things like this. So all

616
00:39:27.519 --> 00:39:31.400
<v Speaker 2>of these are different applications. So even if you try

617
00:39:31.519 --> 00:39:36.119
<v Speaker 2>to do something like this, how do you even like propose.

618
00:39:36.199 --> 00:39:39.079
<v Speaker 3>A system that actually works with all of this?

619
00:39:39.679 --> 00:39:42.360
<v Speaker 2>Like I mean, if if if if you're doing something

620
00:39:42.480 --> 00:39:48.400
<v Speaker 2>like uh, pushing at something like yeslink, you know, like

621
00:39:48.519 --> 00:39:51.320
<v Speaker 2>a linking something like that, you can do that, But

622
00:39:51.559 --> 00:39:56.920
<v Speaker 2>how do you push design? I mean I don't know, honestly,

623
00:39:57.639 --> 00:40:00.039
<v Speaker 2>and I don't know it just maybe I don't. I

624
00:40:00.760 --> 00:40:03.599
<v Speaker 2>honestly don't know how even could do that even if

625
00:40:03.599 --> 00:40:08.679
<v Speaker 2>you try to. But so one of the things that

626
00:40:08.719 --> 00:40:12.880
<v Speaker 2>I'd like to say here is that Butter is actually

627
00:40:13.079 --> 00:40:18.639
<v Speaker 2>backed by Google, and Google actually pushes their own design,

628
00:40:19.119 --> 00:40:23.079
<v Speaker 2>just material design, and each and every app that you

629
00:40:23.239 --> 00:40:28.800
<v Speaker 2>create with Butter actually comes with a material design. I

630
00:40:28.880 --> 00:40:31.400
<v Speaker 2>mean you can change that you have like other other

631
00:40:31.599 --> 00:40:36.599
<v Speaker 2>internal these design systems with Coupertino and other stuff for iOS.

632
00:40:36.440 --> 00:40:39.400
<v Speaker 3>You know, So that'll just look different.

633
00:40:39.840 --> 00:40:44.039
<v Speaker 2>You know, you can do that, but mostly, like I

634
00:40:44.119 --> 00:40:46.559
<v Speaker 2>don't know, like ninety percent of the time, people actually

635
00:40:46.679 --> 00:40:52.400
<v Speaker 2>use the default material app you know, so they're pushing something.

636
00:40:52.519 --> 00:40:57.840
<v Speaker 2>And I think that both of these approaches actually works

637
00:40:58.719 --> 00:41:02.079
<v Speaker 2>and their book, both of them have their place in

638
00:41:02.239 --> 00:41:05.159
<v Speaker 2>this and we just have to decide when to use switch.

639
00:41:06.400 --> 00:41:08.199
<v Speaker 3>Yeah that's about it.

640
00:41:12.199 --> 00:41:16.320
<v Speaker 5>Yeah, Yeah, I think that's yeah, I think that that works. Actually,

641
00:41:16.559 --> 00:41:18.599
<v Speaker 5>I think the answer that's kind of great. So I

642
00:41:18.679 --> 00:41:22.800
<v Speaker 5>think it's yes, it depends on the developers.

643
00:41:22.960 --> 00:41:24.199
<v Speaker 4>I'm reacts, not.

644
00:41:26.039 --> 00:41:29.559
<v Speaker 5>That thes are the ones that kind of architects or

645
00:41:29.679 --> 00:41:33.400
<v Speaker 5>viuild the applications and react to be gate to decide how.

646
00:41:34.719 --> 00:41:36.920
<v Speaker 4>Whatever, like what you use on how to do it,

647
00:41:37.039 --> 00:41:37.960
<v Speaker 4>come out to use it.

648
00:41:38.800 --> 00:41:43.000
<v Speaker 1>So like look as you have any Yeah, I do

649
00:41:43.199 --> 00:41:45.960
<v Speaker 1>have one last thing before we wrap up, which is

650
00:41:47.840 --> 00:41:52.639
<v Speaker 1>out of all that, we didn't even talk about or

651
00:41:53.119 --> 00:41:59.679
<v Speaker 1>explore the alternative of just using native mobile development, just

652
00:41:59.760 --> 00:42:05.320
<v Speaker 1>doing native Android native iOS. And I just wanted your

653
00:42:05.920 --> 00:42:12.119
<v Speaker 1>opinion on that, Panto, because I think this definitely generates

654
00:42:12.159 --> 00:42:15.440
<v Speaker 1>a lot of polemic, right, Like a lot of people

655
00:42:15.519 --> 00:42:18.679
<v Speaker 1>have different opinions about that, but I think there are

656
00:42:18.800 --> 00:42:25.960
<v Speaker 1>people that believe that we should prefer native apps and

657
00:42:26.159 --> 00:42:30.639
<v Speaker 1>people that think we should prefer hybrid apps. I'm not

658
00:42:30.719 --> 00:42:34.079
<v Speaker 1>even talking about Flutter versus React Native. I'm just talking

659
00:42:34.079 --> 00:42:38.119
<v Speaker 1>about hybrid versus native on mobile, And I just wanted

660
00:42:38.159 --> 00:42:40.719
<v Speaker 1>to hear your thoughts. Do you think that there's still

661
00:42:42.400 --> 00:42:47.880
<v Speaker 1>space and reasons to go with native development in twenty

662
00:42:47.960 --> 00:42:50.559
<v Speaker 1>twenty four or let's just say twenty twenty five, because

663
00:42:50.599 --> 00:42:53.599
<v Speaker 1>we're already ending twenty twenty four, right, so in twenty

664
00:42:53.679 --> 00:42:56.119
<v Speaker 1>twenty five, do you think there's two reasons to go

665
00:42:56.320 --> 00:42:59.719
<v Speaker 1>with native iOS and android development or this is the

666
00:42:59.760 --> 00:43:03.159
<v Speaker 1>pass and we should definitely go with hybrid independently of

667
00:43:03.239 --> 00:43:05.280
<v Speaker 1>it being Fluttered or React Native.

668
00:43:06.599 --> 00:43:11.440
<v Speaker 2>Actually, there's been an interesting project called Corklean Multiplatform.

669
00:43:12.079 --> 00:43:14.960
<v Speaker 3>Have you heard about it? No?

670
00:43:15.199 --> 00:43:17.840
<v Speaker 1>Sorry, I couldn't understand how. What's the name.

671
00:43:19.800 --> 00:43:28.719
<v Speaker 2>Cotlin Codlin multi Platform? Oh okay, yeah, it's actually Cotlan

672
00:43:28.880 --> 00:43:33.079
<v Speaker 2>multi Platform. So basically it's it's like React sorry, it's

673
00:43:33.159 --> 00:43:35.679
<v Speaker 2>like React Native for Flutter, but you write code with

674
00:43:35.920 --> 00:43:41.840
<v Speaker 2>Cotland and that the thing with this is that the

675
00:43:42.000 --> 00:43:48.519
<v Speaker 2>Android developers, the existing Android developers already knows okay, already

676
00:43:48.639 --> 00:43:52.679
<v Speaker 2>they already know Godlin that they're working with Cotlin every day.

677
00:43:52.840 --> 00:43:56.840
<v Speaker 2>They're working with composed. The Composed is the system where

678
00:43:56.840 --> 00:44:00.800
<v Speaker 2>you're uh, you're you write components and with with with

679
00:44:01.519 --> 00:44:04.800
<v Speaker 2>native Android development, you know, normal component you write them

680
00:44:04.840 --> 00:44:09.119
<v Speaker 2>with compost. So let's say you are an Android developer, right,

681
00:44:10.239 --> 00:44:14.039
<v Speaker 2>and you can develop apps with just Cocklin and.

682
00:44:15.639 --> 00:44:18.119
<v Speaker 3>Uh you will write it once and.

683
00:44:18.480 --> 00:44:23.719
<v Speaker 2>Everything else just works in an iOS device too, And

684
00:44:24.000 --> 00:44:27.000
<v Speaker 2>I think that's actually pretty good. Like in Android you

685
00:44:27.119 --> 00:44:30.440
<v Speaker 2>get the existing existing thing, like the exact same thing,

686
00:44:30.599 --> 00:44:33.719
<v Speaker 2>the exact same experience, like a native Android app, but

687
00:44:34.119 --> 00:44:40.199
<v Speaker 2>on on iOS you actually get the the exact same app.

688
00:44:40.639 --> 00:44:44.679
<v Speaker 3>But the problem with this is that on iOS it's.

689
00:44:44.639 --> 00:44:48.039
<v Speaker 2>Not actually native, but you do have the capacity to

690
00:44:48.119 --> 00:44:52.559
<v Speaker 2>write native god. So to answer your question whether we

691
00:44:52.599 --> 00:44:57.519
<v Speaker 2>should use native or or a cross platform framework, I

692
00:44:57.599 --> 00:45:00.480
<v Speaker 2>would say again one of.

693
00:45:00.519 --> 00:45:03.800
<v Speaker 3>The things that one of the things that I found

694
00:45:03.840 --> 00:45:04.920
<v Speaker 3>out is that.

695
00:45:05.719 --> 00:45:09.719
<v Speaker 2>If your project grows to a certain point, you know,

696
00:45:10.400 --> 00:45:12.719
<v Speaker 2>like let's say you have a project that you've been

697
00:45:12.800 --> 00:45:16.559
<v Speaker 2>working with like one year, two year, three year, there

698
00:45:16.559 --> 00:45:19.679
<v Speaker 2>will come a time when you need to work something.

699
00:45:20.599 --> 00:45:23.119
<v Speaker 2>You need to work with the native libraries or the

700
00:45:23.320 --> 00:45:26.760
<v Speaker 2>native system, like both of these platforms like Butter and

701
00:45:26.920 --> 00:45:31.039
<v Speaker 2>React Native. They both provide stuff like modules, and Butter

702
00:45:31.159 --> 00:45:34.920
<v Speaker 2>has something called channels that you can you can communicate

703
00:45:35.079 --> 00:45:39.519
<v Speaker 2>with a native player like you can execute a Cordian

704
00:45:39.559 --> 00:45:43.719
<v Speaker 2>code for Android and Swift code in iOS. Both of

705
00:45:43.800 --> 00:45:47.639
<v Speaker 2>this framework actually have that. But my point is there

706
00:45:47.679 --> 00:45:51.480
<v Speaker 2>will come a time when you if your project.

707
00:45:51.280 --> 00:45:51.840
<v Speaker 3>Is big enough.

708
00:45:52.119 --> 00:45:54.800
<v Speaker 2>That's important by the way, if your project is big enough,

709
00:45:54.960 --> 00:45:57.079
<v Speaker 2>they will come a time when you need to work

710
00:45:57.159 --> 00:46:00.320
<v Speaker 2>something with Native. So either you'll like it or not,

711
00:46:00.840 --> 00:46:05.880
<v Speaker 2>you just have to use Native, Okay. So I mean

712
00:46:06.360 --> 00:46:09.039
<v Speaker 2>at the at this with this, you could argue that

713
00:46:09.480 --> 00:46:14.360
<v Speaker 2>that why not build the app with the native thing? Well,

714
00:46:14.840 --> 00:46:18.440
<v Speaker 2>the thing is that you're not going to develop any

715
00:46:18.480 --> 00:46:23.960
<v Speaker 2>app as fast as you can with cross platform, cross

716
00:46:24.000 --> 00:46:26.880
<v Speaker 2>part frameworks like React Native for fatter, if you're doing

717
00:46:26.960 --> 00:46:31.880
<v Speaker 2>it with Native Native Android or Native Virus, you're you're

718
00:46:31.920 --> 00:46:35.559
<v Speaker 2>never going to be able to do that. So that

719
00:46:35.719 --> 00:46:40.199
<v Speaker 2>that's because both of these languages were like Courtlin and Swiss,

720
00:46:40.360 --> 00:46:43.639
<v Speaker 2>they're actually well they actually have a lot of similarities,

721
00:46:43.679 --> 00:46:47.280
<v Speaker 2>but they're different. Their whole system is different, and Reid

722
00:46:47.360 --> 00:46:50.559
<v Speaker 2>works in a certain way. I always works in another way.

723
00:46:51.000 --> 00:46:54.599
<v Speaker 2>I mean, if you ever worked with like specific Native

724
00:46:54.760 --> 00:46:59.000
<v Speaker 2>band missions like Android doesn't cheare about most of the permissions,

725
00:46:59.039 --> 00:47:02.280
<v Speaker 2>but when you're working with iOS, you need to set

726
00:47:02.400 --> 00:47:07.599
<v Speaker 2>specific things in specific order to just keep everything working.

727
00:47:07.800 --> 00:47:12.440
<v Speaker 2>So it's just it's really painful if at times if

728
00:47:12.480 --> 00:47:15.760
<v Speaker 2>you're not using something like but audient native, it's really

729
00:47:15.840 --> 00:47:16.440
<v Speaker 2>hard to do that.

730
00:47:17.000 --> 00:47:19.679
<v Speaker 3>But at the same time, there will come a time

731
00:47:19.920 --> 00:47:22.480
<v Speaker 3>when you do need to use the native pictures.

732
00:47:22.840 --> 00:47:29.639
<v Speaker 2>So yeah, I mean again that actually depends on what

733
00:47:29.760 --> 00:47:34.000
<v Speaker 2>you're trying to do. If you if you like you said,

734
00:47:34.199 --> 00:47:38.119
<v Speaker 2>the hyperd architecture, hybrid architecture is actually pretty good, I

735
00:47:38.199 --> 00:47:42.679
<v Speaker 2>think because you have both the native options you know,

736
00:47:43.400 --> 00:47:48.000
<v Speaker 2>and the prospert from applications, and you're doing specific stuff

737
00:47:48.679 --> 00:47:52.840
<v Speaker 2>that that's actually what Facebook does, you know, Facebook Messenger,

738
00:47:53.039 --> 00:47:56.320
<v Speaker 2>and like other Instagram and other apps like this, they're

739
00:47:56.400 --> 00:47:57.039
<v Speaker 2>hybrid apps.

740
00:47:57.519 --> 00:48:02.000
<v Speaker 3>They have both the React native system and native native

741
00:48:02.400 --> 00:48:09.800
<v Speaker 3>code inside. That makes them the hybrid apps. And yeah,

742
00:48:11.119 --> 00:48:11.599
<v Speaker 3>so to.

743
00:48:11.639 --> 00:48:16.079
<v Speaker 2>Answer your question, probably I would say think about what

744
00:48:16.239 --> 00:48:20.000
<v Speaker 2>you're doing. You think if you think your project is

745
00:48:20.199 --> 00:48:24.280
<v Speaker 2>like anything like a few moments if I was talking

746
00:48:24.320 --> 00:48:27.719
<v Speaker 2>about NFC, if your project is something like this that

747
00:48:28.119 --> 00:48:31.519
<v Speaker 2>needs to communicate with the native fair, then I think

748
00:48:31.559 --> 00:48:39.000
<v Speaker 2>you're actually better off writing something like writing writing the

749
00:48:39.079 --> 00:48:43.280
<v Speaker 2>app logic totally from the scratchy native even though it

750
00:48:43.320 --> 00:48:47.440
<v Speaker 2>will take some time to actually take more time, but

751
00:48:47.800 --> 00:48:52.320
<v Speaker 2>in the end, it will make your app more more accessible.

752
00:48:52.519 --> 00:48:55.159
<v Speaker 2>And also one of the one of the things which

753
00:48:55.239 --> 00:48:59.920
<v Speaker 2>is actually really important is performance. You're never gonna get

754
00:49:00.519 --> 00:49:05.320
<v Speaker 2>the performance from cross platform apps like you would get

755
00:49:05.599 --> 00:49:09.159
<v Speaker 2>from the native paps, Like, I mean, how could you, right,

756
00:49:10.239 --> 00:49:14.039
<v Speaker 2>It's just it's not possible. But that being said, fatter

757
00:49:14.320 --> 00:49:17.320
<v Speaker 2>is actually very fast. I mean react metifision, but flatter

758
00:49:17.519 --> 00:49:18.639
<v Speaker 2>is flatter.

759
00:49:18.519 --> 00:49:19.519
<v Speaker 3>Is actually very fast.

760
00:49:20.280 --> 00:49:24.719
<v Speaker 2>So I mean, who's gonna do Who's gonna see the

761
00:49:24.800 --> 00:49:28.559
<v Speaker 2>difference between milliseconds? Right, Let's say something is happening in

762
00:49:28.599 --> 00:49:31.840
<v Speaker 2>two hundred two hundred millisecond and three hundred millisecond.

763
00:49:31.880 --> 00:49:34.599
<v Speaker 3>Who's going to notice the hundred million second difference? No one?

764
00:49:34.880 --> 00:49:39.440
<v Speaker 2>That's so so yeah, I think that you should decide

765
00:49:39.880 --> 00:49:42.960
<v Speaker 2>what what you're trying to do and then make a decision.

766
00:49:43.480 --> 00:49:45.119
<v Speaker 3>Also, there are there are other.

767
00:49:45.079 --> 00:49:49.679
<v Speaker 2>Things that actually a lot easy in flutter or react native,

768
00:49:50.000 --> 00:49:55.320
<v Speaker 2>then in in in doing in natively, you know, like

769
00:49:55.719 --> 00:50:01.920
<v Speaker 2>sending notifications. Yeah, that kind of th acts in native side.

770
00:50:02.960 --> 00:50:03.599
<v Speaker 3>I've worked with.

771
00:50:03.920 --> 00:50:09.480
<v Speaker 2>I have knowledge for developing some things internally, and yeah,

772
00:50:10.000 --> 00:50:11.559
<v Speaker 2>I'd rather do it in Flutter.

773
00:50:12.440 --> 00:50:13.159
<v Speaker 3>I mean, I don't know.

774
00:50:13.320 --> 00:50:17.920
<v Speaker 2>Maybe it's because fire Base is also backed by Google,

775
00:50:18.400 --> 00:50:22.039
<v Speaker 2>so maybe that's why they work together to make it simpler. Yeah,

776
00:50:22.079 --> 00:50:25.159
<v Speaker 2>that could be a reason, but I don't know. I

777
00:50:25.360 --> 00:50:28.920
<v Speaker 2>just found it more easy in in flutter than in native.

778
00:50:29.400 --> 00:50:33.639
<v Speaker 2>Side again, that that could be my skill issue, but yeah,

779
00:50:33.880 --> 00:50:37.039
<v Speaker 2>that's that's my opinion. If you have something really big,

780
00:50:37.239 --> 00:50:41.440
<v Speaker 2>something really complex, then you're probably good at native. But

781
00:50:41.679 --> 00:50:45.000
<v Speaker 2>if you don't, just if you don't need that all

782
00:50:45.039 --> 00:50:48.519
<v Speaker 2>that native stuff, you're just working with a specific thing.

783
00:50:49.280 --> 00:50:52.679
<v Speaker 2>So recently I worked with an app. I developed an

784
00:50:52.679 --> 00:50:57.719
<v Speaker 2>app actually for for our for our HI department. And

785
00:50:58.239 --> 00:51:00.760
<v Speaker 2>if you think about the HI department, they're never gonna

786
00:51:01.199 --> 00:51:05.519
<v Speaker 2>need any native features, right, I mean, what are they gonna.

787
00:51:05.360 --> 00:51:06.320
<v Speaker 3>Do scan us?

788
00:51:07.559 --> 00:51:11.239
<v Speaker 2>So yeah, they're never gonna need those features, so WATA

789
00:51:11.360 --> 00:51:13.440
<v Speaker 2>is probably retally good for them. I mean I could

790
00:51:13.559 --> 00:51:18.480
<v Speaker 2>just do some fancy animation and stuff. So yeah, that's

791
00:51:18.679 --> 00:51:21.440
<v Speaker 2>that's my point. You need to you need to think

792
00:51:21.480 --> 00:51:23.960
<v Speaker 2>about what you're trying to do and then choose what

793
00:51:24.320 --> 00:51:25.239
<v Speaker 2>suits you the best.

794
00:51:26.280 --> 00:51:30.119
<v Speaker 1>Makes sense, makes sense all right, dude, thank you so much.

795
00:51:30.360 --> 00:51:35.239
<v Speaker 1>This has been a really valuable episode. And yeah, it

796
00:51:35.360 --> 00:51:38.079
<v Speaker 1>was a pleasure to have you. Let's do some quick

797
00:51:38.280 --> 00:51:42.000
<v Speaker 1>promos and then we can wrap this up. On my end,

798
00:51:42.360 --> 00:51:47.480
<v Speaker 1>I am gonna just promote the companies that produce this show.

799
00:51:48.079 --> 00:51:50.679
<v Speaker 1>So Top and Doves a Onvoid. Pop Anddaves has a

800
00:51:50.719 --> 00:51:54.519
<v Speaker 1>lot of other podcasts as well, So if you're interested

801
00:51:54.760 --> 00:51:58.039
<v Speaker 1>in some other framers, some other technologies, definitely check out

802
00:51:58.079 --> 00:52:00.880
<v Speaker 1>some of the other podcasts from top and down. If

803
00:52:00.920 --> 00:52:03.280
<v Speaker 1>you just want to know more about web development in general,

804
00:52:03.440 --> 00:52:07.039
<v Speaker 1>there's also JavaScript Jabber, which is a podcast just about

805
00:52:07.880 --> 00:52:11.639
<v Speaker 1>JavaScript and web development in general, also made by toppin'devs.

806
00:52:12.119 --> 00:52:16.000
<v Speaker 1>And if you or your company is looking for more

807
00:52:16.320 --> 00:52:22.719
<v Speaker 1>web developers to augment your staff and just develop features quicker,

808
00:52:23.559 --> 00:52:27.000
<v Speaker 1>do check out onvoid dot com. This is U n

809
00:52:27.400 --> 00:52:31.880
<v Speaker 1>voi d dot com and reach out. They may have

810
00:52:32.119 --> 00:52:35.519
<v Speaker 1>exactly what you're looking for. So, yeah, these are going

811
00:52:35.599 --> 00:52:38.599
<v Speaker 1>to be my promos for today, Peter, how about you

812
00:52:38.679 --> 00:52:39.320
<v Speaker 1>want to go next?

813
00:52:40.199 --> 00:52:42.920
<v Speaker 4>Yeah, for the I don't have any.

814
00:52:44.440 --> 00:52:48.840
<v Speaker 1>Okay, okay, all right, how about you print anything specific

815
00:52:48.920 --> 00:52:49.840
<v Speaker 1>you'd like to promote.

816
00:52:50.400 --> 00:52:56.159
<v Speaker 2>Yeah, so I'm I'm prompt them I'm read native developer.

817
00:52:56.199 --> 00:53:00.760
<v Speaker 2>If you need any help, just reach out and if

818
00:53:00.800 --> 00:53:03.599
<v Speaker 2>you're if you like to work on something, then you can.

819
00:53:04.320 --> 00:53:06.119
<v Speaker 2>You can reach out to me on my email and

820
00:53:06.239 --> 00:53:08.679
<v Speaker 2>my website bound dev.

821
00:53:09.960 --> 00:53:12.920
<v Speaker 3>So yeah, thanks.

822
00:53:15.400 --> 00:53:19.039
<v Speaker 1>All right, And for those that want to reach out too,

823
00:53:19.440 --> 00:53:23.480
<v Speaker 1>Just so you know, his website is Pronto dot dev.

824
00:53:23.760 --> 00:53:29.800
<v Speaker 1>This is b r a n t A dot dev.

825
00:53:30.280 --> 00:53:33.159
<v Speaker 1>So I know that the way that it pronunciates is prontal,

826
00:53:33.599 --> 00:53:36.360
<v Speaker 1>but it's not an O at the end. It's an A.

827
00:53:36.679 --> 00:53:39.480
<v Speaker 1>So make sure that I'm sending the For those of

828
00:53:39.559 --> 00:53:42.559
<v Speaker 1>you that are listening to this on a podcast player

829
00:53:42.639 --> 00:53:48.639
<v Speaker 1>that has a comments section like YouTube or Facebook, whatever,

830
00:53:48.840 --> 00:53:52.559
<v Speaker 1>then there's going to be a link to Pronto's website there.

831
00:53:52.760 --> 00:53:56.000
<v Speaker 1>But if you're just listening to us, then it is

832
00:53:56.519 --> 00:53:59.800
<v Speaker 1>p r a n t A dot dev and you

833
00:53:59.840 --> 00:54:03.320
<v Speaker 1>can and reach out to fronto if you're looking for

834
00:54:03.599 --> 00:54:11.679
<v Speaker 1>help to build something. Yeah, awesome, awesome, Okay, thank you, yes,

835
00:54:11.880 --> 00:54:15.440
<v Speaker 1>thank you for your time. Nice meeting you and Helen.

836
00:54:15.480 --> 00:54:18.639
<v Speaker 3>Thank you for having me all right, thank you.

837
00:54:18.800 --> 00:54:21.760
<v Speaker 1>For joining me, Thank you everyone. Thank you for sticking

838
00:54:21.840 --> 00:54:24.079
<v Speaker 1>up until the end of the show. And I will

839
00:54:24.159 --> 00:54:25.599
<v Speaker 1>see you on the next one.
