Obx. в Obx обычно есть ответы на всё. например, в ObxTwins. и вся глава «View Construction» из встроеного туториала. подробнее и нагляднее этого, пожалуй, нет.
что следует учесть — что в BB довольно… скажем так, неортодоксальная модель построения GUI, аналоги которой врядли где-то есть. в частности, дерево видимых view, по которым распространяются многие сообщения, создаётся в момент отрисовки экрана, в методе Restore. и существует до следующей перерисовки, когда опять создаётся заново. именно за этим служит `InstallFrame()`. это довольно интересная идея, которая позволяет строить очень динамические UI. соответственно, понятие фокуса тоже создаётся в момент перерисовки. немного необычная концепция.
также в BB «окна» не несут особой смысловой нагрузки кроме «быть чем-то, на чём можно рисовать». вся система — про работу с документами, и главная сущность в ней, соответственно, документ. каждый документ умеет сохраняться (потому что наследник Store), и имеет так называемый «домен». Join нужна для того, чтобы «пристегнуть» созданые объекты к одному из таких документов («включить в домен»). обычно к домену родителя. обо всём этом довольно подробно рассказано в документации к модулю Stores.
конексты вообще очень интересная (я бы сказал — гениальная) штука, которой я не видел ни в одном другом тулките. контекст служит для того, чтобы связать с view некую информацию, которая нужна его родителю.
всё это на самом деле очень просто и красиво, но ломает мозг, если прийти со знаниями каких-нибудь других систем.
самое забавное то, что когда это всё в голове уже уложилось — становится понятно, что стандартный туториал великолепен, описывает всё очень чётко и подробно. а вся нужная дополнительная информация есть в документации по соответствующим модулям. но как изначально это в голову уложить — вопрос сложный. мне в своё время помогла медитация над Obx.
|