Mob screens as Dyn screens (config :rho, :dyn, screens: Rho.Dyn.Screens.Mob, see Rho.Dyn.Screens):
- a screen is a module that
use Mob.Screens and definesmount/3; itsmount/3is wrapped to register the screen process with the Keeper (mob's router runs each screen in a process of its own); - its selftest mounts it on an empty socket (with a placeholder size
class) and renders it:
render/1must return a view tree (%{type: atom, children: [...]}all the way down); - mob's router calls the
:after_first_renderhook after the first frame;Mob.Device's:appevents:will_resign_active,:did_enter_backgroundand:will_terminatemean the user left.