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 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 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, 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.
Hello everyone, I'm Branto and I'll be talking about reacted.
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 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.
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, 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 if you sit on it like, yeah, this is the best thing, no, it's not.
The reason it's not is.
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 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 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, 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 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.
Anything at all, like you can always do React.
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.
So yeah, maybe that's true to that. But there are a lot.
Of things that it's just I don't know. Sometimes it feels like, how would I say this, it's bloaty.
Actually it's really.
And one of the things that I'd say about React is that.
It actually delivers.
It actually sets it actually does what it sets out to do, and it does with flying colors.
And one of the.
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 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 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 bring in all these all these other things into this. And when you have one single component, then you can update it easily.
But when you have.
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. 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 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.
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 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 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 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 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, 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 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.
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 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.
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, it was.
Like four or five years ago.
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.
Even with reducts.
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 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.
Like the fact that React.
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, have you ever worked with butter?
Just curious? I have not.
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 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.
So the point I was trying to make it flutter is that they have a lot of things baked.
In in the framework. Okay, right, like a lot.
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.
That you see have failed to it butter.
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?
The thing.
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 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 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 other router in.
Angular or View. I don't know if you have any other outer than your outer.
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.
I forget the fame.
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.
Their own thing. So we got a lot of stuff.
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.
And to think that.
At first, I thought like, why would I need to install another another library just for louding.
I mean I really thought that, Okay.
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 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 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 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 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 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,
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.
The thing with.
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.
No, Actually, you're one hundred percent right, And I think that one of the one of the areas that this actually really shines.
I'll give you a proper sample. So I was working with how do I say, a project that has to be.
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.
It was just an app.
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 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.
I just wanted the button that looks like a button. Okay.
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.
It also provides you with that. But when you are.
Working with let's say and an upper level thing.
You don't need to go down.
You don't want to go down the the the down level because the down level is generally more complex.
Let's say I was doing one small thing the other day. I was just trying to.
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.
So that was you know, Uh, I don't know.
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 good point there. Because when it comes to angle or view or react. Let's say we have an animation library like, uh, what.
Should I say? Frame or frame?
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 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.
But most of the time I.
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.
But one thing I'd say, though, the amount.
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 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 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
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?
Yep.
So, so with NFC you need the native support, right, you can't do anything with the jabascript.
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 UH signal and then you can capture that and grab the data.
That's it.
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 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.
I don't know, it just.
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.
I didn't.
I just couldn't make it.
Work, you know.
But when I came to Flutter for help, I mean it was out of desperation because I couldn't get it working.
Properly with Reacnative. So I just came to Flutter for that. So when I came to Flutter, I found.
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.
It I mean, it's actually really really good.
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 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, 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.
It just worked. Okay, it didn't be React native. That's exactly my point.
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?
Okay, yeah, yeah I do, so I would say questions I think too.
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 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 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 them about on why you shouldn't use react, muse effects so much.
But yet you see a lot of people kind of using it or maybe your business.
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.
Doing it or people building or using this framework. Are they using it? Probably?
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?
So what do you think is.
Okay? So, first of all, I think that.
Both of this, both of these design patterns or paradigms or like whatever you want to call it, I think.
They have their place.
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
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 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 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 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.
Then yeah, I don't know.
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 effect actually creates more problems than it actually solves. That's I don't know, that's actually probably a bold statement.
But when you have.
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 go wrong at that time, like anything.
This is just what happens. I mean, I don't know how to make this better.
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 this problem at all.
Yeah, okay, yeah, okay, yeah, let me I actually get that. Well then, one thing one thing about.
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.
Requirements or your or your requirements or any is recovering.
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 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 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.
But then creat kind of gives you like if for more more just more like a.
Cameras, Oh, this is just what you need to do and you could use anything you want based as imagination and.
Yeah, that has actually has that ratly created.
The merits in the sense that of what when people really see us like kind of our only is like an.
Abuse of the framework ware or the library world.
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.
Right, So I don't know.
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.
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?
Yeah, so what do you say? Yeah, what do you say?
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. 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 a third party library. I mean, why, it's just a simple thing.
It just I don't know.
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 the company the Matter. So they have a lot of applications, right, they have a really big applications called Facebook, you know, so they.
Have a lot of components there.
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 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.
A system that actually works with all of this?
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 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 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.
You know, So that'll just look different.
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 this and we just have to decide when to use switch.
Yeah that's about it.
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.
I'm reacts, not.
That thes are the ones that kind of architects or viuild the applications and react to be gate to decide how.
Whatever, like what you use on how to do it, come out to use it.
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 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
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 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.
Actually, there's been an interesting project called Corklean Multiplatform.
Have you heard about it? No?
Sorry, I couldn't understand how. What's the name.
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 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 with compost. So let's say you are an Android developer, right, and you can develop apps with just Cocklin and.
Uh you will write it once and.
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.
But the problem with this is that on iOS it's.
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.
The things that one of the things that I found out is that.
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 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 will come a time when you if your project.
Is big enough.
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, 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 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, 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.
But at the same time, there will come a time when you do need to use the native pictures.
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, 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.
They have both the React native system and native native code inside. That makes them the hybrid apps. And yeah, so to.
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 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 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.
Is actually very fast.
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.
Who's going to notice the hundred million second difference? No one?
That's so so yeah, I think that you should decide what what you're trying to do and then make a decision.
Also, there are there are other.
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.
I've worked with.
I have knowledge for developing some things internally, and yeah, I'd rather do it in Flutter.
I mean, I don't know.
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, 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 if you think about the HI department, they're never gonna need any native features, right, I mean, what are they gonna.
Do scan us?
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.
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. 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. 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 to be my promos for today, Peter, how about you want to go next?
Yeah, for the I don't have any.
Okay, okay, all right, how about you print anything specific you'd like to promote.
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.
So yeah, thanks.
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. 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 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.
Thank you for having me all right, thank you.
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.
