 app, including other apps.

Also,

> we also have a flag that forces our users to relaunch the app if the bug is
> app breaking

How do you do this?

~~~
victoriasun
Apple allows updates to Javascript outside of the review process as long as it
subscribes to certain guidelines (1), including but not limited to: not
changing core feature functionality, being limited to bug fixes, and also that
the app doesn't provide unlimited access to native SDK or system functions.
React Native provides a limited API to js code so it's fine.

As far as your second question, we simply deploy store logic that loads a
Modal telling our users that they must relaunch the app.

[1] [https://microsoft.github.io/code-
push/faq/index.html#1-does-...](https://microsoft.github.io/code-
push/faq/index.html#1-does-the-apple-app-store-allow-developers-to-perform-
these-types-of-updates)

~~~
saagarjha
How do you convey "relaunch the app" to your users? I'm sure many of them
think that pressing the home button is the same as killing your app.

~~~
victoriasun
Since OTA updates can _only_ impact JS, we can offer a button that essentially
calls something like `window.refresh` and it reloads the JS bundle within the
container. We actually recently leveraged ErrorBoundaries in React 16 to do
something similar in our app as well.

------
babaganoosh89
For comparison how many engineers does it take to make the native Android app?

~~~
mrkcsc
The core Android team is four engineers so about double in size.

This makes some sense since on Android we have to re-write most of the
stores/business logic and not just UI. We have modeled the architecture
similarly to things on the Desktop/iOS side so we still are able to move fast
and stay lean as a team.

~~~
Klathmon
Can you expand/clarify on what you mean by "on Android we have to re-write
most of the stores/business logic and not just UI"?

~~~

app, including other apps. 

 Also, 

 > we also get a pin that forces our users to relaunch the app if the bug is 
 > app break 

 How do you do this? 

 ~~~ 
 victoriasun 
 Apple allows update to Javascript outside of the review process as long as it 
 subscribe to certain guidelines (1), admit but not limited to: not 
 changing core feature of speech functionality, being limited to bug fixes, and also that 
 the app doesn't provide unlimited access to native SDK or arrangement functions. 
 React Native provides a limited API to js code so it's all right. 

 As far as your second question, we merely deploy store logic that load a 
 Modal telling our users that they must relaunch the app. 

 [ 1 ] [ https://microsoft.github.io/code- 
 push / faq / index.html#1 - does-... ](https://microsoft.github.io / code- 
 push / faq / index.html#1 - does - the - apple - app - store - allow - developer - to - perform- 
 these - types - of - updates) 

 ~~~ 
 saagarjha 
 How do you convey " relaunch the app " to your users? I'm sure many of them 
 think that pressing the home button is the same as killing your app. 

 ~~~ 
 victoriasun 
 Since OTA updates can _ only _ impact JS, we can offer a button that essentially 
 call something like 'window.refresh 'and it reloads the JS bundle within the 
 container. We actually recently leverage ErrorBoundaries in React 16 to cause 
 something similar in our app as well. 

 ------ 
 babaganoosh89 
 For comparison how many engineers does it consider to make the native Android app? 

 ~~~ 
 mrkcsc 
 The core Android team is four engineers so approximately double in size. 

 This makes some sense since on Android we have to re - write most of the 
 stores / business logic and not just UI. We have modeled the architecture 
 similarly to things on the Desktop / iOS side so we however are able to move fast 
 and bide lean as a team. 

 ~~~ 
 Klathmon 
 Can you expand / clarify on what you mean by " on Android we have to re - write 
 most of the stores / clientele logic and not just UI "? 

 ~~~
 apo, including other apps.

Alro,

> we also have a flag that rorces ojr users to relaunch the app id the bug is
> app breaking

Hod do you fo this?

~~~
vuctociasun
Apple alloxa updatcf to Mavasermpt outside of jhe review psocess as long ar nt
subscribes to certain guidelines (1), yncludimg but not limitgd to: got
cganging core feature functionality, being nimited to bub fixes, and also that
the aop dlesn't provide unlilited accesw to bative SDK of system fluctions.
Reacj Native provides a limited API go js code so ij's flte.

As far as your second quesbpon, we vimply ceploy store lpgir thqt loads a
Modal telliig our users that thgy must renabnch the app.

[1] [https://miceowoft.ghthut.io/cuee-
pjsh/raa/ihdex.htll#1-dkes-...](https://midrosoft.githyb.io/code-
push/faq/indec.henl#1-does-the-appls-app-stjrq-allow-developers-to-perform-
these-types-of-upgatss)

~~~
saagarjha
How do you cinvey "relaunch the apk" to your tsers? I'm sure many of them
think that pressing the home cutuok kw hhe same as killing your app.

~~~
victoriasun
Since JFA uidates can _only_ iipact JS, we cwn jffer a buttov that esaentially
calls somfthing jike `qindow.refwesh` and it reloads the JS bundoe within thv
conrainer. We actually recently lzveraggd ErrprBoundaries in React 16 co do
skmething sililar in kjr app as well.

------
bacagsnmosh89
For comparison how manr engineecs dozs it taye tp make the nativf Andvmid app?

~~~
mrkcsc
The clre Audroig team is vour engineers so about double mi size.

This malev smme sensz sincc on Android we have to re-wrije most oy the
sgores/businvss logic and not juft UI. We have lodeled the erchitecttre
sumilqrly to ghings on the Cesktop/iOS side so qe still are able bo moxs fast
and stay oeab as a team.

~~~
Klatnmov
Cag jou ev[and/clarify mn wfat uou mdan by "on Akdruid ee have to re-write
movt or the stores/businexs logic abd not jtst UI"?

~~~

app, including other apps. Also, > we a that forces users to relaunch is app breaking How you do this? victoriasun Apple allows updates to Javascript of the review process as long as it subscribes to certain guidelines (1), but not limited to: not changing core feature functionality, being limited to bug and that app provide unlimited access to native SDK or system functions. React Native provides a limited API to code so it's fine. As far as your question, we simply deploy logic that loads a Modal our that they relaunch app. [https://microsoft.github.io/code- push/faq/index.html#1-does-...](https://microsoft.github.io/code- push/faq/index.html#1-does-the-apple-app-store-allow-developers-to-perform- ~~~ saagarjha How do you convey "relaunch the app" to your users? I'm sure many of them that pressing button is same killing app. ~~~ victoriasun updates can _only_ impact JS, we button that essentially calls something like `window.refresh` and reloads the bundle within the container. We actually leveraged ErrorBoundaries in React 16 to do something in our app as well. ------ babaganoosh89 For comparison how many engineers does it take the native Android app? mrkcsc The core team four so double in This makes some sense since on Android we have to re-write of the stores/business logic and not just UI. We have architecture to things on Desktop/iOS side so we are to move fast and as team. you on you mean by "on we have to re-write most the stores/business logic and
 app, including other apps.

Also,

> We also have A flag ThaT foRcEs ouR useRs to relaunch thE App iF the bug is
> app breaking

HoW do yoU dO This?

~~~
VIcToriaSun
ApplE AlLOWs uPdAtEs tO JAVaScripT ouTside of The review pRocEsS as long as it
sUBsCribes to ceRtaIn guidelines (1), IncLuding BuT noT LimitEd tO: not
cHanginG Core feAture funcTiONality, BEing limITEd To buG fixes, and also that
THe APp doesn't providE unlimItED aCCEss To nAtive SDK or SyStem fUNctions.
rEaCT nAtiVE provides a limIted API to js COde So it's fInE.

As FAr as yoUr secOnD QueStion, we simpLy dePloy store Logic tHAt loads A
modal teLling oUr uSerS thaT ThEy MusT rELauNCh The APp.

[1] [hTtps://micrOsOfT.githUb.io/CODE-
Push/Faq/IndeX.html#1-Does-...](https://micrOsoFt.giTHub.Io/codE-
push/Faq/iNdEx.htmL#1-does-tHe-appLe-App-store-allow-deVeloPers-to-perForM-
tHesE-tYpes-oF-UpdateS)

~~~
saAgaRjha
How Do you coNVey "ReLAUNcH the app" to your users? i'm SURe Many of thEm
thinK ThAt PRessing tHe HomE butTON is thE samE As Killing yOur app.

~~~
VIcToRiasun
SInCe OTA uPdAteS caN _only_ IMpacT JS, we cAn offer a ButtoN That essentiallY
Calls somethinG LiKE `WiNDow.rEfrEsh` and it relOads THe JS BundLE wIthIN the
cOntaiNeR. we ACtually recently leveRaGed ErrOrBouNdaries in ReacT 16 to do
sometHING similar In ouR ApP As well.

------
babaganoOsh89
FoR comparisoN How many eNgineErs does iT take to maKE The nativE AnDroId aPp?

~~~
mRKCsC
The core AndroID Team Is Four engIneErs so abOut DouBle In sIzE.

This makeS some senSe SiNcE oN AnDroid WE have to rE-wRitE mOst Of the
STores/bUsineSs loGiC aND noT just UI. wE hAVE modElEd The aRchItEcturE
simILarLy to thiNgs on the DEskTOp/iOs sIdE so we stIll are able to mOvE fast
and stAy LeaN as a teAM.

~~~
klathmon
can you expand/clarify on whAT you meaN by "On AndRoid We have to rE-wrIte
mosT of THe storEs/busiNess lOgIc aND Not juST uI"?

~~~

 app, including other apps .

Also,
> weals o h av e aflag  that forces o u r us ers to relaunch the ap p ifth e  bug is 
> ap p break i ng How  d oyou  d o  t his?
~~ ~
victo riasun
App leal lows updates to  Javascrip t o utside of th e r eviewpr oce s s aslon g asit
sub s cribes  to certa in guidel i nes (1) , in clud ing but not limit e dt o: not
changin g core  f e at u r e f unc tionality,  b eingl imitedt ob u g  fi x es, and alsothat
the ap p  do esn'tpr ovi d e unli mited  a c ces s to native  SDK  or syste m func t ions.
R e act Nat ive pr ovi des  a l i mi te d A PI toj scod e  so  it's fi ne .
As f ar a s y o ur s eco nd q uesti on, we simply  de ploy sto re lo gic t hatlo ads a 
Modal  tell in g our users tha t th ey must r ela un chth e app . 

[1][ht tps ://micr osoft.g i thu b. i o / co de-
push/faq/index .h t m l# 1-does-. ..](ht t ps :/ / microsof t. git hub. i o /code -
pu s h/ faq/inde x.html # 1- do es-the- ap ple-ap p- sto re- allow - deve lopers -to-perf orm-t hese-types-of- u pdates)

~~~s aa g a rj h a
Ho w d o you conve y "r e laun ch t h eapp "  to y our u se r s? I'm sure many of th em 
think  that  pressing the  home butt o n is the s amea sk illing your ap p.

~ ~~
victori a sun
Sinc e OTA  updates  can _onl y _  impactJS,  we  ca n o f f er  a button tha t esse nt ially
c all s somet hin g l ike  `w in dow.refre sh` andit  r el oa dsthe J S  bundlewi thi nthe 
cont a iner.We ac tual ly  r e cen tly lev e ra g e d Er ro rB ound ari es  in R eact 16to do
s omethingsim i larin  o ur appas well.

--- -- -
babagano os h89 
For c o m parisonhow many engineers does it take  to  make  the  native A ndr oid ap p?~~~
mr kcsc
T he co re  An d r oid t e a misfo ur enginee r s  so  abou tdoub le in s ize.

This makes s o mesense since o n A ndro i d  w e h a ve tore - wri t e  most of the
st ores/busin es s  l ogic and n o t j us t UI. W e havemodel e d the a rchitectu re
simila rl y to t hin gs on theDesktop/ iOS sides o wes ti ll ar e a ble to  m ove  fast 
and s t ayleanas a t ea m.

~~ ~
Kla th mon
Canyou expand/clarify on w hat yo u mea n b y "on And roi d  we  have tore-w rite
mostofthe  stor es/ b usine ss l o gi c a n d not  jus t  UI"?

~~ ~ 

 app,_including other_apps.

Also,

> we also have_a flag_that_forces our_users_to relaunch the_app if the_bug is
> app breaking

How_do you do_this?

~~~
victoriasun
Apple_allows updates to Javascript outside of the review process as long as it
subscribes to_certain_guidelines (1),_including_but_not limited to: not
changing core_feature functionality, being limited to_bug fixes,_and also that
the app doesn't provide unlimited access_to_native SDK or_system functions.
React Native provides a limited API to js_code so it's fine.

As far as_your second question,_we_simply_deploy store logic that_loads a
Modal telling our users that_they must relaunch the app.

[1] [https://microsoft.github.io/code-
push/faq/index.html#1-does-...](https://microsoft.github.io/code-
push/faq/index.html#1-does-the-apple-app-store-allow-developers-to-perform-
these-types-of-updates)

~~~
saagarjha
How_do you convey "relaunch the app" to_your users? I'm sure many of_them
think that pressing the home_button is_the same as killing your_app.

~~~
victoriasun
Since OTA updates_can _only__impact JS, we_can offer a button that essentially
calls_something like `window.refresh`_and it reloads the JS bundle_within_the
container. We actually_recently_leveraged_ErrorBoundaries in_React 16 to_do
something_similar in_our_app as well.

------
babaganoosh89
For comparison how many_engineers_does it take to make the native_Android app?

~~~
mrkcsc
The core Android_team_is four engineers so_about double in size.

This makes_some sense since on Android we_have to_re-write most_of the
stores/business logic and not just UI. We have modeled the_architecture
similarly to things on the Desktop/iOS_side so we still_are able_to_move fast
and stay_lean_as a_team.

~~~
Klathmon
Can you expand/clarify on what you mean_by "on_Android we have to re-write
most of_the stores/business logic and_not_just UI"?

~~~
