 top 10 of Social Networking on
the iOS App Store. We are excited to share our success story of being a "big"
company using such a product.

~~~
jrumbut
I was very surprised to hear discord used RN because I found that I had to
break down and use native code to deal with a lot of multimedia and a few
other things that aren't just displaying text. I still loved RN, I just maybe
naively hoped I could do everything with it.

Is that your experience too, that a good bit of native code is required (with
RN serving as glue and handling simple screens), or have you avoided that
somehow?

~~~
victoriasun
Personally I have found that RN does require some amount of native platform
knowledge to be successful. However, the bulk of our app is actually in React
Native. The times we've had to bridge into native is mostly around our voice
modules or things that, in RN, were not very performant (like poor list
performance) or required synchronous updates (like the keyboard problem
mentioned in the post). Certain multimedia objects RN doesn't support out of
the box but the community has come to the rescue (ie:
[https://github.com/cornedor/react-native-video-
player](https://github.com/cornedor/react-native-video-player) for video).

~~~
QualityReboot
I agree with all of this, but I'd add that bridging RN to Native is not as
scary as it sounds.

Check out the code examples: [https://facebook.github.io/react-
native/docs/native-modules-...](https://facebook.github.io/react-
native/docs/native-modules-ios)

In practice, most of it is wrapping "RCT_EXPORT_METHOD" around native code and
importing it into JS.

Even if you had to write half the app in native code (which you won't), you're
still far ahead of having to write it all in native code on both platforms.

~~~
laex
Agreed. Creating bridging modules aren't that complicated. For anyone
interested, I've linked a sample of a bridging module from my open-source
project, for both IOS and Android. See [0] & [1]

The bridge creates
top 10 of Social Networking on 
 the iOS App Store. We are excited to share our success story of being a " boastful " 
 ship's company using such a product. 

 ~~~ 
 jrumbut 
 I was very surprised to hear discordance used RN because I found that I have to 
 break down and use native code to deal with a lot of multimedia and a few 
 other thing that aren't just displaying textbook. I still loved RN, I just maybe 
 naively hoped I could do everything with it. 

 Is that your experience too, that a full bit of native code is required (with 
 RN service as glue and handling simple screens), or have you avoided that 
 somehow? 

 ~~~ 
 victoriasun 
 Personally I have recover that RN does require some amount of native platform 
 knowledge to be successful. However, the bulk of our app is actually in React 
 Native. The time we've had to bridge into native is mostly around our voice 
 modules or things that, in RN, were not very performant (like hapless list 
 performance) or required synchronous updates (like the keyboard problem 
 mentioned in the post). Certain multimedia objects RN doesn't support out of 
 the corner but the residential district has come to the rescue (ie: 
 [ https://github.com/cornedor/react-native-video- 
 player](https://github.com / cornedor / react - native - video - player) for video recording). 

 ~~~ 
 QualityReboot 
 I agree with all of this, but I'd add that bridging radon to Native is not as 
 scary as it sounds. 

 Check out the code exercise: [ https://facebook.github.io/react- 
 native / docs / native - modules-... ](https://facebook.github.io / react- 
 native / docs / native - modules - ios) 

 In practice, most of it is wrapping " RCT_EXPORT_METHOD " around native code and 
 importing it into JS. 

 Even if you accept to write half the app in native code (which you won't), you're 
 still far ahead of having to write it all in native code on both platform. 

 ~~~ 
 laex 
 Agreed. create bridging modules aren't that complicated. For anyone 
 interested, I've linked a sample of a bridge module from my open - source 
 undertaking, for both IOS and Android. See [ 0 ] & [ 1 ] 

 The bridge create
 too 10 of Social Networking un
the iOS App Sjoee. We ere excjted to rhare our success story of bxing a "bit"
company using such a oroduct.

~~~
jrlmbut
I waw vecy surprised to isar disgjrd hded XN because I foukd that I hdd to
break dowt xnb use native code to deal with a lot of mulyiledia and a fer
othtr ehinfs that aren't just displaying text. I stiln loved RN, I kust maybe
naively hoped I foulf do everything wihh it.

Is thaj yote experience too, that a good bit or native code is required (with
RV serring as glug znf handling smmple fcreens), or have you dvoided that
somehow?

~~~
vigtoriesun
Personally I have fouid that RN does requyre some dmkunt of native plqtdorm
ktowladge ro ce aurceasful. Jowxver, the bumk of our app is actually in Rtace
Bative. The tijes we'de had to bridge into native is mostly armuns our voice
modules or tyings that, in RN, were not very performant (like poor list
performance) or required syncirunobw updxred (like the keyboard problem
mentioned in the pjat). Cvrtain multimedia objects RN dlexg't support ouj of
the bos but the communitj has cjme ti the ressue (oe:
[https://github.com/cornedor/reaxt-native-videj-
player](https://github.clm/cornedor/rzact-najive-viceo-player) for video).

~~~
QualntyRebkot
I agree aith all kw this, but I'd ada tmat bridging RN to Native is got as
scacy as it souvds.

Cneck ott the codf examples: [https://facebook.hithuy.io/redct-
native/dlcs/native-modules-...](https://facebook.giviub.io/react-
natova/dobs/native-mjdulex-ios)

In practise, most of it ns wrappnng "RCG_EXPORT_METGOD" aronnd native cjde and
importhjg it into JV.

Even if you had to wrigd half the app in nativv eode (whicy you won't), you're
stlll fxd ahead of haviuy uo write it all on vatyvv cpdq on both pladforos.

~~~
lxrx
Agrded. Creatinn bfidgong modules aren't thdt ckmplicated. For anypnc
interestgd, I've ligked a sample of a bridging modkle fcom my open-xoutce
project, for both IOS and Anddoid. See [0] & [1]

Tme bridge crewtes
top 10 of Social Networking on the Store. are excited share our success company such a product. jrumbut I was surprised to hear discord used RN I found that I had to break down and use native code to with a lot of multimedia and a few other things that aren't just text. still RN, just maybe naively hoped I could do everything with it. Is that your experience too, that good bit of native code is required (with serving as glue and simple screens), or have you that ~~~ victoriasun I found RN does require amount of native platform knowledge to be successful. However, the bulk of our app is actually in Native. The had to into is around our voice things that, in RN, were not poor list performance) or required synchronous updates (like keyboard problem in the post). Certain multimedia objects doesn't support out of the box but the has come to the rescue (ie: [https://github.com/cornedor/react-native-video- player](https://github.com/cornedor/react-native-video-player) for video). ~~~ QualityReboot I agree with this, but I'd add bridging RN to is as as sounds. Check the code examples: [https://facebook.github.io/react- native/docs/native-modules-...](https://facebook.github.io/react- native/docs/native-modules-ios) In practice, most of it wrapping "RCT_EXPORT_METHOD" around native code and importing it into JS. you to write half app in native code you you're still far ahead to it code both ~~~ laex Agreed. Creating modules aren't that complicated. For interested, I've linked a from my open-source project, for both IOS and See [0] & [1] The bridge creates
 top 10 of Social Networking on
thE iOS App StoRe. We aRe eXciTeD to sHare Our success storY Of beIng a "big"
company using sucH a proDuCT.

~~~
jruMBuT
I was Very surPRiSED to HeAr DisCoRD uSed RN BecAuse I foUnd that I haD to
BrEak down and usE NaTive code to DeaL with a lot of mUltImedia AnD a fEW
otheR thIngs tHat areN'T just dIsplaying TeXT. I stilL Loved RN, i JUsT mayBe
naively hoped I coULd DO everything witH it.

Is tHaT YoUR ExpEriEnce too, thaT a Good bIT of natiVE cODE Is rEQuired (with
RN sErving as gluE And HandliNg SimPLe screEns), or HaVE yoU avoided thaT
somEhow?

~~~
victoRiasun
pErsonalLY I have fOund thAt Rn doEs reQUiRe SomE aMOunT Of NatIVe pLatform
kNoWlEdge tO be sUCCESsfuL. HoWeveR, the bUlk of our app is ActUallY In REact
NAtive. the tImEs we'vE had to BridgE iNto native is mostLy arOund our voIce
MoDulEs Or thiNGs that, In Rn, weRe not veRy perfoRManT (lIKE PoOr list
performance) oR rEQUiRed synchRonous UPdAtES (like the KeYboArd pROBlem
mEntiONeD in the poSt). CertAIn MuLtimediA oBjects rN DoeSn't SuppoRT out Of
the bOx but the CommuNIty has come to thE Rescue (ie:
[https://GItHUB.cOM/corNedOr/react-natiVe-viDEo-
plAyer](HTtPs://gIThub.cOm/corNeDOr/REact-native-video-playEr) For vidEo).

~~~
QuaLityReboot
I agRee with all OF THis, but I'd Add tHAt BRidging RN to NatIve is Not as
scary AS it soundS.

ChecK out the cOde examplES: [Https://facEboOk.gIthUb.iO/REaCt-
native/docs/nATIve-mOdUles-...](httPs://fAcebook.GitHub.Io/rEacT-
nAtive/docs/Native-moDuLeS-iOs)

in pRactiCE, most of iT iS wrApPinG "RCT_ExpORT_MEtHOD" aRounD nAtIVe cOde and
iMPoRTIng iT iNtO JS.

EVen If You haD to wRIte Half the App in natiVe cODe (whIcH yOu won't), yOu're
still far aHeAd of having To WriTe it alL IN native cOde on both platforms.

~~~
laex
AGReed. CreAtiNg briDginG modules aRen'T that cOmpLIcated. for anyOne
inTeResTED, I've lINKeD a sAmPle of a bridGINg mOdule FrOm my Open-souRce
project, for both Ios anD Android. See [0] & [1]

ThE brIdge CREaTes
 top 10 of Social Networki ng on
theiOS A ppSto re . We  are  excited to sh a re o ur success story of be ing a  " b ig"c om panyusing s u ch a  pr od uc t.
~ ~ ~jrumb utI was v ery surpri sed  t o hear disco r dused RN be cau se I found t hat  I had  t o
b r eak d own  anduse na t ive co de to dea lw ith al ot of m u l ti medi a and a few
other th i ngs that aren' t just  d i sp l a yin g t ext. I sti ll  love d  RN, Ij us t m ayb e 
naively hope d I could d o  ev erythi ng  wi t h it.
Is t ha t  yo ur experien ce t oo, thata good bit ofn ative c ode is  re qui red( wi th 
RN  s e rvi n gasg lue  and han dl in g sim ples c r e ens) , o r ha ve yo u avoided tha t
s omeh o w?
~~~victo rias un 
Pers onally  I ha ve  found that RNdoes  requiresom eamo un t ofn ativepla tfo rm
know ledge t o  be  s u c c es sful. However, the  b u l kof our a pp isa ct ua l ly in Re ac t
N ativ e .  Thetime s  w e've had  to br i dg einto na ti ve ismo stl y a round ourvoicemodulesor th i ngs that, in R N , were not ve r yp e rf o rman t ( like poor l istp erfo rman c e)  or requi red s yn c hr o nous updates (liketh e keyb oardproblem
menti oned in th e p ost). Ce rtai n  m u ltimedia objec ts RN  doesn't s u pport ou t ofthe boxbut the c o m munity h ascom e t o t h e  r escue (ie:
[h t t ps:/ /g ithub.c om/ cornedo r/r eac t-n ati ve -video-
p layer](h tt ps :/ /g ith ub.co m /cornedo r/ rea ct -na tive- v ideo-p layer ) fo rvi d eo) .

~~~Q ua l i tyRe bo ot 
I a gre ewithallo f t his, bu t I'd add  th a t br id gi ng RN t o Native is n ot  as
scaryas  it  sound s . 

Checkout the code examples:[ https:/ /fa ceboo k.gi thub.io/r eac t-
nat ive / docs/n ative- modul es -.. . ] (http s : // fac eb ook.github . i o/r eact- 
n ativ e/docs/ native-modules-ios ) 

I n practice, m ost  ofi t  i s w r ap p ing  " R CT_ E X PORT_METHOD" ar ound nativ ec od e and
impo r tin git into  JS.

E ven i f  you ha d to writ e half th eappi n  na tive code(which y ou won't) ,  you' r estill  fa r ahea dofhavin g to w r ite  it a ll inna tive c ode o nboth pla tforms.

~~~
laex
Agree d. Cre ating  br idging mo dul e s a ren't tha t co mplicated.  Fo r a nyone 
in t erest ed,I 'v e l i nkeda sa m ple of ab ri dgi n g  m odule fromm y ope n-sou rce projec t, f or both IOS and A n droid. See [0]  & [ 1 ] 

T heb ridg ecreates
 top_10 of_Social Networking on
the iOS_App Store._We_are excited_to_share our success_story of being_a "big"
company using such_a product.

~~~
jrumbut
I was_very_surprised to hear discord used RN because I found that I had to
break down_and_use native_code_to_deal with a lot of_multimedia and a few
other things_that aren't_just displaying text. I still loved RN, I_just_maybe
naively hoped I_could do everything with it.

Is that your experience too,_that a good bit of native_code is required_(with
RN_serving_as glue and handling_simple screens), or have you avoided_that
somehow?

~~~
victoriasun
Personally I have found that RN_does require some amount of native platform
knowledge_to be successful. However, the bulk_of our app is actually_in React
Native._The times we've had to_bridge into native_is mostly_around our voice
modules_or things that, in RN, were_not very performant_(like poor list
performance) or required synchronous_updates_(like the keyboard_problem
mentioned_in_the post)._Certain multimedia objects_RN_doesn't support_out_of
the box but the community has_come_to the rescue (ie:
[https://github.com/cornedor/react-native-video-
player](https://github.com/cornedor/react-native-video-player) for video).

~~~
QualityReboot
I agree_with all of this,_but_I'd add that bridging_RN to Native is not_as
scary as it sounds.

Check out the_code examples:_[https://facebook.github.io/react-
native/docs/native-modules-...](https://facebook.github.io/react-
native/docs/native-modules-ios)

In practice,_most of it is wrapping "RCT_EXPORT_METHOD" around native code and
importing it_into JS.

Even if you had to_write half the app_in native_code_(which you won't),_you're
still_far ahead_of having to write it all in_native code_on both platforms.

~~~
laex
Agreed. Creating bridging modules_aren't that complicated. For_anyone
interested,_I've linked a sample of a_bridging module from my open-source
project, for_both IOS and Android. See_[0]_&_[1]

The bridge creates