[SPECIAL EPISODE] The React Native Show Podcast - Episode 10: React Native EU 2021 Q&A Panel

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
[Music] hello everybody i'm mike cyril with co-founder at kohlstag and before we move to our react native show podcast i have a quick announcement to say that might be something that is interesting to you today i'm looking for the best react native developers to join my team besides working on high-end software used by millions we also contribute to open source projects such as react native paper react native testing library or repack and so you will have an opportunity to develop your skills and knowledge within these projects as well as move your own ideas into life by taking part in our r d program we are a great team full of react native crazy people about this technology and we can't wait to share our knowledge and experience with you and so if this sounds like something exciting don't wait anymore and join us it's great to be part of such a team check out the link and below and apply and i'm hoping to see you soon in our call stack office or maybe remotely depending on your location bye bye thank you thank you i want to welcome you all on our react native eu meetup which is going to be a panel we have a great panelist here and we'll have a hackathon which is going to be october 1st 2021. so why are we here today we are here at kostak headquarters uh office in rotswap uh now right now you are in the kitchen so in the kitchen you can have some snacks and beer uh in the break between panel and hackathon we'll have some pizza for you people with the sign like this call stack team are from callstack so you can ask them wherever you want and they will help you with hackathon as well we call stack we are a consultancy with react and react native expertise one of the best in the world we have great core uh developers and also we yeah we are huge in the open source community we develop a lot of open source libraries like repack from pavel uh react navigation from satya we have a few other one as well also we are the hosts of react native eu conference which was conducted five time five fifth time this year and it was second time online but hopefully we'll see each other in person next year how many of you was on the reac native eu conference or watched our videos okay yeah that's nice that's nice so uh on today's panel we'll have a few questions as a follow-up from the conference and also we'll have a few questions about like react native in general technology in general stuff like that and maybe how many of you are interested uh work in react native on the daily basis cool and how most of you that's great that's great we are looking yeah we are looking for just people like you we hire people all the time so go to our career page uh we'll be happy to to have you on board so yeah that's that and why are we here today because we had this huge conference we had some questions we wanted to do a follow-up today with us are two panelists four panelists three of which were speakers on the conference and one was the host of the whole conference and has been a host for five times uh so yeah agenda for today is like first i introduce guests then we'll have a q a panel uh you will also get a chance to ask your questions in the end of the panel so please feel free to do that later um and then we'll have a short break like a half a minute break for a pizza and beer and then we'll have some october hacktoberfest coding cool so yeah react native you let me introduce our guests uh should i start from the end yeah i will start with the guitar guys uh let's welcome on the stage uh wojtek viatek who is a cto of channels he was our speaker he is also a javascript trainer mentor oh hello hello voitek good to see you next up we have another guitar guy uh zamotan pavel triswa he is also he is also a react native eu speaker uh he is a developer here at coldstack and he is also a lead engineer in repack next up satya satya satya is a core contributor to react native and he's also a maintainer or of huge library react navigation uh i'm sure many of you used it before and he's also an engineer here at kohlstek and last but not least mike grabowski who is the cto of kostag he is a podcaster developer con contributor uh what else like it's great to have you here and it's great thank you have a pleasure to be here in this office cool so right now we'll start uh questions to our great panel uh maybe maybe i'll start uh by telling you where the the questions came from so i got this question from uh react native eu attendees they um they asked some questions during the live streaming of the conference on our discord channel i got some of these questions from maa that react native team conducted yesterday and some of those questions uh it's just my brain i came up with them uh let's see if you can guess which ones are those uh so for our round uh for our starter question i want uh every one of you to answer how did you start programming and how did you start your adventure with react native sadia maybe you can start well i studied for history and i wasn't really enjoying it so i started learning bash scripting on the side and learning programming and then i got a job and i had to learn javascript to be on a job and that's how i learnt programming and after that when react native launched we wanted to build a cross-platform app and we also had react experience so react native was a no-brainer and so we started with react native development and that's how i learned it i want to just underline very important thought that satya just had it's you learn on the job right you don't know everything from the scratch when you start the job you run on the job uh pavel did you learn on the job as well kind of so i started programming when i was in the middle school i wanted to do web pages so i started with html and and css then i got into php then i i wanted to do something which is more in terms of native so the c plus plus came after that and i was doing c plus plus until college when i decided i want to go to work and one time callstack reached out to me so i had to learn react to apply to call stack and after applying they were like you know what we are doing react native so you should learn like native so i did yeah is react native different from mirak remind me please it is okay cool uh mike i actually didn't know that you learned react for for to apply for the job yes i learned both react and react nature i remember you commuted from outside it was like late in the night but okay that's that's nice i'm so happy that did he scored high on the like uh yeah like we we knew he was great from the beginning you know um so i started when i was probably in middle school as well like 14 maybe 15 years old i'm not sure does middle school it's changing these days i think that's gymnasium and it was very very very simple very simple motivation i just wanted to have like some free cash for like daily stuff and uh hanging out with my friends not asking my parents every weekend i need money and uh you know i kind of started from this motivation but then i got addicted so much about it that i just kind of decided to change from being a doctor to being a programmer and that's how i ended up uh here in rotswaff and um i was working at a big software house in burswav and then i decided to go to london and i was asked as a react developer to do a mobile app and they wanted me to build android app and ios app so i started with ios because that was easy and then when i got to android i was like hell no i'm not touching this and uh and it was just just the time when react native was announced i was like okay maybe it's not stable but at least i don't have to deal with java and um that's why i was one of the one of the very first people to actually ship react native to production because i had no other choice like for android right uh yeah yeah yeah it started with ios yeah i mean ios is nice and i still do lots of ios in my free time because i just like the platform do you have a free time it's it's it's a variable you know like but when i when i do yeah i do ios when when you do have a free time you code yes yes basically great answer uh for me i started when when i went to the domain to my studies so i started at let's say i was 21 22 or something like this so i started with uh with what what we do on on studies in it field so uh it was like c c plus plus later on there was there was some java programming cool stuff so um then i realized that it's not my type of tea so it's like i'm not going to to stay with the java or something like this i started to learn javascript because of some projects on the university and then i get my first job you know after after a few jobs more so i i was asked to to decide on what to do with uh with the mobile app so we we needed to have a mobile app and on the market there already been some some some some patterns for for uh let's say cross-platform applications like you know cordova phone gap and then it went to the to the react native so reg native was it was like four years ago it was pretty stable at that time so i thought like yeah i can do the javascript stuff i know that people who i work with also do the javascript stuff so maybe that's the better option than to hire android and ios developers to do two separated apps so that's how we began actually actually this is our next question uh which is what drove you to invest in react native years ago and this is a question to our two cdo's here uh because at some point you had to choose right so you know we didn't have this choice because that's what the company is about right yeah but you established it and like said uh there were some like other frameworks on the market um so i guess wojtek partially answered what i'm gonna answer and i guess we're gonna have a bit in common in this answer but uh the the the primary reason was the ability to actually ship one application too many platforms with the same uh with the same sort of language the same patterns and i know this is like very popular and common answer everybody says in the internet but it's actually quite right and quite true um and and so we we wanted to to to like i saw uh sort of a future for this technology we saw lots of opportunities for react native and uh our motivation was that we wanted to build a business that will support those players that want to take advantage of react native uh without being afraid of the fresh technology so for example if voider didn't manage to find a great team uh to build his startup then we would be in touch uh three years ago uh but that's that's essentially the the primary reason and the ability like i said to kind of target actually any platform that you want these days with the same technology yeah we'll have some questions about that uh yes two things so the first thing is that the language was javascript so the the language that that you use for uh for the react native is pretty common so it's not something that someone needs to learn it's like there were developers who who did the javascript stuff so that was also one one big plus and the other the the other thing is that the previous generations of this you know cross-platform things were rather using their webview yeah so kind of stuff like this and the react native go went some some other way so it it regenerated uh the native code so um so that the performance of this app is is really on another level comparing to to to this previous stuff i hate i hate feeling like i'm old but i'm 20 i'm 28 years old so i let's say i've been programming for 10 years at least like officially not as a freelancer and so i remember the days maybe you guys also remember i'm not sure how long you've been coding the times when you know ioniq cordova and these solutions were like popular and everybody was doing all sorts of different stuff on php and there was no node.js even out there and so i remember people struggling with cordova and trying to do those web apps in a web view on a mobile and i was also one of the engineers to work on the fixes i hated this technology so when i saw react native to kind of offer a totally different user experience and developer experience i was like oh wow this is this is going to be this is going to be big you know but that has been like less kid ourselves five years ago the development experience uh wasn't as good as it is today like it was node.js zero point something yeah time flies let's move to the other questions thanks for answering uh what are the opportunities for react native going forward what are you exciting about the most power do you want to start i okay to probably surprise to no one i'm most interested in the jsi and i'm mostly interested in that part since maintaining the repack which is heavily focusing on code splitting so this is interesting for me because i might be able to implement the code splitting uh in a synchronous way using using the jsi so that's thing that's a part that i want to prototype and experiment with so i'm mostly interested in that aspect i can also add to that with jsi like something else is also going to be there is called fabric which is uh synchronous updates of the ui uh it's not it's not out yet it will be in future but i'm really excited about fabric because when we can do synchronous layout it's gonna like enable a lot of things that we cannot do today for example we can measure the layout synchronously uh so that i i have had a lot of issues with asynchronous layout measurements because if i want to render something based on the layout i need to measure it and then show it so there will be blank space for example because auto spinner or like loading indicator or something and we don't have to do those things anymore if if we can render synchronously so yeah that's a big and that's how that has been a big problem for me because when dealing with responsive ui you need to measure things a lot and this will solve us finally which i'm very excited about do you have guys any other answer than new architecture or should we move forward maybe just one thing uh so the developer experience is getting better and better with drag native so uh upgrading from one version to another uh is is like a lot better than it was two or three years ago so it's it's still involving so uh so so i believe that this one i'm also excited to to to see in next year's yeah it's it's funny because i i just had a thought in my brain that i'm gonna say something that is not related to a react native feature because i'm a cto and then you said what i wanted to say and then i figured we have another cto on the panel so you stole my answer but um one thing that i can add on top of it is also related to the developer experience which is the general stability of the framework uh i'm kind of involved in the regular react native release process and last year uh and two years ago and three years ago it was just me and then somebody else joined and there's just two of us releasing framework that everybody in the world uses which sounds like it's ridiculous but it worked and now there is like 10 or 15 people from facebook and microsoft they finally took ownership so um i guess something people were uh complaining about being facebook not taking care of the open source part of react native has now been addressed and i feel this is a good uh signal to like companies all around the world that react native is maturing and that's what i feel will help react native kinda accelerate even more together with those great technical features and dx improvements i agree thanks thanks for answering uh so yeah this is a funny one uh because now you have to admit if you have seen the whole react native eu conference and what was your favorite topic no no we have i didn't see this whole conference but yeah i see a major part of it but there were two topics i don't remember the talks but um i'm always interested in animation stuff because that's what i like for as a i have a lack of experience in this as a developer i would say so that's uh this talks about the animation was was the one the one part and the other i can remember was about the hacking uh react native so how to secure your apps in react native so this one was pretty cool so yeah i haven't tried my own talk but yeah uh yeah i was this talk about um jsi and react native vision camera by mark and it was very interesting because it talks about like how he implemented the camera and how uh you learn some things about jsi which uh which is the upcoming architecture and yeah it was very interesting talk to see you just want to answer yeah let's let's just move you can say repack it's okay no i haven't watched my talk i did yeah yeah it was great i uh encourage you all to watch uh talk from pawel about repack and his like great achievement with it no seriously what answer or not no it will be just mostly what you're told so the jsi i haven't watched it to surprise to no one and yeah one thing that that is worth adding on top of what satya said regarding that talk is um so so everybody is now talking about turbo modules which is uh this sort of new implementation of how we're going to write native modules with the jsi on top of jsi but in this talk by mark he's actually not using turbo modules he's reimplementing all that himself so he is essentially writing c plus plus code directly and talking to the the javascript engine directly and the great thing that you should kind of check about this stock is the jsi host object uh which is gonna be super hard for me to explain right now but the idea is that you can you can pass like traditionally when you have the bridge uh when you have a bridge in your app and you're for example downloading images you need to pass a image data back and forth and it takes the serialization takes time so the cpu and memory is being uh eaten up by that process and the jsi host object is like c plus plus pointer so you're just passing a reference to javascript and you can synchronously access any property and that property will execute a native getter wow so it probably doesn't make no sense but just check out the talk because it's pretty pretty exciting yeah just to clarify the pointer is faster than the object now the pointer is faster because you're addressing a point in memory and you're not copying the data between the breed thanks so uh mike will be available in the break to do some socializing we'll move forward now until he gets drunk and so we talked a lot already about the new architecture and mike just explained to us what it infers and yeah so maybe satya you can let us know what it's all about what's the connection between gsi turbo modules and fabric you know jsi stands for javascript interface which is which is basically what mike explained you can like synchronously access objects um between two realms right now there is a bridge which serializes everything to json sends it to native if you want to access something from javascript you need to you get a json object and it's the same other way if you want to access something from native you get a json object so with jsi it will be like you can directly access the pointer and you don't have to serialize anything so it will be much faster and turbo modules is basically the api for building modules native modules on top of this jsi api and fabric is also um built on top of jsi but it's more about layout uh how how are we going to render all of the views and how it's going to work because right now everything is asynchronous accessing uh native apis rendering ui everything is asynchronous and with fabric and turbo modules and jsi we can do things synchronously and yeah so that's basically it jsi is the core and turbo modules and fabric of things on top of it thanks and when was the first time you uh you got those words from facebook like gsi to modules fabric two years ago three years ago a long long yeah i think it was around three years ago and you can ask me how many times i've heard it's gonna be implemented in q3 yeah it's just like suspense i just want to direct but it's so close like we've never been that close uh on our youtube channel constant engineers you can find all of those all of those talks from facebook where they promised that it's going soon uh yeah but it it it is actually out there already so we are very close that is the question oh you might answer that do you have a rough idea when the re-architecture rollout will be available for the community do you think users will be able to use it while working with react natively oh 67 so i was i don't know i was on a uh react native release meeting we have meetings every thursday when we talk about things like this including what what is the plan for 067 and what we want to include and there is no discussions around this yet um facebook just released like two months ago or one month ago a document where they um sort of explore your upgrading journey from the old architecture to new architecture on ios they shared it with partner companies like us for early feedback on kind of user adoption and uh android version is still work in progress so until that happens i don't think it's gonna happen soon probably a few months still to go before we wrap it up and make sure that it's quite easy to upgrade um but it's it's close you can you can already access the gsi and yeah you can already you can already use it it's just that it's not going to be officially turned on but if you want you can go to the rn tester project which is the official example of react native in the repo and turbo modules are already running there so it is not officially released but it's kind of released i'm more excited about fabric actually than turbo modules uh and i'm not following fabric updates so maybe you sat ya know i don't think there are any updates about fabric yet so yeah but i would like to have something um so troublemodules on fabric are the react the architecture for of the whole thing and they need to be enabled globally or at least per react view so one thing is you cannot use turbo modules right now without this document but you can use part of the api which is jsi there are already a lot of modules like react native reanimated react native mmk video division camera and people are also exploring new libraries based on this so you can already write uh modules based on jsi and you can already use them in your app there are some limitations that you you're not going to be able to use chrome debugger for example but you can use a flipper debugger or if you use homies you can also connect it to chrome and use the chrome dev tools that way yeah i think we forgot about one piece which is called jumbo yeah but cordial is part of this turbo modules thing that facebook has uh you don't need to use code gen if you use jsi you can when travel modules is that they will have documents they will have like libraries there is also a react native code gen type script i don't remember the name of this uh project but yeah there is also one for typescript the default code gen uh is basically you write you write some types in typescript or flow and this code generally generates c headers based on those types so you don't have to write this c headers by yourself and the default official code gen script is based on flow so you have to use flow to use code gen but there is also another implementation which is just type script but yeah coding is not mandatory for turbo modules or jsi it's just something you can use but it's already in master and already works yeah it works because we've used it there is just no official documentation publicly publicly available we have this internal documentation about it i mean without code gen you will have to create at least five zip files so i guess for pretty much majority in this room including myself this is going to be rather pain in the ass job to do so running code gen is nice pavel c developer right so i was c plus plus and that is a difference man i might be wrong but from my understanding c headers and c plus plus headers are the same thing okay they're just headers and now we immediately turn this panel to c and c plus plus meeting let's move forward let's let's talk more about keep a memory so uh our next couple of questions are going to be about platforms and which platforms can we support so this question is about uh is to power actually and it's uh what is the largest numbers the number of platforms you you run react native on in production so i mean like client application how much code sharing there is realistically and what are the drawbacks of maintaining many platforms so currently we have a client which is uh creating a streaming application and the target for the streaming application for now is six platforms uh all of them are running react native and in the future we have a plan to extend that into 9 to 11 platforms i'm not entirely sure how exactly it would be so we have a lot of platforms because with streaming application you want to be everywhere so that people can use your application and realistically because uh each platform has different apis different specifics that you need to account for for example even the layout on mobile app is different in a streaming application that on let's say your smart tv uh you have to account for those differences so realistically in this case i would say about 60 of the code is shared the the rest is either platform specific or like a category of the of the devices specific and the rest is just native code because for example on tizen which is a operating system from samsung tvs you have apis that are specific to the smart tvs like remote control and the tizen is based on nwjs which is similar to electron so the tizen itself is speci is similar to web but it has more apis so you need to account for that so there will never be a 100 percent code we use across all of these platforms well if you write like hello world on yes yes but like hello world is not the production application i mean small of topic around tizen i used to have a samsung watch four years ago and i was so disappointed because of no applications it was like so you wrote one i want it and then i've learned there is this tizen os and i was like what the is this uh and actually samsung wanted developers to adapt their platform so much they created like entry points in all different languages to write the apps you can use javascript or some native language as well actually after looking at it i was like this is actually quite a nice platform but i just don't have time to invest in it and uh yeah just enough topic that react native is uh kind of allowing you to support tizen os but still at the same time you can try djs approach they also like paid developers to like they created some competition technically if you're if you have good business talk and and you can negotiate with people easily you can get paid to do an application on tizen don't ask me how i know that but it's technically possible but they they do it themselves we should move forward this talk is about react native uh but thanks to this approach i do have you know like polish vod streaming apps but before android tv and apple tv have them because they just did it themselves uh something else about platforms or should we can we done react native on something a smart fridge smart bridge yes i can imagine a streaming platform on my fridge do you know what are the resources available let's probably you what's wrong i have no idea okay yeah we might be resourceful i will just change slide and we will move on uh so about the topic about watches what are your thoughts on react native support for wear os or any wearables in general and what do you believe are the limitations for this implementation so for for this one i guess uh the best answer for this question is to ask you a question how many of you have a wearable right now raise your hand one two three four five six seven actually quite a lot but still that's the answer it's like uh just a small percentage like nobody of nobody from us has i mean i had but i broke it it's a hybrid watch i i cannot that's a lie that's a lie okay this is a wearable this is wearable too right it measures my stress right now so um more serious answer is that creating a new platform for react native is a huge investment and usually happens when there is a huge business like microsoft or facebook behind it or uh what is the the name of this company samsung no they did it for linux ubuntu uh canonical yeah canonical for example did the react native linux uh which i'm not sure if it's still i think but uh there has to be somebody with a gen like real business interest to invest resources to create it and now nobody is right now targeting wearables with react native to make a business case for it and that's why microsoft nor facebook and other businesses are doing it so unless there is a huge player in the game to make a platform for it and have a use case for that i don't think there's gonna there it's gonna happen we did a uh react native uh we did a uh companion app for wear os uh for our client and we actually did it natively with the async communication of the react native host app and it was actually on tizen with a bit of javascript so okay so that's that so i'm curious to know more about building vr ar experiences with react native what's the plan for making vr ar constructs exposed to react native well i don't have a lot of experience building this vrl experiences but there is a library called vero which allows us to build a vr and air experiences using react native and it exposes a lot of components to do like different things you can position things and i have used it once uh i've just played with it but you can use it already and they have an app on play store and app store so all you need to write is some javascript and you can scan a qr code and you you'll have a air on vr app you don't even need to compile anything so uh you can go and check it out it's very easy to do so it's expo like yeah exactly one question but it's about technical size so it's okay if it's just michael i don't know how much time we have and how many no no but this one this one is actually like i'm um this is actually quite important question okay cool um i mean i hope it's important yeah just it's maybe it's more than just for me so um is react native controlling the layout or is this like just just the just you know the the components api it's absolute position you have to position everything yourself okay yeah so there is no yoga okay i mean yoga is for flex and with vr and ar you have either camera on or 3d models in 3d space so it's more in terms of using like an open gear or metal and you have everything around you so it's not yeah you cannot like just use uh flexbox okay let's move on uh can i use react navigation in react native windows mac os etc this is actually from our uh it was asked during your talk on our discord channel okay short answer yes let's move on do you want to elaborate well you can use react navigation on windows and mac os with certain limitation that you cannot use gestures because we mock out the gesture library on those platforms but but everything else will work yeah uh with react native being available on so many platforms how do you envision the library ecosystem and native code in them in the libraries so we have two like maintainers of libraries here uh so this question is for you pavo and satya would you want to start sure you know it really depends because not every developer knows about windows and not everyone has windows to develop on so supporting windows can be difficult but like for popular libraries uh microsoft is sending pull requests now adding windows support for example and micro support so i think like in future more and more libraries will have windows and mac support but i don't i don't think like every every library will have macos and windows support like they have for ios and android it's just not feasible because yeah uh developing for two platforms is one thing developing for like four platforms is like way more difficult in my opinion yeah without a common api that those libraries could use for all of the platforms it will be challenging to support everything so i think there will be always a discrepancy between how well ios and android is supported compared to even windows which is like the third thing in our list of out of three platforms there is also web it's web also yeah okay web is third then then it's windows yes you're right but i guess it is a kind of a challenge that we are discussing these days i mean i have no idea how this is gonna look like i'm not i'm not buying the idea of having everything in one place like i know microsoft is doing contributions themselves they are also paying businesses and companies to create hey create windows version of this library which is very popular because they want adoption but if i was one of the maintainers uh on a mac running android and ios and somebody would send me a pr for windows i would have i would have serious doubts about it from the maintenance perspective so and i'm not sure i know i'm not the only one so i don't know how it's gonna look like you can merge it but who is going to maintain it in the future right so one one case might be that there will be just a sibling library with compatible api and we will have to do some changes on the cli side of things and and the cl by cli side of things i mean at the back end that links all the modules for you when you do npm install we connect it for you back behind the scenes so to sum up we yeah if if the native code has the same api we don't even need to do that right yeah yeah yeah i'm saying that if the native apis are incompatible and somebody like creates a compatible javascript api based on the incompatible native api then then for example something like that but i would i would even like to touch the with those native codes okay it's tricky but this question is going to have be answered at some point right yeah and i mean we will probably live in like the place where some libraries uh have support for like all of the platforms and some have like simply libraries doing that but it's it's always a trade-off if you are supporting every platform and it doesn't even have to be like typical react native library it can be any library or framework you're making a trade of that you are supporting all of them but not as good as you could if you have a different implementations for all of them and a great example of that is a ui engine with with ui engine you can support a lot of platforms and they all have shared native code which is in c plus plus but what you are taking giving giving uh in that solution is performance and the ease of use are you talking about flutter no i'm talking about the ui but we don't talk about flutter here we can talk about this so we can talk about qt which is c platform this is a react native panel yeah i'm taking control let's move on okay uh what does it take to develop and maintain a big open source library so i feel we already touched that but feel free to contribute what does it take lots of patience and time especially you have to the most of the time is not spent on coding most of the time is uh spent on tracing issues because a lot of when it's popular and it's big a lot of people are using it a lot of people are opening issues and you have to go through those issues and like see like what's actually valid because a lot of issues are not valid it's usually a question like around like 80 percent of issues are usually not valid you know so yeah you have to be patient and you have to spend more time on issues than coding yes that's how that's what it takes yes i cannot say uh what does it take to maintain a big open source library i can only speak for perspective of smaller and mid size open source libraries but i second that it takes a lot of patience and especially time and based on my experience a lot of the issues that are being opened have either missing informations or someone didn't read fully the documentation or they didn't read the documentation at all so there is a lot of like this housekeeping chores that you have to do in a in an open source library and so if i were to assign percentage of how much time i spent reading issues figuring out okay i know this i don't know that i need to provide some message and write some message ask about the details because they are missing is like i do ten percent of coding there is just housekeeping yeah you know with the number of issues pavel can ask for issues uh manually i have to automate all of those because i cannot go through 900 issues and ask forever native they do like regular just closing yeah and do you do inactivity uh i mean i also have a board which closes these issues due to inactivity but like there are certain conditions like if there is no ripple provided or there is no version number like yeah if if the user didn't spend any effort on the issue we close it after a month which i think is a reasonable time to give to provide any pro you know and the funny thing is that uh when you look at the npm registry for example and you like browse the libraries by the popularity there are some modules that are downloaded hundreds of millions of times per day maintained by a single person which sounds crazy but imagine the pressure this guy can have and yeah yeah i mean they they can have exactly um so it's just huge i can't imagine this and thankfully i've never been into any kind of github drama before but maybe you have followed just out of curiosity you know those twitter dramas about like somebody sending pr without crediting somebody else like recently there was this um thing about something like the pr2 bubble about removing something they were arguing about some forking about colors yeah the colors to somehow maintaining open source library a lot of uh chores a lot of work and a lot of drama and lots of fame any satisfaction and you have the fame well uh you you see people you you see people use your code you see that it helps people do things which they wouldn't have been able to do before or like would have taken a lot of effort and it it makes you happy okay you can grow which is great because sometimes when you are like i don't know maybe some let's say i'm working in php and i want to learn rust and there is no way i'm going to do rust at my job because i'm also a junior or i don't want to change my job to rust i can just call the consumer but if you make some contributions then it's a different story so today we'll have an opportunity to uh open some pull requests to some open source repositories so you can also be so maybe we should have said maybe you can also be depressed open source maybe we should have answered this from a different perspective because it sounds like it's all like tiresome boring and chore but there is actually you know like lots of people here at call stack that you can see with this batch are doing open source and they can tell you some interesting stories some of them are nice some of them are less nice but at the end of the day it's kind of a journey so you're learning something new and and uh you know like pavo and satya were talking about issues so your learning management helps you work better with a client on a project um but you know mike we're not talking about open source library we're talking about big open source libraries yeah yeah so we yes so we are talking the the foundations that happen with the point when you set up foundation yeah let's move forward uh this one is for pavel papa is a maintainer and uh creator of repack so bravo what is repack maybe first yeah maybe you can okay we there is a short answer and the value remember it's his big open source library so he has deleted still have to do some like hackathon in the evening so be short okay so repack is a api more specifically a set of plugins for webpack to use webpack to bundle your react native application that's the shortest answer for it so because usually you don't use web yes webpack is itself is not compatible with uh react native so if you try to use webpack in a react native project to uh to build for react native not really native web because that's different story for react native i can guarantee you that there will be a lot of problems and so repack is there to solve those problems so it's a necessity if you want to use webpack uh to to model react native and can you use hermes with it short answer is yes cool let's move on no no no no no i i need to elaborate what is hermes no but this question is a bit odd because hermes as we all know is a javascript engine to run your javascript and the the javascript that it runs is created by a bundler it can be metro or webpack this is all known facts so i'm not inventing anything new with here but the bundle that webpack or metro is generating is based on source code that we all write and dependencies that we all use and the configuration that we provide to the bundler so whether your bundle and by extension your code works in hermes depends solely on what you are using in your code and how you are configuring the bundler repack is not a bundler it's a api for the bundler so repack doesn't do anything specific to prevent or allow you to use hermes that's the short answer that's longer no no i mean i could i could spend like probably an hour discussing that but if you are interested in this topic papa will be surely organizing a follow-up meet-up specifically make sure you promise me this yeah so make sure you clear your calendar for the whole evening and the day after yeah let's move on uh wojtek you said that talk about animations was your favorite on the react native you conference so maybe you can answer this one should reanimated library be brought into react native core it seems to be the fact of the standard when it comes to creating animations uh i'm not sure if that's the reason or or the reasonable for the react itself or direct native itself because as far as i know uh the idea is that the react native should be quite lean in case of quite separated from the library but we still have the animated api inside react native yes maybe some parts of it i would believe that it will be extended in some way but i'm not sure if that should be brought into like with all of this stuff um that's also a part of the of the react itself so it's it's just a small library that allows you to you know to put different things on top of that so so i believe that it it should still be the same right so uh the react native should be mike wants to add something yes because you you wanted you wanted to trick him by asking what about animated api and i can trick you now uh that uh uh i'm not on the phone is right about the lean core yeah so the the lean car and i i like i recently feel so weird that you know like time is running so fast that now you know like react native has been around for six years there are people that are learning react native right now maybe you just started that may not even know what link or is which is something that some of us can take for granted because we were around some time ago web view was a part of react native yeah and uh and what i'm saying is that uh there was this effort called lincoln to strip unnecessary bloated code out of react native like a web view so it's smaller and we can replace webview with something else for example yes and uh those libraries were taken out and then people took ownership of them some of them are now maintained by call stack uh including uh the react native um slider and um page review and there's one by i i forgot the name anyway uh that's not the point uh the point is that somebody recently asked okay what about link or you guys are saying it's over but there are still 10 modules that were supposed to be removed that you haven't taken out what is going to happen with them and one of these were actually the ones that you set so somebody somebody recently asked was the status of it because it looks like after the initial first sweeping we we never did the follow-up iteration so i would expect there might be a follow-up removal so if you would like animated i don't know if that's going to be animated but the general conclusion is that if you would like to get involved with react native open source um when we are taking away something out of react native we are looking for maintainers and it's like very very easy to claim that you want to maintain it and try maintaining it and wow immediately you are one of the react native community members having one piece of react native uh on you so quite a lot of responsibility you can test your big open source yes sir answer that question for yourself as well thank you thanks so much uh what are the react native core and microsoft teams collaborating on these days who wants to answer that what is the role of microsoft what is the role of facebook microsoft is not no longer evil company uh well depends they have released windows 11 recently and it's not a good experience i just got an email today about it i've dropped it i dropped it many years ago so microsoft and facebook are working together right now very closely they have dozens of groups where they collaborate together one of them is the react native releases group when there is around six people from facebook and six very important people from microsoft when they talk and me uh and and sometimes mike p from kostag as well sitting over there um joining us um um just call stack um so i had the third big business around react native and um essentially facebook and microsoft are working together to make react native more stable and more sustainable and it's quite it's quite interesting sometimes to watch these discussions because every company is pursuing their own priorities and microsoft is pushing facebook to adapt some less opinionated tools like why why do you use flow for cogen instead of typescript trying to kind of make the release uh more stable because they are releasing react native windows after react native is released and it's a lot of hassle for them to stay in sync and facebook wants to keep everybody happy with this and they are also kind of releasing some stuff so long story short is that they are working together and making regulating more stable um but again these are like huge enterprises so everybody is doing something on their own that we don't know about anyway so okay so microsoft is pushing facebook to be more open regular open with their like like for example like this is a great example when when paver released three pack which is webpack uh for react native a set of apis to make webpack compatible for react native yeah um microsoft was very happy because they are also using webpack and so they are helping us and they are helping me to for example make the react native cli so the command lines the rear native start run ios and all those commands uh metro agnostic so we can move metro outside of the repo and for example make it easy for repack to to to join we did this last year or two years ago with uh stripping out ios and android code out of the cli enabling windows code to work so there there is quite a lot of these things to happen so they are actually asking and helping facebook make things more open so that we can choose the tools we want to use with react native great that's great answer thanks uh as a react native experts would you recommend using ui frameworks like react native paper to build scalable and maintainable app rather than building the ui from scratch and why well you know i can answer you have to evaluate the library uh whether your design matches what the library has and if it will work for you if it does there's no reason to rebuild it and if it doesn't there is no reason to force it you know it all depends on your requirement evaluate the library uh evaluate your designs and see if you can use it yeah that's my answer sometimes you just don't have a choice you have brand branding and you have designers that that require you to create a branded versions of your components so you just strictly cannot use different ui frameworks and you have to build it from scratch but you know you can always get inspiration from these libraries on how they do things so you can build your own internal component library so yeah yeah that is actually a great point yeah i would say that yes if you have the designer that has their own vision you probably will end up with with doing something something custom but also bear in mind that you you sometimes can customize some some libraries so if this design doesn't go away that far so you can maybe customize the library and have some other cool features from the library but there's this this this line that you should say that okay this is so customized that maybe we should drop and we should start start using our own custom components so this is usually just one by one project by product i think we have still many questions i just want one thing to add there is actually a there is actually a reactive paper team in this room including the lead engineer of react native papers standing back there so our camera will not turn that far to show him but will it oh yeah he's over there so so my idea was that he could answer this question but then it would be opinionated answer right but um um yeah use it is cool uh sure i think we still have a lot of uh questions in the presentation but i just want it never ending i think we can ask the room if you maybe have some questions you want to ask so that is a good time and then we'll move forward with the questions that i prepared oh come on you told them we have a lot so they are afraid it's gonna run longer and longer for one is lesser left so everybody asks you where do you see yourself in five years like to ask where do you guys see the reaction in five years because i've heard that uh airbnb dumped reignated and i was just wondering so let me just repeat the question so we have that on uh audio track and you actually have it in your but this is a question from the public and it's yes it's worth much more than my question so where do you see react native in five years and why did airbnb dropped it you know airbnb is just one company i mean there is one company to update and a lot of other companies adopted it like coinbase for example which is also a big company and like microsoft is adopting react native so airbnb dropped it because they had a lot of native developers uh who didn't like working with javascript who didn't like uh dealing with all of the um brownfield stuff uh i mean combining native and javascript so it didn't work for them but it could work for a lot of other companies facebook is also a very big company they are using react native in the facebook app so uh yeah they also use it in instagram app and yeah uh so instagram isn't fully react native but it is just like native same for the facebook app so yeah they are using it everywhere and i don't see it for messenger for mac os and windows is based on react native macos and windows yes and it used to be reasonable which is also nice it feels like a web view but one more thing i'm not sure if they actually released it so um this could have been i've heard it on our conference last month okay so it's public okay yes i thought it's not anyway uh to answer this question also uh i was recently chatting with uh people from facebook around like you know uh what should we do as a community and uh we were talking about the airbnb case uh that it was very popular and everybody everybody everybody knows about their bmp case like it's it's so popular uh everybody knows about it that was the first big company yes and we were thinking actually the first one was groupon that nobody knows about and they dropped out of react completely because of political uh stuff so please cut this one out of the video thank you anyway uh back to the point um we had this idea that um maybe there should be a follow-up article describing like what airbnb would do now uh because the framework changed so much and it's gonna change um in the future so so so there we feel like there should be a follow-up explaining that maybe today they would not repeat the same uh mistakes they did and make the same decision partially due to the new architecture which is bringing lots of optimizations and uh something about fabric that we didn't talk about is ability to orchestrate updates and prioritization of certain ui updates uh but also um uh airbnb like uh like satya said they had lots of native developers they had native integrations and they suffered quite a lot from lots of different brownfield integrations react native was not catching up with native it was looking different they had problems integrating it and these days we have lots of modern solutions for integrating react native with native one of them is our uh own library humble brack so so so we can also try it but the point is that um i wouldn't treat this case as something that is valid something historically interesting uh maybe to learn from their mistakes but definitely react native is in a wholly different position these days so um and maybe one thing that i can add is that they uh created and maintained the react native maps and actually react native maps is looking for maintainers so uh you can join us on maintenance after the airbnb one more thing did you know that playstation 5 ui is built built in react native as well as the playstation app uh version 4 was also using react native yeah for some of the ui so we make better decisions at airbnb and let's yeah there's lots of lots of hidden players in the game and like we can we can't even tell you all the great businesses that we work with that you interact with every day because of nda's which i'm really sorry about but like pavel said he's working on a streaming application which is one of the biggest streaming apps in the world and it's not netflix by the way it's not uh but um but uh i think they might be even using it anyway so it's like you guys interact with react native on your daily basis it's just that you don't know it which actually shows the point that react native is ready for production because if you can't sell it then it works i mean the case with airbnb is very specific because airbnb was a very um was a very frequent contributor in open source so everyone know knew that they were using react native and there are a plethora of companies that are using reg native but they are not contributing to open source and the development happens behind closed doors and we just don't we don't know them yes and the plot twist here sorry one more thing is that one of the lead engineers at airbnb uh back in a day working on react native uh called lee land um he i guess quit airbnb he was on jetpack and he worked and he worked he's one of the creators of jetpack compose which is uh like the new way to build android apps which is more like react so as you can see he's gonna stay true to his beliefs uh still after airbnb i think airbnb is still a hot topic for you guys yes please one more thing one more thing no i promise but this is this is the cool one it's not about code we actually were to our b office uh five years ago or four years ago with anna um who's the ceo at costa she's here she's here because i can jog with her and so uh yeah you can ask her how was it like to go with me on a business trip she will she hates it how much anyway anyway stop it we don't have time the cool thing about airbnb office it was the coolest place i've ever seen every conference room and every room in the office was themed uh by a listing from their website so if there was a imagine you posted your urban house tour bnb and they would just take the photos and make uh your house into one of the conference rooms so like all the furniture was restored it looked like the picture and it was the uh even the listing of your house on there showing like what is the inspiration from it was like it's a great idea so they had one great idea with the office and another slightly worse one with dropping like call stack that connected both you know uh i think we need to wrap up this panel session i still have a lot of questions for you guys so uh you can just ask them yourselves during the break and we will have a break now so those are the all the questions that i was going to ask or maybe there is one more from the audience like the last one yeah if uh anyone has any i think there were like two hands before so really i'm not sure you actually answered the question yeah last question from anna yeah maybe you want to answer it you know i think i think um i think react native is going to the moon uh to the moon um no no i'm serious you know like and i'm i'm repeating this every time i talk with somebody about innovation so it may for some of you that work with me more often it may feel boring already but there is this uh life cycle of innovation that shows all the steps that are happening as the technology is growing and uh there is a peak at the beginning when every early adapters are adapting technology everybody is so excited then we are going down when people are starting to drop the technology like airbnb people are complaining people are saying regulative sucks what about flutter and all these crazy things and we are just speaking down down and everybody is thinking what is going to happen with react native and now i feel like with the release of react native new architecture we are changing the direction and now we are ready for the prime time finally with all the major pieces sorted out with enterprises and and lots of big projects coming in and uh so i i feel like there is a lots of opportunities in front of react native and because major enterprises are already adopting it it will stay like you know uh those 50 year old technologies because once they adapted it they are not going anywhere with its 50 years old and still no 1.0 version always zero something i was about to say this thing because this is a great time to 1.0 right that wraps it up thank you guys for joining me and answering my questions and questions from all other places uh give it a round of applause [Applause] [Music]
Info
Channel: Callstack Engineers
Views: 944
Rating: undefined out of 5
Keywords:
Id: Ee-Yviy3E4U
Channel Id: undefined
Length: 68min 6sec (4086 seconds)
Published: Tue Nov 23 2021
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.