@awesome-coding bro you literally promoted react native and now you agree with someone to never learn it 😂😂😂
@straygar2 күн бұрын
@@tunchunairarko he was being sarcastic bro
@tunchunairarko2 күн бұрын
@@straygar i know lol, i was being sarcastic duh
@chopsueey2 күн бұрын
It also implies that it is always time to learn react native, so 'That's the spirit!' actually makes sense
@rushi82892 күн бұрын
Absolute nightmare of a framework! The sheer chaos of npm package hell combined with endless edge case bugs makes it the most infuriating experience of my entire developer life
@phoneix24886Күн бұрын
Working with mobile devices is in itself a nightmare. Leave alone working with javascript frameworks for mobile apps.
@asandratrynyavojohanesa4623 күн бұрын
Wait, an async function on useEffect ? 6:30
@PanicAtProduction3 күн бұрын
Yes what is the issue?
@thibaultvieux55953 күн бұрын
You're right, using suspense would be more appropriate
@LV-ii7bi3 күн бұрын
is that a no no? 👀
@oliverloops.2 күн бұрын
Yes, maybe you can wrap the asynchronous function inside a useCallback depending on what are you returning and I you want to achieve better performance
@hakimmazouz2672 күн бұрын
@@PanicAtProduction The callback for useEffect should return a function for cleanup and not a promise (defining an async function automatically returns a promise) You should define a new async function inside of the callback and run that if you need to await inside of useEffect.
@BeeBeeEight3 күн бұрын
Some KZbinr I watched mentioned his friend made a decent game with RN. That's saying a lot about RN's performance nowadays. For perspective most game devs use either Unity or Unreal Engine due to the heavy performance requirements for such apps.
@juniordev41902 күн бұрын
I am trying to transition from Flutter to RN after the current buzz around RN and tried to setup and run basic app. Maan it's just a horrible experience for me. It took me here and there to setup the env to even run the basic app. I haven't done any serious work on RN and much experience with it, but at the first glimpse it's not intuitive at least for me.
@MrlegendOr2 күн бұрын
You're not alone, I had a disastrous experience with RN. I will never touch it again, for me now is Flutter and if the app sells well I will launch a native version.
@minutesock96492 күн бұрын
Excellent video. I really liked the new architecture breakdown. I suggest Kotlin multiplatform video next.
@jongxina35952 күн бұрын
I just write my UI in C that compiles to webassembly and then bundle it all to a webview app.
@DhananjayKumar-kn5uq2 күн бұрын
how? would you mind elaborting your workflow?
@patocarrasco62662 күн бұрын
I'm commenting for knowing when the question above me gets answered
@senzmakiКүн бұрын
I'm commenting to know when the question above the one above me gets answered
@mercurytommey3784Сағат бұрын
I’m commenting
@emmanuelhadzah28073 күн бұрын
RN/Expo is great and now matured. Not like 4 years ago where you need to do alot of hacks for performance.
@zanzaraloggan37133 күн бұрын
bro, I just download it and the ripple effect for a simple button is janky...
@Neovide3 күн бұрын
Now that I'm thinking about it, how about adding a sparkling animation to the code you want to highlight when pointing at it with the finger?
@awesome-coding3 күн бұрын
This might look nice - I'll test it in future videos. Thanks for the suggestion!
@approxahmed3 күн бұрын
Would love to see a video on Capacitor, been meaning to use it on a project at some point.
@awesome-coding3 күн бұрын
Added it on the list. Thanks for the suggestion!
@TerranceBhS3 күн бұрын
TL;DR: If your main target is browsers that also have an app version, use Capacitor. If your main target is mobile, use React Native. I'm currently building an application using Capacitor with React and the experience is fairly good if you're used to making web apps. The same libraries you would use for a website will work with Capacitor, considering that it's essentially a webview. So libraries like tailwind or shadcn will work, and imo feels much better creating UI here than with stylesheets. Also, capacitor gives you quite a few plugins to use some of the most common mobile native features like screen orientation, vibration, filesystem, geolocation, etc. And if capacitor doesn't support a mobile feature, you can also use capawesome (which is an extended library for capacitor). Now, with all that said, performance varies depending on several factors. If you're targeting low-end devices (let's say 2gb ram or less), you'll notice the sluggish performance. By contrast, React Native has worked really well for me for projects targeting low-end devices. Additionally, if your application is quite slow to begin with (speaking from a React perspective), it's going to be slower using Capacitor. Optimization is key here for a smooth experience both on web and mobile. Then, some functions like safe area works quite well and easy with React Native, but you'll have jump through some hoops to get this working with Capacitor. And this isn't limited to just the safe area view -- some things that work out of the box with React Native will be quite finicky to get working in Capacitor, and vice versa such as adding shadows or blur effects in React Native. When building your Capacitor app, you'll have to manually build it using Android Studio or Xcode. Capacitor makes the process fairly simple to do, but if you're not used to working with either IDE then this will be challenging. Luckily, Capacitor offers a service called Ionic Appflow, which works in the same way as Expo's EAS service. You can even deploy your app to Google Play and Appstore with OTA updates using their service. I highly recommend you do this. Lastly... Apple. Be aware that since you're building a webview app, you'll have to deal with their policies, requirements, and just building for iOS in general. I don't want to make this comment any longer, so I suggest doing some research. This isn't an ad for capacitor nor am I paid to sell capacitor to you. I just felt that Capacitor was the best choice for me building my web application targeting web browsers, that so happens to also have an app. After spending a few months working with this framework with React, I've accepted that Svelte is the future and Rich Harris is an angel in disguise because f React and its re-render bs 😂😂
@Dheeraj-kuma-r2 күн бұрын
Can you make a video on flutter?
@matthewpulls4413 күн бұрын
I've tried so many times to learn to love react but coming from VUE writing react just seems like chaos and un necessary. VUE and Capacitor is my go to for native apps.
@imdbere3 күн бұрын
Capactitor is basically a webview so i wouldn't really call that native
@AlexanderSuraphel3 күн бұрын
You're right React for web is rife with bad abstractions and horrible tooling/frameworks. But for mobile JSX seems like a perfect fit. Try it.
@matthewpulls4413 күн бұрын
@@imdbere Agreed, but capacitor offers plugins to talk to most of the native APIs you need for most common use-cases and most clients won't care whether their app is truly native or a webview as long as it works as they want it.
@delavago53793 күн бұрын
Just use vue native
@coder_one3 күн бұрын
Even if capacitor has enough performance for your use case it still only renders a web app into web view so user never will have native experience when dealing with capacitor app
@yashchauhan5710Күн бұрын
6:25 why you have async in useeffect, it is a bad practice no?
@trontrontrontron423 сағат бұрын
no.
@hamzakhiar36363 күн бұрын
the only thing that doesn't let me use react native is the react part, i mean i'm did some react in the past but i like to experiment with multiple stuff; like vue angular svelte & so on, why would it be only limited to use react library to do this on react native, why not make it cross platform so that i can import vue or angualr and use it to compose the ui & the frontend, then it it's all js at the end, why would they limit it only in react
@rafaelcorrea79593 күн бұрын
because the native binding is done through react tree renderer, what makes react native possible is not javascript itself, but the abstraction react allows (react is a data structure, whereas react-dom/react-native are renderers of that data)
@kolavithonduraski5031Күн бұрын
i tried it as a hobby-coder.... BUT i was lost in technologies.... i switched To B4A and B4i.... maybe you should make a video abot it 👍
@flavour-of-qualia3 күн бұрын
Was this video voiced over by Deno's creator?
@awesome-coding3 күн бұрын
I'm not Deno's creator :) I'm just helping them with their KZbin channel
@appwala37283 күн бұрын
What about app size. It's high than native platform
@kinggrey25113 күн бұрын
You publish to playstore with aab not apk so it's not even a thing to consider
@awesome-coding3 күн бұрын
@kinggrey2511 - right
@emmanuelhadzah28073 күн бұрын
Now adays app size doesn't matter, cos current phones have 500GB. Not like 2010 smart phones that had 8GB as storage
@appwala37282 күн бұрын
@@kinggrey2511 it's not the solution a simple application is taking 20 mb. While in native platform it's only 29-30Kb
@yewo.m2 күн бұрын
@@emmanuelhadzah2807 it can still be important to some people. And if your app is too big, it might be the first thing they choose to uninstall when they want to free up space
@robchr3 күн бұрын
Now do Kotlin Multiplatform
@mehmeh88832 күн бұрын
+1
@phoneix24886Күн бұрын
+1
@しめい-l4m3 күн бұрын
other devs when they are on new field: *learns new techs that are suitable for the job React devs when they do anything:
@jaydeep-p3 күн бұрын
Time
@davidbm8733 күн бұрын
JS Devs in general
@mma930672 күн бұрын
It’s just Java’s « write once, use everywhere » for the JS devs
@LutherDePapier2 күн бұрын
Wait, they don't have React Server Components on React Native yet?
@ishananaguruКүн бұрын
Soon we will... Expo team working on it.
@vi0cxq3 күн бұрын
seamless dev experience is a bad selling point lmao, unless you use expo
@awesome-coding3 күн бұрын
:)))
@josephmgift2 күн бұрын
:)))))
@a_macaulay2 күн бұрын
Tauri 2 just released with app cross-platform compatibility for a different take on js dev. (I haven't tried it yet)
@ManlyBadassDev3 күн бұрын
Ah yes: the most fragile way to build a mediocre UX with a codebase that won’t even build half a year later.
@justpatrick_Күн бұрын
Have you checked what appa are built with react native when saying this? Starlink, Bluesky, Shoppify, and a lot more
@christian-schubert3 күн бұрын
Now. We want this but for Vanilla JS.
@zanzaraloggan37133 күн бұрын
But the real question is: Will it ever reach version 1.0 ?
@awesome-coding3 күн бұрын
Version 1 is when we'll dump this old piece of garbage and we'll start something new from scratch.
@thedailycutline2783 күн бұрын
Version 1 is when now react native will be fully god mode, compiling javascript to c++ code during build time so that u have a true native feel😂😂
@MarcosVMSoares3 күн бұрын
So cute ^^ imagine live view native.
@Dik131WZDКүн бұрын
I love RN, but, to be honest, it's good only for mobile and TV for now
@alancito982 күн бұрын
Na, I tried to code an app with RN and it was a nightmare, for the most basic app is ok, but when you need native features it's a nightmare
@greendsnow3 күн бұрын
Why not use Capacitor or Tauri ?! I don't understand :/ React Native is a complete new environment that has little to do with React itself. You can't use your favorite libraries with RN.
@jaydeep-p3 күн бұрын
Which library?
@MarlonEnglemam3 күн бұрын
react native aims at mobile native apps, the way that native apps work is completely different of how web apps work on browsers, their whole structure is different so of course that libraries made for web won't work on mobile native apps...
@madmaxdev3 күн бұрын
You got it wrong. You're talking about web views. React native not web, its truly native, even flutter is not. The benefit is that you can carry your react knowledge to the react native and go fast with the development. Even you can share lots of code. Although you can build mobile and web with react-native with one codebase.
@doc85273 күн бұрын
Tell me you know nothing about Capacitor and Tauri without telling. Tauri doesn't even support mobile until recently and it's alpha and probably buggy everywhere. You literally can't use it for mobile right now. Capacitor is webview, it's not even native. Please don't hype for something you don't even use or know about without investigation.
@BeeBeeEight3 күн бұрын
Lol ... RN is not a complete new environment compared to React. You still create components much like in React and use the same old hooks like useState etc. Some devs even use the same react router package for navigation although react navigation is better tailored for mobile screens. As for capacitor and tauri, even though I really like Rust's performance, ultimately it's bottlenecked by the WebView which is not the native view for mobile and therefore slower. There are pros and cons to each approach - RN delivers a near native performance for mobile but expo is still not well integrated with web meaning you'd probably need to have a separate React app, while capacitor/tauri maintains a single UI codebase at the cost of performance for mobile.
@hamm89343 күн бұрын
Nty RN is like building an app on actual sand. Its a timebomb. You build an app and in 3 months it cant be updated because of how unstable the ecosystem is.
@andercarvalho10003 күн бұрын
But why now is the best time to learn react Native 😅? Didn't really catch that part
@CoolestPossibleName3 күн бұрын
I think pwa would be a better option to make apps for mobile devices. Most of the react native apps I've used (ex: Discord) are not good
@user-td5gy2fh3p3 күн бұрын
Long live C++!
@ivanpulispangkalawakan2 күн бұрын
Just used react native for our capstone, the developer experience? I will never touch react native ever again.
@awesome-coding2 күн бұрын
What were the major problems?
@ivanpulispangkalawakan2 күн бұрын
@@awesome-coding Some things are not available, it will waste your time if you will not use react native paper. You would probably spend most of your time, building custom components. Ngl it was fun a little bit, but i will never touch react native again.
@adamweyrah83632 күн бұрын
Doesn't matter unless you have a Bachelors Degree and even then, why would you be doing Frontend related work
@baxiry.2 күн бұрын
we need htmx native
@행복-i1g3 күн бұрын
hybrid app is more than enough for most of startups. no need to hire mobile app dev and manage another codebase if you already have web app until native app like experience is essential and critical for the business. and just in case who would bring up, react native web sucks.
@awesome-coding3 күн бұрын
I fully agree
@Omar-gr7km2 күн бұрын
Discord, Instagram, Shopify, and Bluesky never got the memo 😮
@dbarrosКүн бұрын
React Native is a dumpster fire. Avoid at all costs.
@ferhoodler3 күн бұрын
Lol 😂 I just skipped video after ad
@ulrich-tonmoy3 күн бұрын
will react native and for desktop ever be merged in one like how goo engine the anime like art style merging their forked build to the main blender repo
@madmaxdev3 күн бұрын
Mobile and desktop versions are maintained by different team. While Meta (mainly) maintains the mobile part, The desktop(windows and mac) part is maintained by Microsoft.
@BeeBeeEight2 күн бұрын
You could build desktop UIs in RN if you want. RN is really a UI renderer much like React, so RN can handle the visuals of desktop software but the logic and performance will still have to be handled by lower level languages like C, C++ and Rust. Preferably Rust 😛
@juniordev41902 күн бұрын
@@BeeBeeEight Don't you think it would be better to use Tauri than RN for that?
@BeeBeeEight2 күн бұрын
@@juniordev4190 I never said I would build software with RN, I said "if you want". "In theory I could but does it work well for my use case?" - a dev worth his salt should be asking that always.
@alinghinea3 күн бұрын
I would go with react native only for small apps and never in a big project. But maybe I’m wrong
@amine73 күн бұрын
You're right if you consider Discord a small hobby project.
@rimzzlabs3 күн бұрын
I mean, does Bluesky small?
@isaacalves68463 күн бұрын
Instagram is huge.
@MarlonEnglemam3 күн бұрын
yeah, you're wrong. You'd be right if you were in 2015 or smth though
@madmaxdev3 күн бұрын
Yeah youre definitely wrong!
@AmodeusRКүн бұрын
I couldn't disagree more. I tried making 2 different apps with React Native/Expo and all I got was a bunch of problems and bugs without any proper solution. Things were much better when Expo's SDK was in version 51, but now it's a complete nightmare, running the dev environment doesn't even work if you don't use tunnel despite being in the same network. And don't even get me started on debugging with that React component window, a complete mess and awful experience.
@JohnnySins-zf4fb2 күн бұрын
i thought another fireship io post
@xMadius2 күн бұрын
Once you try flutter , you will never say another good word about react native 😭😭
@madmaxdev3 күн бұрын
React native is a safe bet. Every large companies are using it.
@zanzaraloggan37133 күн бұрын
so safe it breaks on every version or xcode update... that's why flutter is seeing 2x more interest than RN right now
@gcash493 күн бұрын
@@zanzaraloggan3713 lmao flutter will never be popular in the US though, and i only care about high paying jobs. the number of big tech companies and popular apps using React Native is overwhelmingly larger than Flutter
@hydrilara3 күн бұрын
Yes, it's a safe bet to destroy your business in the long run.
@madmaxdev2 күн бұрын
@@hydrilara C'mon brother you don't even know what you're talking about. It's not react native that destroys your business. Every big companies are using it. What business did you distroy?
@madmaxdev2 күн бұрын
@@zanzaraloggan3713 Flutter has better DX, doesn't mean RN is not good. They are equally good and bad at certain things.
@taiwokazeem90143 күн бұрын
Try native script
@madmaxdev3 күн бұрын
Not that great.
@awesome-coding3 күн бұрын
I did a while back - nice tech
@awesome-coding3 күн бұрын
@@madmaxdev Why are you saying that?
@zanzaraloggan37133 күн бұрын
@@awesome-coding just a RN fanboy...
@iDizzasTeR2 күн бұрын
Every person defending Flutter in comments section never built an enterprise app with it to see themselves fail miserably.
@chrisauret37853 күн бұрын
The rising intonation in the middle and end of your sentences gave me a headache
@awesome-coding3 күн бұрын
I'm sorry :( I've been trying to fix that for the past 2 years, but apparently I just have a way of talking which is annoying to some people 🤦♂️
@krtirtho3 күн бұрын
And when you've learned enough, pull off your training wheels (react native) and actually start doing real work with Flutter 💪
@valtriztkhalifah42663 күн бұрын
google doesnt even care about flutter now lol, they have officially supported kotlin multiplatform since the past 6 months
@valtriztkhalifah42663 күн бұрын
google doesnt even care about flutter anymore lol, they have officially supported kotlin multiplatform since 6 months ago
@awesome-coding3 күн бұрын
Haha :)) This is a hot take right here.
@afterlifepro_3 күн бұрын
isnt flutter less accessible on web or smthn tho? afaik it renders to canvas right? does it not also *not* make use of non native elements (which rn does) i dont use either so i might be missin smtjn tho correct me if im wrong lol
@infantfrontender61313 күн бұрын
@afterlifepro_, you're right. Flutter Web is using Canvas. Flutter Native doesn't have a "native" elements.
@C4CH3SКүн бұрын
You spelled "worst" wrong there. No such thing as a good time and react together.
@lord-jarc2 күн бұрын
learn Flutter, that's all xD
@ZeelaxJrКүн бұрын
Why not both?
@sriniwasj3 күн бұрын
Tbh after the release of compose react native seems irrelevant
@omr8x3 күн бұрын
Flutter is better
@rstuv-02 күн бұрын
Stop being delusional
@franzaid2 күн бұрын
nope learn software engineering instead of being a react andy