All Episodes

December 18, 2024 • 54 mins
In today's episode, Lucas and Peter dive deep into the world of front-end frameworks with a captivating discussion featuring PRANTA Dutta, a seasoned React Native developer. Pranta shares his journey transitioning from Vue to React, highlighting both the challenges and advantages of React's manual configurations and rich third-party ecosystem. They explore the contrasts between frameworks like React, Angular, and Flutter, delving into the trade-offs between their built-in features and flexibility. From the complexities of using Flutter's custom canvas painting to the streamlined utilities for notifications and Firebase, we cover it all. They also tackle the ongoing debate of native versus hybrid mobile app development, with insights into the Kotlin Multiplatform project and the importance of choosing the right tools based on project needs.
Join them as they unravel the intricacies of React's success and shortcomings, discuss the merits of design patterns in both Flutter and React, and examine the responsibilities developers hold in shaping their applications. Stay tuned for a valuable conversation packed with industry insights and practical examples!


Links

Socials


Become a supporter of this podcast: https://www.spreaker.com/podcast/react-round-up--6102072/support.
Listen
Watch
Mark as Played
Transcript

Episode Transcript

Available transcripts are automatically generated. Complete accuracy is not guaranteed.
Speaker 1 (00:05):
Hey, welcome to React Round Up, the podcast where we
keep you updated on all things React related. This show
is produced by Top End Devs and Void. Top and
Depths is where it create top and Depths. We get
top and pay and recognition while working on interesting problems
and making meaningful community contributions. An Void which provides client

(00:28):
friendly remote design and software development services, so clients only
pay after the tasks are delivered and approved by the client.
In today's episode, we will talk about the popularity of
React in well, it's basically about an article of a

(00:48):
very special guest that I'm going to mention in a
second that wrote an article titled why React on the
front end race. My name is Lucas Baganini, your host
in a podcast and joining me in today's episode is
Peter Osa. Hello everyone, and our guest for this episode,

(01:09):
which is also the person that wrote the article we're
talking about, Pronto Dota, which is a React native developer
with more than four years of React experience.

Speaker 2 (01:24):
Hello everyone, I'm Branto and I'll be talking about reacted.

Speaker 1 (01:32):
Awesome. Awesome, all right, so fronto, let's just jump right
into it. So first, I thought it was really funny
reading your article because you actually wrote it in a
very sarcastic way, bringing facts but also bringing them in

(01:53):
a kind of sarcastic way. Do you mind telling us
a bit about why React became so popular, how he
was able to, as you said, when the front and race,
and also what are some of the the drawbacks from
it that we just learned to live at it unfortunately.

Speaker 2 (02:16):
Well, first of all, React is actually a library, right,
I mean, yeah, so that's that one of the things
that I actually mentioned in the book post that people
will always remind you that, yeah, it's a library. And
one of the things that I really don't like about well,

(02:37):
not actually React, actually the React developers. I see a
lot of buzz around it that basically says, yes, React
is the king, React is the best thing in the
whole world, white world, and things like that, which is
actually not true. And the look, the point is React
actually won the race. There's no denying that fact. But

(02:59):
if you sit on it like, yeah, this is the
best thing, no, it's not.

Speaker 3 (03:04):
The reason it's not is.

Speaker 2 (03:05):
Because there's like fifty other frameworks that I don't know.
The conversation that you're having right now, maybe in the meantime,
there's been a JavaScript framework. I mean, there's a very
good possibility that actually happened. So if you think that
React is like the only thing in the whole universe
with the JavaScript, with the JavaScript framework that you can

(03:32):
use to build apps or web applications, you're wrong. And
that's exactly the point of this post. So basically what
I wanted or what I tried to do here is
that I tried to tell everyone that React actually won,
but it's not the best thing in the world. So

(03:53):
you have other options, and you have a lot of
options actually, and there are situations and times when you
need to explore them. You need to try to understand
that what makes React great and what makes it well
sometimes actually really painful to work with. And I have, actually,

(04:19):
i would say, like a basic understanding of other JavaScript
frameworks like Few or Angular. I have worked fairly with them,
Like I'm not like an expert, but I work with
them and I understand how they work, and also React Native.
But one of the things that I really saw people

(04:39):
do is that yeah, you should always learn one thing,
and yeah you should just do these always, and it's
it's always like React is the best, and learn this
and then you don't need to do anything.

Speaker 3 (04:56):
Anything at all, like you can always do React.

Speaker 2 (05:00):
I mean, there's actually true to that because right now
Windows is actually using a lot of React and React Native,
and there are a lot of big companies that actually
use React.

Speaker 3 (05:15):
So yeah, maybe that's true to that. But there are
a lot.

Speaker 2 (05:18):
Of things that it's just I don't know. Sometimes it
feels like, how would I say this, it's bloaty.

Speaker 3 (05:28):
Actually it's really.

Speaker 2 (05:32):
And one of the things that I'd say about React
is that.

Speaker 3 (05:38):
It actually delivers.

Speaker 2 (05:41):
It actually sets it actually does what it sets out
to do, and it does with flying colors.

Speaker 3 (05:49):
And one of the.

Speaker 2 (05:50):
Things that I actually really admire about React is that
since its inception, React has been developing its ecosystem like
every other month here or I don't know, like every day.
And one of the things that make made this possible

(06:11):
is the Facebook the matter team at Facebook or whatever
they call this is then to the point is the
people behind React are extremely talented and they always uh,
they always deliver like they do deliver. And to answer

(06:33):
your questions about the drawbacks, one of the things I
don't really like about React is that when you when
you have like a really big project, I don't know
a lot of components. Maybe then it becomes really hard
to upgrade something. Or like let's say you need to
need to change a specific thing and you need to

(06:57):
bring in all these all these other things into this.
And when you have one single component, then you can
update it easily.

Speaker 3 (07:06):
But when you have.

Speaker 2 (07:07):
One component that depends on like fifty other components, that
it becomes really really hard to just update one single function.
Like let's say you have just one state and that
state is being used by five other components behind them,
and let's say you need to update it in somehow.

(07:28):
You need to update that somehow, and when you do that,
there are like a lot of steps inside, and there
are a lot of things inside that just re renders
for no reason, I mean, just because they depends on
one single thing. I mean, there are a lot of
ways that you can prevent this. And let's just say

(07:50):
React this is not the most performance framework, I'd say,
and there are a lot of better ways to do this.
But for what it's worth to create, this actually actually
good for what it does.

Speaker 1 (08:05):
Yeah, yeah, no, I think that makes total sense. Like
the fact that if you look at the actual scope
of React, it really does what it's supposed to do.
The problem is really the fact that a lot of
people look at React and expect it to fix a

(08:27):
lot of other problems in your application. When I say fix,
it's more like it's not really fix, because it's not
like it's originally broken. It's more like providing solutions. Right.
If you compare, for example, to Angler, which is a
much more, much larger framework, it does so much more

(08:50):
like internationalization, for example, there is no baked in solution
in React like this is the way that you should
handle internationalization. So if you want to support multiple languages,
you got to decide which library, which solution you're gonna
use along with React to fix this problem. If you

(09:12):
want to do something more fancy to control your forms,
then there are multiple different ways for you to do that,
and you have to choose which one you want. So
it's simple. I guess that, at least to me. What
makes more people get drawn into React is the fact

(09:35):
that because it is seen as a single library, it's
also simpler to explain because the scope of what it
does is smaller. Right, you can read the entire React
docs in maybe like two three hours if you just
sit through it and read it's really straight to the point,

(09:58):
and it's because it has a very specific set of
problems that it solves, whereas if you look into other
frameworks view jas, solid Angular, et cetera, their documentations are
going to be more extensive, but that's also a reflection
of the amount of things that they solve. And if

(10:20):
you think that you're going to be free from those
other problems, then you're just cheating on yourself because those
problems eventually are going to come and then you're going
to like you never just use React right, like you're
always using React and a mix of a bunch of
other libraries put together so that you actually have a framework.

(10:44):
So I think that this ended up making React more
interesting because it was easier to get started with it,
but it also creates a lot of problems later because
it is easy to learn because there are a lot

(11:04):
of things that it does not address, and you will
eventually have to address those things somehow. So yeah, at
least to me, I would bat that that was one
of the biggest reasons.

Speaker 2 (11:16):
Well, first of all, I think that the fact that
we act does not provide like all of all of
these things together. And first I thought, like, why do
I need. I mean, first, the first framework that I
ever used was View. So when I first came from
View to yet, and when I was first doing some routing,

(11:39):
it was.

Speaker 3 (11:40):
Like four or five years ago.

Speaker 2 (11:43):
It was during lockdown, Okay, So so when I was
first doing that, I realized that there are a lot
of things that I have to do manually, Like I
have to write a lot of boiler bat and other stuff.

Speaker 3 (11:58):
Even with reducts.

Speaker 2 (12:01):
Reducs also has a lot of boy oil a bit,
and that was actually really painful. But what I came
to realize is that this is actually a good thing.
And the reason I'm saying it's actually a good thing,
I mean the fact that React doesn't provide anything. It's
actually a good thing because when you do this, when
you leave this to other people, then you get like

(12:24):
a lot of pool stuff Like we have React router,
we have dance stack router, we have rich router, we
have a lot of other outers and they're doing a
specific thing. I mean, in some sense, this is actually
better for the ecosystem, even with React native.

Speaker 3 (12:41):
Like the fact that React.

Speaker 2 (12:43):
Doesn't provide a lot of things out of the box,
it just makes a lot of sense for other people
to come in and just use the bare bone, the
minimal thing that we have with react native and make
it into something that something that we want to make.
Let's say, let's say with flutter. Okay, so with flutter,

(13:07):
have you ever worked with butter?

Speaker 3 (13:09):
Just curious? I have not.

Speaker 1 (13:13):
It is something that I have been very curious about
because I was exploring some of the hybrid development tools lately,
and honestly, we were trying to do stuff with capacitor
and it was just so painful that we were like, Okay,
so no, that's not gonna happen. We're gonna have to

(13:34):
either choose between react Native or Flutter because capacitor is
just too painful. But we didn't get enough time to
do the proper research on Flutter yet. So I would
be very curious to also hear your thoughts on it,
knowing that you're coming from this web out perspective.

Speaker 2 (13:53):
So the point I was trying to make it flutter
is that they have a lot of things baked.

Speaker 3 (13:59):
In in the framework. Okay, right, like a lot.

Speaker 2 (14:03):
If you don't, you don't need a life, very like,
that's how much thinks there there are an inter batter
ecosystem and that actually creates a problem. You know, one problem.
The problem it creates is that there are like I mean,
most of the most of the apps.

Speaker 3 (14:23):
That you see have failed to it butter.

Speaker 2 (14:24):
You can see them, you can look at them. You
can look at these apps and tell yeah that this
app is made with butter. I mean, trust me, I
can just show me some pictures. I will tell you
if they're may be butter. It just it's that easy.
I mean, it's it's it's actually like, how would I
say this?

Speaker 3 (14:43):
The thing.

Speaker 2 (14:46):
Flutter is actually really easy. And that's the problem. So
when everyone tries to do the same thing with the
same the same line of code, it just every app
looks the same way, right, I mean, have you noticed
those those heathulp reap me apps that people show and

(15:06):
they all look the same. That's because they are they
were made with planted. And when when you have when
someone shows you an app that was built with React Native,
you don't have this. That's because Reagnaitive doesn't provide a
specific set of rules to you. It just provides a
view and then you write your own own thing. But

(15:28):
with flatter, you have let's say a container and then
you have a border, radius and everything, and when you
do this, everything looks the same. But it's not the
same with React Native, and I think that's actually a
good thing. That's one of the things actually React got
it right. Even with Angular and View, they have their
own router, okay, so they don't like there's literally no

(15:52):
other router in.

Speaker 3 (15:54):
Angular or View. I don't know if you have any
other outer than your outer.

Speaker 2 (15:59):
Sorry the baked in one. I'm not sure though, but
I know that Angler doesn't happen, so I mean there
are other things with Angler that does have things like
file based outing and stuff.

Speaker 3 (16:14):
I forget the fame.

Speaker 2 (16:15):
Of name, but the point I'm trying to make here
is that the fact that React didn't provide anything with
it with it with its original library, it made other
people made.

Speaker 3 (16:26):
Their own thing. So we got a lot of stuff.

Speaker 2 (16:29):
We got next Chase, we got like remix and the
ten step. And I think this is actually a good idea,
and I think React actually got it right.

Speaker 3 (16:42):
And to think that.

Speaker 2 (16:44):
At first, I thought like, why would I need to
install another another library just for louding.

Speaker 3 (16:50):
I mean I really thought that, Okay.

Speaker 1 (16:53):
That that does make sense in terms of flurter. I
think that Flutter also has a I think we need
to separate things a bit because I think there's like
this broader concept of something that is more opinionated and
solves more problems versus something that is smaller in scope

(17:14):
and leaves you with more options to do whatever you want.
So like React is something that is more scope and
then lets you make choices afterwards, and Flutter and Angular
are more opinionated and have their own way of doing things.
But I think there's also like I think we need
to separate the idea from the actual examples because Flutter

(17:42):
and Angular they are both very opinionated and they have
their own set of ways of how to do things,
But you don't have, Like the problems that you were
mentioning with Flutter are not things that I believe you
are applicable for Angler. And I think part of that

(18:04):
as well is because Flutter is also built on a
programming language that is not very used outside of Flutter, right, Like,
who else uses Dart besides Flutter developers, Like, I don't
know any anyone else that uses Dart for anything besides

(18:25):
people that that code with Flutter. But on the other hand,
Angular is built on the it is built to run
on the web, and thus it is just JavaScript at
the end. Well it's actually typescript, but you get what
I meant. It's just showscript. So you can still leverage
the entire ecosystem of the web. You just have to

(18:48):
sometimes add a few wrappers so that it so that
it just works inside Angular, right, but you can still
leverage all the web, which I think it's a is
a big difference from Flutter. Right, Like I would say
that there's a lot of things that React developers, View developers,

(19:10):
Angular developers, solid developers, whatever. I think there's a lot
that we can all share because it's just vanilla JavaScript,
you know, vanilla web development. So anything that is vanilla
web development anyone can use in any framework.

Speaker 3 (19:27):
The thing with.

Speaker 1 (19:28):
Flutters specifically is that there isn't much a leverage besides
the things that were specifically built for Flutter. Would you
say that that's true as well? Like, does that make
sense or do you disagree with this view because you
have more knowledge of Flutter so I might be wrong.

Speaker 2 (19:49):
No, Actually, you're one hundred percent right, And I think
that one of the one of the areas that this
actually really shines.

Speaker 3 (19:58):
I'll give you a proper sample. So I was working
with how do I say, a project that has to be.

Speaker 2 (20:08):
Done in like a week, okay, so it was it
was like four or five months ago, and it had
to be done like instantly. I didn't have time to
test it properly. I didn't have to have enough time
to to to make it look good and stuff like.

Speaker 3 (20:26):
It was just an app.

Speaker 2 (20:27):
It had just one specific functionality, like it had a
stop watch and it would work like stop watch okay,
and they would record something and I would record the values,
the laps and some other stuff. And it was not
actually that much complicated. But if I had to do

(20:49):
that in React Native, I don't think I could have
done that in a week. But I did it with
Flutter in a week. That's because Flutter actually provides you
with a lot of things that you can just work with, right.
So I didn't need to update a button.

Speaker 3 (21:08):
I just wanted the button that looks like a button. Okay.

Speaker 2 (21:11):
I just needed to get stuff done. And Flatter is
actually really perfect for that, and Flutter actually have like
a lot of functionality under the hood.

Speaker 3 (21:21):
It also provides you with that. But when you are.

Speaker 2 (21:24):
Working with let's say and an upper level thing.

Speaker 3 (21:30):
You don't need to go down.

Speaker 2 (21:31):
You don't want to go down the the the down
level because the down level is generally more complex.

Speaker 3 (21:40):
Let's say I was doing one small thing the other day.
I was just trying to.

Speaker 2 (21:46):
Make the border, you know, border in a U in
a how do I say a straight line, you know,
instead of just radius. So I learned that you can't
just normally do that. You need to you know, to
create a canvas. Then you need to custom make this.

Speaker 3 (22:05):
So that was you know, Uh, I don't know.

Speaker 2 (22:10):
I mean yeah, So when when the thing that you
work it doesn't work, you need to go a lot
of different ways. You need to have things a bit
to make everything perfect you want to. But when you
need to get stuff done, Father is actually really perfect
for that. And that's I think you made a really

(22:31):
good point there. Because when it comes to angle or
view or react. Let's say we have an animation library like, uh, what.

Speaker 3 (22:43):
Should I say? Frame or frame?

Speaker 2 (22:45):
It doesn't work with Yeah, it doesn't work with view
or angle. It only works to react. So let's say
any frame animation library that actually works with all of
them because it internally it uses uses trablescript or like
d ths or swept or anything like that that actually
works with all View, Angular and Beact framework because internally

(23:12):
it's just JavaScript. It just works, right, So even though
you don't have a specific library for Angular, you have
one for React, then you can. I mean, if that
specific library wasn't built for React like it was built
for JavaScript, then you can actually use it with javascrip,
with Angular or View, not just React.

Speaker 3 (23:34):
But most of the time I.

Speaker 2 (23:35):
Actually saw a lot of libraries focus on React first
then move on to the other frameworks, which is actually
a pretty common thing. But yeah, you made a good
point that I would flutter not being as you know,
as consistent like with the JavaScript ecosystem.

Speaker 3 (23:54):
But one thing I'd say, though, the amount.

Speaker 2 (23:58):
Of packages that the art has sort of Flutter has,
it's actually pretty I'd say, I don't know, it's just unbelievable.
Where did this munch package come from? It's actually kind
of weird, to be honest, Like it's really big. Ecosystem

(24:20):
is actually really big. There are a lot of people
developing libraries, and I don't see them on anywhere, Like
I don't see them on YouTube, I don't see them
on any podcasts. I don't see them on like YouTube comments.
You know, there are a lot of people on YouTube
governments saying yes, Reacted the best and reacnatic, these these
and that. But I don't see a lot of people

(24:42):
talking about Fludder. But when I go through the package
store with art, I think pup dot depth. So when
I go there, I see a lot of packages, which
is like where did this come from? And one other
things I would I'd like to say this doesn't mean
that the fact that React has a lot of packages

(25:04):
doesn't mean that actually they always work. I will give
you a proper example. So last year I was working
with a project with NFC. Do you have any idea
with NFC?

Speaker 1 (25:20):
Yep.

Speaker 2 (25:21):
So, so with NFC you need the native support, right,
you can't do anything with the jabascript.

Speaker 1 (25:30):
Y im sorry, Just to just to make this is
also clear to the audience, UH, we're talking about n
f C, not n f T. So it's not about
uh crypto stuff. It's about being able to like magnetically
transmit information like a credit card that has an NFC

(25:51):
UH signal and then you can capture that and grab
the data.

Speaker 3 (25:55):
That's it.

Speaker 2 (25:58):
Yes, that's that's NFCA. It's actually I think like near
field communication or something like that. Yeah, So basically it's
a technology that lets you to payments and other stuff.
So the thing that we were doing is that we
were scanning some cards, some NFC cards, and we're writing
some data on it, and then we're retrieving data and

(26:20):
we're doing us some other stuff internally. Now, so I
at first I thought this would I mean, I'm a
reacnative developer, okay, So I first tried to use Reactnative.
And when I was using Reactnative, there was this package
called NFC Manager that you use for NFC with Reacnative,
and I used it, and.

Speaker 3 (26:43):
I don't know, it just.

Speaker 2 (26:45):
It just feels felt so much buggy, you know, Like
I mean, the weed worked fine, but when it came
to write, I couldn't write a lot of cards simultaneously.
Just just hangs for a bit and throws weird air.
I don't I didn't get the end of it.

Speaker 3 (27:02):
I didn't.

Speaker 2 (27:03):
I just couldn't make it.

Speaker 3 (27:04):
Work, you know.

Speaker 2 (27:06):
But when I came to Flutter for help, I mean
it was out of desperation because I couldn't get it working.

Speaker 3 (27:12):
Properly with Reacnative. So I just came to Flutter for that.
So when I came to Flutter, I found.

Speaker 2 (27:19):
Out that there was this package that is weirdly also
called NFC manager. Yeah, I know, that's actually weird. The
package had the same name. So when I used that
Flutter Flutter package called NFC manager, it worked like.

Speaker 3 (27:36):
It I mean, it's actually really really good.

Speaker 2 (27:40):
Everything with reading, writing, and it just worked. Also, it
has a specific features called called stream, which is it's
actually really good, like this is one of the best
features in my opinion, in Dart, which is stream, the
fact that you can listen to things. And I mean

(28:00):
could say that javas Kip also has that, or like
any other languages also have that, but trust me, this
is actually better than most other languages. So yeah, that
actually properly worked out for me, even though I think
Reacnative has a bigger ecosystem. So when it came to
a how do I say this an uncertain level of thing,

(28:21):
Actually Flutter worked and Reacnative didn't. I mean, I don't know,
maybe just scale issue. From my side, I didn't know
how to get it working, but I didn't have to
do anything with Flutter.

Speaker 3 (28:34):
It just worked. Okay, it didn't be React native. That's
exactly my point.

Speaker 1 (28:39):
Yeah, that that is a big advantage indeed, like depending
on how fast you need the thing to be done,
and also how much custom design do you want with that.
I think that's a good good thing to consider. And Peter,
do you have any any questions anything you want to
add or mention thus far?

Speaker 4 (29:00):
Okay, yeah, yeah I do, so I would say questions
I think too.

Speaker 5 (29:06):
So I think my first question is as forgures, probably
are beyond the defense or react, so maybe just beyond
the defense at the point in the sense that now
they yeah, there are usually situations where like people have
actually mentioned that yeah, we have packages are working, or

(29:27):
we have kind of promote setting kind of design or
patterns or coding conventions that doesn't really scale, doesn't really
make sense in love opinions. So but then I will
usually ask the question that at this point, like do
you think it's actually like do you think React is

(29:50):
to blame or maybe the ones using React as the framework,
because yeah, they are probably many usually like I think,
I think I usually use this example of the use
effect there's disuse effect abused, and I went to react.
They are React on dogs actually has a post from

(30:13):
them about on why you shouldn't use react, muse effects
so much.

Speaker 4 (30:20):
But yet you see a lot of people kind of
using it or maybe your business.

Speaker 5 (30:26):
So at this point where you kind of blame the
framework or the framework, is the film workers or actually
rather than maybe or the people.

Speaker 4 (30:35):
Doing it or people building or using this framework. Are
they using it? Probably?

Speaker 5 (30:39):
Are they following the rules, are definitely in the conventions
of it. Are they also trying to kind of inequate
like maybe actual like design patterns like maybe the popular
want keys, siagny and the West to building react applications?

Speaker 4 (30:54):
So what do you think is.

Speaker 3 (30:57):
Okay? So, first of all, I think that.

Speaker 2 (31:04):
Both of this, both of these design patterns or paradigms
or like whatever you want to call it, I think.

Speaker 3 (31:11):
They have their place.

Speaker 2 (31:12):
Fast of all, because there are times when you need
need to do something really quickly, and I think that
that's where flatter actually shines. You don't need to do
a lot of stuff to just build an app. But
to answer your question if whether to react is to

(31:32):
blame here, actually I don't think so. I mean, honestly,
they could have done a little better with the recommendation
and stuff like I'm actually going back to flatter again,
but Flatter actually provides some other packages that works with Flutter.
I mean, the Flatter team actually provides some other packages

(31:55):
like go router and provider and some other packages. These
are also like extra packages. You have to manually install them,
but Fatter Fatter team actually maintains them and builds them.
But you don't see this in in in React or
React Native to the matter for that matter, because they

(32:17):
don't provide any extra stuff. The I mean to to
quote Don Abramoff, he actually said the only pro package
that React provides is the React So yes, he actually
said that once. So one of the things that I
do think that we need to we need to we

(32:40):
need to think about when making a decision like this,
is to when what suits you. Okay, so let's say
you have let's say you are making a really big,
big application, like you don't know what to expect, you
don't have a proper understanding of what's going to happen.

Speaker 3 (32:59):
Then yeah, I don't know.

Speaker 2 (33:01):
If you do something obinionated like Flutter, changing things, it's
actually really hard. But when it comes to React Native,
it's actually pretty easy. It's actually easier than Flutter. That's
what I found. And one of the things is that
about use effect. You said, well, let's just say use

(33:24):
effect actually creates more problems than it actually solves. That's
I don't know, that's actually probably a bold statement.

Speaker 3 (33:35):
But when you have.

Speaker 2 (33:39):
One of the things that I do want to mention
here is that when you use more than like three
or four use effect, Yeah, yeah, you should probably rename
that function to use food gun that time, because that's
exactly what users did. When you have multiple use effect
in your code base. You just, I mean, anything could

(34:03):
go wrong at that time, like anything.

Speaker 3 (34:06):
This is just what happens. I mean, I don't know
how to make this better.

Speaker 2 (34:12):
Like even with they React nineteen stuff with their they're
shipping like they have some they have a compiler now,
so I guess they're not a library anymore. But even
with that, I don't see any improvement. It is a fact,
and I don't know what improvement would they provide. I
just I don't I don't see a proper solution to

(34:33):
this problem at all.

Speaker 4 (34:35):
Yeah, okay, yeah, okay, yeah, let me I actually get that.
Well then, one thing one thing about.

Speaker 5 (34:44):
Reartic ism that react itself is more copmumunated, right, So
it's I think it's and that's kind of like it's
less you and because depending on the just the.

Speaker 4 (34:56):
Requirements or your or your requirements or any is recovering.

Speaker 5 (35:00):
So right, So there are people who have who kind
of like kind of maybe it's to mind pattern and like, yeah,
they do want to follow up. They don't want it
like a framework something that kind of have a building
together and then kind of follows a specific pattern I
think from my for my expert, I think something like

(35:22):
angular now right, a black follows like a very good
like OPI convention and many design systems you follow. Yeah,
and that's so many people, so many people who feel
that yeah does also have like their demerits in the
sense that the few there's a learning of there's a

(35:42):
large higher learning of maybe okay, or the ease of
kind of finishing or like doing something quickly. So people
feel maybe you have to learn a lot to kind
of frame exactly use like this pattern.

Speaker 4 (35:56):
But then creat kind of gives you like if for
more more just more like a.

Speaker 5 (36:01):
Cameras, Oh, this is just what you need to do
and you could use anything you want based as imagination and.

Speaker 4 (36:08):
Yeah, that has actually has that ratly created.

Speaker 5 (36:12):
The merits in the sense that of what when people
really see us like kind of our only is like an.

Speaker 4 (36:19):
Abuse of the framework ware or the library world.

Speaker 5 (36:24):
So many people use that to kind of they're right,
they don't follow like actual patterns and conventions claus and
they kind of abuse the use of libraries, which we
actually mentioned because they're setting like okay, they're setting things
that people feel that should be lively, but you could
actually do it with just like javascart to see javaskearting clienting.

Speaker 4 (36:49):
Right, So I don't know.

Speaker 6 (36:51):
So the why why I'm explaining this is that now
in this in this kind of with this kind of
concept now right, who it's like it's react itself to
believe rather than then brad how like people how people
are adopted.

Speaker 5 (37:07):
It's actually the problem because I think that's those the
main thing and tend to kind of push out like okay, yeah,
every everything has the merits and the merits, but I
think it's based on how you use it or how
do developer use it?

Speaker 4 (37:23):
Yeah, so what do you say? Yeah, what do you say?

Speaker 2 (37:27):
Well, first of all the fact that react is unopinionated
means that you can do anything to react or reactnated.
But that matter but at the same time, I mean,
I don't know. I will answer your question on the
on the plane, but first I just I don't know.

(37:48):
You know, reacnative doesn't even have a select component, Like
you need a library to select something, or you need
to create like select, you know, form select when you
click on something and drop down a bit. React doesn't
have anything like that. Reagnated sorry, Reagnity doesn't have anything
like that. You need to create. You need to create
your own component to make that happen, or just install

(38:10):
a third party library. I mean, why, it's just a
simple thing.

Speaker 4 (38:14):
It just I don't know.

Speaker 2 (38:16):
Just Also, I don't think React is to blame here.
I mean, they were trying to do one thing and
they did it properly. And the fact that the React
actually doesn't provide anything, it's actually useful in a lot
of cases. Let's say, uh, let's say let's talk about

(38:40):
the company the Matter. So they have a lot of applications, right,
they have a really big applications called Facebook, you know,
so they.

Speaker 3 (38:50):
Have a lot of components there.

Speaker 2 (38:53):
So how would you just push one thing, like how
do you push a specific set design or battles on?
Like I'm emilion components. I mean, can you even do that? Like,
how do you even do that? Like all of these
have like different uh you know people, Facebook actually have

(39:15):
a lot of subsections to like developers or Facebook dot
com carriers to develop Facebook dot com and shops dot Facebook.
They have a lot of things like this. So all
of these are different applications. So even if you try
to do something like this, how do you even like propose.

Speaker 3 (39:36):
A system that actually works with all of this?

Speaker 2 (39:39):
Like I mean, if if if if you're doing something
like uh, pushing at something like yeslink, you know, like
a linking something like that, you can do that, But
how do you push design? I mean I don't know, honestly,
and I don't know it just maybe I don't. I

(40:00):
honestly don't know how even could do that even if
you try to. But so one of the things that
I'd like to say here is that Butter is actually
backed by Google, and Google actually pushes their own design,
just material design, and each and every app that you

(40:23):
create with Butter actually comes with a material design. I
mean you can change that you have like other other
internal these design systems with Coupertino and other stuff for iOS.

Speaker 3 (40:36):
You know, So that'll just look different.

Speaker 2 (40:39):
You know, you can do that, but mostly, like I
don't know, like ninety percent of the time, people actually
use the default material app you know, so they're pushing something.
And I think that both of these approaches actually works
and their book, both of them have their place in

(41:02):
this and we just have to decide when to use switch.

Speaker 3 (41:06):
Yeah that's about it.

Speaker 5 (41:12):
Yeah, Yeah, I think that's yeah, I think that that works. Actually,
I think the answer that's kind of great. So I
think it's yes, it depends on the developers.

Speaker 4 (41:22):
I'm reacts, not.

Speaker 5 (41:26):
That thes are the ones that kind of architects or
viuild the applications and react to be gate to decide how.

Speaker 4 (41:34):
Whatever, like what you use on how to do it,
come out to use it.

Speaker 1 (41:38):
So like look as you have any Yeah, I do
have one last thing before we wrap up, which is
out of all that, we didn't even talk about or
explore the alternative of just using native mobile development, just

(41:59):
doing native Android native iOS. And I just wanted your
opinion on that, Panto, because I think this definitely generates
a lot of polemic, right, Like a lot of people
have different opinions about that, but I think there are
people that believe that we should prefer native apps and

(42:26):
people that think we should prefer hybrid apps. I'm not
even talking about Flutter versus React Native. I'm just talking
about hybrid versus native on mobile, And I just wanted
to hear your thoughts. Do you think that there's still
space and reasons to go with native development in twenty

(42:47):
twenty four or let's just say twenty twenty five, because
we're already ending twenty twenty four, right, so in twenty
twenty five, do you think there's two reasons to go
with native iOS and android development or this is the
pass and we should definitely go with hybrid independently of
it being Fluttered or React Native.

Speaker 2 (43:06):
Actually, there's been an interesting project called Corklean Multiplatform.

Speaker 3 (43:12):
Have you heard about it? No?

Speaker 1 (43:15):
Sorry, I couldn't understand how. What's the name.

Speaker 2 (43:19):
Cotlin Codlin multi Platform? Oh okay, yeah, it's actually Cotlan
multi Platform. So basically it's it's like React sorry, it's
like React Native for Flutter, but you write code with
Cotland and that the thing with this is that the

(43:42):
Android developers, the existing Android developers already knows okay, already
they already know Godlin that they're working with Cotlin every day.
They're working with composed. The Composed is the system where
you're uh, you're you write components and with with with
native Android development, you know, normal component you write them

(44:04):
with compost. So let's say you are an Android developer, right,
and you can develop apps with just Cocklin and.

Speaker 3 (44:15):
Uh you will write it once and.

Speaker 2 (44:18):
Everything else just works in an iOS device too, And
I think that's actually pretty good. Like in Android you
get the existing existing thing, like the exact same thing,
the exact same experience, like a native Android app, but
on on iOS you actually get the the exact same app.

Speaker 3 (44:40):
But the problem with this is that on iOS it's.

Speaker 2 (44:44):
Not actually native, but you do have the capacity to
write native god. So to answer your question whether we
should use native or or a cross platform framework, I
would say again one of.

Speaker 3 (45:00):
The things that one of the things that I found
out is that.

Speaker 2 (45:05):
If your project grows to a certain point, you know,
like let's say you have a project that you've been
working with like one year, two year, three year, there
will come a time when you need to work something.
You need to work with the native libraries or the
native system, like both of these platforms like Butter and

(45:26):
React Native. They both provide stuff like modules, and Butter
has something called channels that you can you can communicate
with a native player like you can execute a Cordian
code for Android and Swift code in iOS. Both of
this framework actually have that. But my point is there

(45:47):
will come a time when you if your project.

Speaker 3 (45:51):
Is big enough.

Speaker 2 (45:52):
That's important by the way, if your project is big enough,
they will come a time when you need to work
something with Native. So either you'll like it or not,
you just have to use Native, Okay. So I mean
at the at this with this, you could argue that
that why not build the app with the native thing? Well,

(46:14):
the thing is that you're not going to develop any
app as fast as you can with cross platform, cross
part frameworks like React Native for fatter, if you're doing
it with Native Native Android or Native Virus, you're you're
never going to be able to do that. So that

(46:35):
that's because both of these languages were like Courtlin and Swiss,
they're actually well they actually have a lot of similarities,
but they're different. Their whole system is different, and Reid
works in a certain way. I always works in another way.
I mean, if you ever worked with like specific Native
band missions like Android doesn't cheare about most of the permissions,

(46:59):
but when you're working with iOS, you need to set
specific things in specific order to just keep everything working.
So it's just it's really painful if at times if
you're not using something like but audient native, it's really
hard to do that.

Speaker 3 (47:17):
But at the same time, there will come a time
when you do need to use the native pictures.

Speaker 2 (47:22):
So yeah, I mean again that actually depends on what
you're trying to do. If you if you like you said,
the hyperd architecture, hybrid architecture is actually pretty good, I
think because you have both the native options you know,

(47:43):
and the prospert from applications, and you're doing specific stuff
that that's actually what Facebook does, you know, Facebook Messenger,
and like other Instagram and other apps like this, they're
hybrid apps.

Speaker 3 (47:57):
They have both the React native system and native native
code inside. That makes them the hybrid apps. And yeah,
so to.

Speaker 2 (48:11):
Answer your question, probably I would say think about what
you're doing. You think if you think your project is
like anything like a few moments if I was talking
about NFC, if your project is something like this that
needs to communicate with the native fair, then I think
you're actually better off writing something like writing writing the

(48:39):
app logic totally from the scratchy native even though it
will take some time to actually take more time, but
in the end, it will make your app more more accessible.
And also one of the one of the things which
is actually really important is performance. You're never gonna get

(49:00):
the performance from cross platform apps like you would get
from the native paps, Like, I mean, how could you, right,
It's just it's not possible. But that being said, fatter
is actually very fast. I mean react metifision, but flatter
is flatter.

Speaker 3 (49:18):
Is actually very fast.

Speaker 2 (49:20):
So I mean, who's gonna do Who's gonna see the
difference between milliseconds? Right, Let's say something is happening in
two hundred two hundred millisecond and three hundred millisecond.

Speaker 3 (49:31):
Who's going to notice the hundred million second difference? No one?

Speaker 2 (49:34):
That's so so yeah, I think that you should decide
what what you're trying to do and then make a decision.

Speaker 3 (49:43):
Also, there are there are other.

Speaker 2 (49:45):
Things that actually a lot easy in flutter or react native,
then in in in doing in natively, you know, like
sending notifications. Yeah, that kind of th acts in native side.

Speaker 3 (50:02):
I've worked with.

Speaker 2 (50:03):
I have knowledge for developing some things internally, and yeah,
I'd rather do it in Flutter.

Speaker 3 (50:12):
I mean, I don't know.

Speaker 2 (50:13):
Maybe it's because fire Base is also backed by Google,
so maybe that's why they work together to make it simpler. Yeah,
that could be a reason, but I don't know. I
just found it more easy in in flutter than in native.
Side again, that that could be my skill issue, but yeah,

(50:33):
that's that's my opinion. If you have something really big,
something really complex, then you're probably good at native. But
if you don't, just if you don't need that all
that native stuff, you're just working with a specific thing.
So recently I worked with an app. I developed an
app actually for for our for our HI department. And

(50:58):
if you think about the HI department, they're never gonna
need any native features, right, I mean, what are they gonna.

Speaker 3 (51:05):
Do scan us?

Speaker 2 (51:07):
So yeah, they're never gonna need those features, so WATA
is probably retally good for them. I mean I could
just do some fancy animation and stuff. So yeah, that's
that's my point. You need to you need to think
about what you're trying to do and then choose what
suits you the best.

Speaker 1 (51:26):
Makes sense, makes sense all right, dude, thank you so much.
This has been a really valuable episode. And yeah, it
was a pleasure to have you. Let's do some quick
promos and then we can wrap this up. On my end,
I am gonna just promote the companies that produce this show.

(51:48):
So Top and Doves a Onvoid. Pop Anddaves has a
lot of other podcasts as well, So if you're interested
in some other framers, some other technologies, definitely check out
some of the other podcasts from top and down. If
you just want to know more about web development in general,
there's also JavaScript Jabber, which is a podcast just about
JavaScript and web development in general, also made by toppin'devs.

(52:12):
And if you or your company is looking for more
web developers to augment your staff and just develop features quicker,
do check out onvoid dot com. This is U n
voi d dot com and reach out. They may have
exactly what you're looking for. So, yeah, these are going

(52:35):
to be my promos for today, Peter, how about you
want to go next?

Speaker 4 (52:40):
Yeah, for the I don't have any.

Speaker 1 (52:44):
Okay, okay, all right, how about you print anything specific
you'd like to promote.

Speaker 2 (52:50):
Yeah, so I'm I'm prompt them I'm read native developer.
If you need any help, just reach out and if
you're if you like to work on something, then you can.
You can reach out to me on my email and
my website bound dev.

Speaker 3 (53:09):
So yeah, thanks.

Speaker 1 (53:15):
All right, And for those that want to reach out too,
Just so you know, his website is Pronto dot dev.
This is b r a n t A dot dev.
So I know that the way that it pronunciates is prontal,
but it's not an O at the end. It's an A.

(53:36):
So make sure that I'm sending the For those of
you that are listening to this on a podcast player
that has a comments section like YouTube or Facebook, whatever,
then there's going to be a link to Pronto's website there.
But if you're just listening to us, then it is
p r a n t A dot dev and you

(53:59):
can and reach out to fronto if you're looking for
help to build something. Yeah, awesome, awesome, Okay, thank you, yes,
thank you for your time. Nice meeting you and Helen.

Speaker 3 (54:15):
Thank you for having me all right, thank you.

Speaker 1 (54:18):
For joining me, Thank you everyone. Thank you for sticking
up until the end of the show. And I will
see you on the next one.
Advertise With Us

Popular Podcasts

Stuff You Should Know
Dateline NBC

Dateline NBC

Current and classic episodes, featuring compelling true-crime mysteries, powerful documentaries and in-depth investigations. Follow now to get the latest episodes of Dateline NBC completely free, or subscribe to Dateline Premium for ad-free listening and exclusive bonus content: DatelinePremium.com

The Breakfast Club

The Breakfast Club

The World's Most Dangerous Morning Show, The Breakfast Club, With DJ Envy, Jess Hilarious, And Charlamagne Tha God!

Music, radio and podcasts, all free. Listen online or download the iHeart App.

Connect

© 2026 iHeartMedia, Inc.

  • Help
  • Privacy Policy
  • Terms of Use
  • AdChoicesAd Choices