React Native - Best Practices | React Native EU 2020 Conference Q&A Panel

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
the last section we have just a few basic questions about general react native development you know we can talk about new architecture we can talk about multi-platform but at the end of the day we all create some kind of react native code and we solve some maybe challenging or typical daily problems with react native uh so uh maybe we can start with that one uh what was the the biggest or the latest performance challenger that you have faced at your job and how did you solve that and what were the takeaways from it we can start with ram uh yeah i was wondering i mean it's performance there's no reason i wouldn't take it so uh i'm gonna react to the performance part i think uh and this is also what prompted me to do the talk and react with eu i think uh uh the mistake i made was i kind of like uh was talking about like native performance and improving native performance over and over again but one of the things that i realized is that there's also a ton of like performance issues in the javascript side of the world so the latest performance issue that i had was around like javascript thread being super busy and as you know you can expand many threads on the native side there are a lot of solutions there but on javascript there is not much and if you need a if your javascript thread is busy if you click a button it shows like you can actually see that the javascript button click does not go through and i was trying to understand like what happens and i think the to your question about what is the perform uh the issue the issue was the javascript thread was slow and i had no clue how to solve it i also discovered that the javascript profilers used to work with jse and are broken on hermes and we have an internal tool that we were able to use to get the sampling profiler running that's when i also realized that there's nothing exists in the open source and luckily for me we had the mlh uh uh fellowship program which is the which is a program to bring in new students and new contributors into reactive and get them to build stuff i was actually super lucky to get into that that the project got accepted into mlh and we had two really talented students build the visualization for the hermes sampling provided open source so i'm hoping that if i if yeah just like me if people are also facing like issues with javascript performance that's one tool that will come in handy that people can build people can use and build nice and by the way ram i have to say here that recently i've been uh working on the startup performance of my android app and i have i had an issue with react markers and systrace and i found some articles of yours you know describing how to set it up with some kind of custom code hosted on gist how to make it work and i was just you know so glad that you did it did the hard work before because it was such a time saver so i just want to thank you uh for doing this as we are you know talking about performance right now um right uh monica i think you wanted to say something as well about about the the challenge that you had major league soccer you're working a product i think so uh there might be some interesting uh problems that you're facing every day yeah um there are actually multiple performance um you know gaps and challenges that we are faced with all the time but the one that i um when i was thinking about this question um that came out to my mind because it's like i guess the most challenging that we have had in the recent time uh has been our massive upgrade of our app uh we were you know just like trying to um migrate to under yeah android x which again sounds like to be something way behind but because we have a lot of like libraries that we depend on and like so much of like native code uh we were just recently doing it um and then after doing this just the upgrading of some of our major libraries like react navigation for instance uh made the process of migrating overall uh very challenging uh especially because we had some libraries that were already considered legacy code and had kind of like changed everything internally so um this particular particularly forced us to think about ways to solve issues like total incompatibility in compatibility with the new apis right so like the whole process which led us to uh have uh great increases in performance was uh you know definitely something that every person who's developing a native um always has to face and i think was uh important to bring it up here because we also face it at uh mls having a bunch of interviews working on it and just being an app that we have developed for uh quite a long time already yeah yeah totally agree and actually this i think uh brings brings me to the next question which i can ask you as well as a follow-up uh from the migration perspective because there is a lot of there's a lot of uh a lot of companies you know are migrating to react native right now from variety of different apps uh small ones and big ones one platform many platforms and um they are also trying to transition from native developers to javascript developers which is also a a challenge on its own so i i guess um my question would be what would be the biggest challenge that you would say might be here and and and and what would be the advice for somebody who's looking to start doing this as we speak and you mean to start like building up um real native applications yeah just trying to migrate uh from the existing apps to read native so you say you have like two or four maybe like you have an app native app and you're about to migrate it uh so that that's a intermediate brownfield app that's eventually gonna be greenfield uh hopefully when they are ready oh there are many things that we have to take into account but i think uh you know dividing the process in chunks is perhaps the most the smartest thing to do as well as uh determining compatibility from the libraries and like all of the parts of your app uh with uh in this case react native but everything that we're trying to develop sometimes and we what we have found out so far is like we of course bag native is amazing and we love working with it but you know there are things that are still we need to type kind of like tweak and move around so we are compatible with some of the libraries for third-party providers that are not working with a react native mind and then this kind of goes with uh what graham and um uh we could were talking before about like you know they don't and i guess everybody they're not um all the libraries are not just like the same thing competing for the same and in other languages as well um you know just like so i guess understanding um what are the limitations and capabilities of like the libraries that you have on the native native side and then uh what are the limitations and capabilities that react native offers is like a perfect starting point for everything yeah i i would agree definitely with that when we started converting the rc app i think for a lot of people it is very tempting to want to think about javascriptifying all of it as soon as possible but you know that i would say that that is not really necessary and you can probably focus on other things first also you know there's some cases where you depending on the the company where you will want to keep native code anyways and which actually you know that this this conference this conversion the rcap is so long ago that i don't know how much it really applies to technically to companies nowadays actually that is my react native eu talk about so you can just look that up on youtube but it's more interesting i think i don't know if you were hinting at that mike but obviously it's not just a technological thing right it's it's working with with people with developers and um i've had many conversations with companies where they are where they tried or they consider introducing react native and we actually oh not now that we're talking about it actually remember uh from artsy view people did a conference at facebook a small conference uh which is artsy x react native on youtube and my colleague maxime did a great talk about learning how to learn which is more about the psychology of developers that and and considering that aspect as she was you know when when i introduced react native and how i did not necessarily uh truly uh considered all of the aspects how that you know how that affects a native engineer how they suddenly are dropped into something new how their specific skills are or how do they fit in i think in the end um you know for at rt that was a good mix where we now have the ability to have a lot more people working more product teams working on the application but we definitely always tried to embed a native expert into each of these teams to ensure that we have the quality that we're looking for but it definitely it's not something that you can just take for granted or just consider like oh yeah it's easy win budget wise let's just switch to javascript that's probably recipe for disaster if you have a larger team of native developers right yeah i i totally agree with that as well actually this is something that we run many times when we are working with you know clients they're about to do this transition technology is one thing but then trying to kind of get into the existing organization where there are native developers different teams prefers you have to sell them react native as well and kind of demonstrate the benefits of that and this becomes a challenging task on its own so i guess as soon as everybody's on board you can say that you have some kind of success already achieved
Info
Channel: Callstack Engineers
Views: 1,018
Rating: undefined out of 5
Keywords: #ReactNative, #ReactJS, #JavaScript, #MobileDevelopment, #ReactNativeEU
Id: uP5fscYyKAE
Channel Id: undefined
Length: 9min 44sec (584 seconds)
Published: Fri Mar 12 2021
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.