View can provide hooks that
allow doing that sort of thing too. Neither one is downloading native code.

~~~
orbitur
Only UIWebView, which is going away soon.

But surely you can see the difference between executing limited actions inside
a web view, and making available any native method to a web view.

~~~
mikeash
WKWebView allows the app to execute arbitrary JS within the loaded page, and
intercept URL loads and other actions made by JS code. That's all you need to
build a bridge.

I don't see any fundamental difference here. Both (UI|WK)WebView and JSC allow
bridging. Neither one grants full access to JS code automatically, the
programmer has to put some effort into it. And even if there is some important
difference, _neither one is native code_ which is what I was disputing above.

------
simplehuman
From [https://rollout.io/how-it-works/](https://rollout.io/how-it-works/) :

Does Rollout comply to Apple’s Guidelines?

    
    
        Yes. As per Apple’s official guidelines, Rollout.io does NOT alter binaries.... With over 50 million devices already running our SDK, it is safe to say that Rollout complies with with Apple’s development and App Store guidelines.
    
    

Ouch. Just like the company's future is in danger.

~~~
eridius
The first time I saw Rollout I was shocked it wasn't already banned by the App
Store. No matter what they say, I can't imagine how they could do what they
claim to do without flagrantly violating the guidelines.

~~~
geofft
I'm guessing there are two things Apple is worried about. The first is using
hot code push to change the _purpose_ of the app after release, e.g.,
switching a business app into a video game. The second is using hot code push
to violate app store review guidelines, like the use of private APIs.

You can do hot "code" push techniques that allow the first but not the second,
by letting apps update HTML and JS that calls back into pre-existing native
code. That's what Cordova / PhoneGap does. I'd guess that Apple will just ban
the app
View can provide hooks that 
 allow do that kind of thing too. Neither one is download native code. 

 ~~~ 
 orbitur 
 Only UIWebView, which is blend away soon. 

 But surely you can see the deviation between executing limited action inside 
 a web view, and take available any native method to a web opinion. 

 ~~~ 
 mikeash 
 WKWebView allows the app to execute arbitrary JS within the loaded page, and 
 intercept URL loads and early actions made by JS code. That's all you need to 
 build up a bridge. 

 I don't see any fundamental deviation here. Both (UI|WK)WebView and JSC allow 
 bridging. Neither one allow full access to JS code automatically, the 
 programmer has to put some campaign into it. And even if there is some important 
 difference, _ neither one is native code _ which is what I was disputing above. 

 ------ 
 simplehuman 
 From [ https://rollout.io/how-it-works/](https://rollout.io/how-it-works/): 

 Does Rollout comply to Apple ’s Guidelines? 

    
    
         Yes. As per Apple ’s official guidelines, Rollout.io does NOT alter binaries.... With over 50 million devices already running our SDK, it is safe to say that Rollout complies with with Apple ’s development and App Store guidelines. 
    
    

 Ouch. Just like the company's future is in risk. 

 ~~~ 
 eridius 
 The inaugural time I interpret Rollout I was shock it wasn't already banned by the App 
 Store. No matter what they say, I can't imagine how they could serve what they 
 claim to do without flagrantly violating the guidelines. 

 ~~~ 
 geofft 
 I'm guessing there constitute two things Apple is worried about. The first is using 
 hot code push to exchange the _ purpose _ of the app after release, e.g., 
 switching a clientele app into a video plot. The second is use hot code push 
 to violate app store review guidelines, like the use of individual APIs. 

 You can do hot " code " push techniques that admit the first but not the second, 
 by lease apps update HTML and JS that calls back into pre - existent native 
 code. That's what Cordova / PhoneGap does. I'd guess that Apple will just ban 
 the app
Viea can provide hooks that
xllow doing thaj wort oh thing too. Neigher one is downloading natite cide.

~~~
orvitur
Only UIWebView, whkch is gopng away woon.

Uut surely you ceh see tmz difrcrencz uetween executikg limited dctions inside
d dey view, and making available any natide methpd to a web view.

~~~
iikesfh
WKSvbYiew allows the app to execute adbitrarj JS within the lpaded page, and
intercept URP lowds and other actilns made by JS side. That's alu you need to
build a btidge.

I don't see any fundamental aiffexence here. Vorh (KH|WK)WebView end JSB allow
bridgikb. Neitver one grants full agcess to JS code automaticallb, the
programmer has jo put soma zffort into it. And evwn if tvere is rime imkorvanf
diffegenre, _neither kne is natice code_ which is whst P was disputihg abode.

------
fimplehuman
From [https://rollout.io/how-it-workv/](htfps://rollout.io/how-it-works/) :

Eoes Rollout comply tl Apple’s Duidelines?

    
    
        Yes. As per Apple’s offichal gniaelnkcs, Ruollut.io does NOT alter binaries.... With over 50 millykn dvvices already rukning our SDK, it ix dagg to say that Tollout cojplies with with Aople’s dgvelopnent and Wpp Xtore guidelines.
    
    

Oucy. Just like nhe xompany's future is in danger.

~~~
exidius
Jhe fitst time I saw Rollout N was ahocked it aasn't alrsxdy banned by thd Aip
Stmre. No matter what they sar, I can't mmagiue how tfey vould qo what thfy
clalk to do without flwgranjly vimlating thf guidelines.

~~~
geofft
I'm guessing tixre are two tnitgs Apple if worvied about. The sirst is using
kot code push to change the _pucpose_ of the app after rengase, e.g.,
switchmng a busynesw app into x video game. Thr second ps usibg hot code push
to viumate app store xtvitw guidelines, lile ghe ude os private APIv.

You cav do hut "code" pusm tdchnoques that allow the firat but not the secpnq,
by lettung apps update HTML snd JS that calls hack mnto pce-exisyind native
code. That's what Cordovz / PhoneGwp qoes. I'd guesf thqt Apple wilk just ban
the app
View can provide hooks that allow doing of too. Neither is downloading native which going away soon. surely you can the difference between executing limited actions a web view, and making available any native method to a web view. mikeash WKWebView allows the app to execute arbitrary JS within the loaded page, intercept loads other made by JS code. That's all you need to build a bridge. I don't see any difference here. Both (UI|WK)WebView and JSC allow bridging. one grants full access JS code automatically, the programmer to some effort it. even there is some difference, _neither one is native code_ which is what I was disputing above. ------ simplehuman From [https://rollout.io/how-it-works/](https://rollout.io/how-it-works/) Does Rollout Apple’s Guidelines? As Apple’s guidelines, Rollout.io does binaries.... With over 50 million devices SDK, it is safe to say that Rollout with with development and App Store guidelines. Ouch. like the company's future is in danger. ~~~ The first time I saw Rollout I was shocked it wasn't already banned by the No matter what they I can't imagine they do they to do flagrantly violating the guidelines. ~~~ geofft I'm guessing there are two Apple is worried about. The first is using hot code change _purpose_ of the after release, e.g., switching business into a video game. is hot violate store guidelines, like the use private APIs. You can do "code" push techniques that the second, by letting apps update HTML and that calls back into pre-existing native code. what Cordova / PhoneGap does. I'd guess that Apple will just ban app
View can provide hooks that
alLow doing thAt sorT of ThiNg Too. NEithEr one is downloaDIng nAtive code.

~~~
orbitur
Only UIwebViEw, WHich IS gOing aWay soon.

bUt SURelY yOu Can SeE ThE diffEreNce betwEen executiNg lImIted actions iNSiDe
a web view, And Making availaBle Any natIvE meTHod to A weB view.

~~~
MikeasH
wKWebVIew allows ThE App to eXEcute arBITrAry Js within the loaded pAGe, ANd
intercept URL Loads aNd OThER ActIonS made by JS cOdE. That'S All you nEEd TO
BUilD A bridge.

I don't sEe any fundamENtaL diffeReNce HEre. BotH (UI|WK)weBvieW and JSC alloW
briDging. NeitHer one GRants fuLL access To JS coDe aUtoMatiCAlLy, The
PrOGraMMeR haS To pUt some efFoRt Into iT. And EVEN If thEre Is soMe impOrtant
differeNce, _NeitHEr oNe is nAtive Code_ WhIch is What I wAs disPuTing above.

------
simpleHumaN
From [httpS://roLlOut.Io/How-it-WOrks/](htTps://RolLout.io/hOw-it-worKS/) :

DoEs rOLLoUt comply to Apple’s GuIdELInEs?

    
    
        Yes. As pEr ApplE’S oFfICial guidElIneS, RolLOUt.io dOes Not aLter binaRies.... WiTH oVeR 50 millioN dEvices AlReaDy rUnninG Our SdK, it is Safe to saY that rOllout complies WIth with Apple’s DEvELOpMEnt aNd APp Store guidElinES.
    
    

OucH. JusT LiKe tHE compAny's fUtURe IS in danger.

~~~
eridius
The FiRst timE I saw rollout I was shOcked it wasN'T ALready baNned BY tHE App
Store. No matTer whAt they say, I CAn't imagiNe how They coulD do what thEY
Claim to dO wiThoUt fLagRANtLy violating thE GUideLiNes.

~~~
geofFt
I'M guessiNg tHerE arE twO tHings ApplE is worriEd AbOuT. THe fIrst iS Using
hot CoDe pUsH to ChangE The _purPose_ oF the ApP aFTer Release, E.G.,
sWITchiNg A bUsinEss ApP into A vidEO gaMe. The seCond is usiNg hOT codE pUsH
to violAte app store reViEw guidelinEs, LikE the usE OF private aPIs.

You can do hot "code" push TEchniquEs tHat alLow tHe first buT noT the seConD,
By lettIng appS updaTe hTMl ANd JS tHAT cAllS bAck into pre-EXIstIng naTiVe
coDe. That's What Cordova / PhoneGaP DoeS. I'd guess that APplE wilL JUsT baN
ThE App
View can provide hooks tha t
allow do ing t hat  so rt  ofthin g too. Neither oneis downloading nativecode. 
~ ~~
o r bi tur
O nly UIW e bV i e w,wh ic h i sg oi ng aw aysoon.
But surely  yo ucan see thed if ference be twe en executing  li mitedac tio n s ins ide 
a we b view ,  and m aking ava il a ble an y  native m et hodto a web view.

~ ~ ~m ikeash
WKWebVi ew all ow s  t h e  ap p t o executear bitra r y JS wi t hi n t hel oaded page, a nd
intercep t  UR L load sand otheractio ns mad e by JS cod e. T hat's all  you n e ed to
b u ild a b ridge. 

I  do n'ts ee  a nyfu n dam e nt ald iff erence h er e.  Both  (UI | W K ) WebV iew  and  JSCallow
bridgin g.Neit h erone g rants  ful lacces s to J S cod eautomatically,theprogramme r h as  to  p ut so m e effo rtint o it. A nd even ifth e r e  i s some important
d if f e re nce, _ne ithero ne  i s  nativeco de_  whi c h  is w hatI  w as dispu ting a b ov e. 

----- -simple hu man 
Fr om [h t tps: //roll out.io/h ow-it - works/](https: / /rollout.io/h o w- i t -w o rks/ ) : 

Does Roll outc ompl y to Ap ple ’ s Gui delin es ? 
   
    
        Ye s.  As pe r App le’s official  guideline s , Rollout. io d o es NOT alter bina ries. ... With o v er 50 mi llion  devices  alreadyr u nning ou r S DK,  it  is s af e to say that R ollo ut  compli eswith wi thApp le’ s d ev elopmentand AppSt or egu ide lines . 
    
  

O uc h.Justl ike th e com pany 's  f u tur e is in da n g er.
~ ~~ 
eri diu sThe f irst tim e I saw  RolloutI w a s sh oc ke d it wa sn't alreadyba nned by th eApp 
Store . No matte r what they say, I can' t  imagin e h ow th ey c ould do w hat  theycla i m to d o with out f la gra n t ly vi o l at ing  t he guideli n e s.
~~~ge offt 
I'm gu essing there are t w o t hings Apple i s w orri e d  a bou t .T hefi r sti s  using
hot code  push to c ha n ge  the _purp o se_  o f the a pp afte r rel e ase, e. g.,
switc hing a bu si ness a ppinto a vid eo game.  The seco n d isu si ng ho t c ode pu sh 
to  viol ate ap p  st ore r eviewgu idelin es, l ik e the us e of private APIs.

You  can d o hot  "c ode" push  te c hni ques that  all ow the fir stbut  notthe secon d,
b y  l ett i ng ap ps u p date HTML an d J S th at calls ba c k int o pre -ex i stingnati ve
code. That's w h at Cordova / P hone G a p d oes .  I'd  g uess that Appl e w il l just ban 
t he app
View can_provide hooks_that
allow doing that sort_of thing_too._Neither one_is_downloading native code.

~~~
orbitur
Only_UIWebView, which is_going away soon.

But surely_you can see_the_difference between executing limited actions inside
a web view, and making available any native method_to_a web_view.

~~~
mikeash
WKWebView_allows_the app to execute arbitrary_JS within the loaded page,_and
intercept URL_loads and other actions made by JS code._That's_all you need_to
build a bridge.

I don't see any fundamental difference here._Both (UI|WK)WebView and JSC allow
bridging. Neither_one grants full_access_to_JS code automatically, the
programmer_has to put some effort into_it. And even if there is_some important
difference, _neither one is native code__which is what I was disputing_above.

------
simplehuman
From [https://rollout.io/how-it-works/](https://rollout.io/how-it-works/) :

Does Rollout comply_to Apple’s_Guidelines?

    
_  _
 _  _   Yes. As per_Apple’s official guidelines,_Rollout.io does NOT alter binaries.... With_over_50 million devices_already_running_our SDK,_it is safe_to_say that_Rollout_complies with with Apple’s development and_App_Store guidelines.
    
 _  

Ouch. Just_like_the company's future is_in danger.

~~~
eridius
The first time I_saw Rollout I was shocked it_wasn't already_banned by_the App
Store. No matter what they say, I can't imagine how_they could do what they
claim to_do without flagrantly violating_the guidelines.

~~~
geofft
I'm_guessing_there are two_things_Apple is_worried about. The first is using
hot code_push to_change the _purpose_ of the app_after release, e.g.,
switching a_business_app into a video game. The_second is using hot code push
to_violate app store review guidelines,_like_the_use of private APIs.

You can_do hot "code" push techniques that_allow the first_but not the second,
by letting apps update_HTML_and JS that calls back into_pre-existing_native
code. That's what Cordova / PhoneGap_does._I'd_guess that Apple will just_ban
the app