infinitered / infinitered/redpotion

Idea: React-style state model view rendering

Open
#63 11 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Ruby
Stars
233
Forks
41
PR merge metrics
No merged PRs in 30d

Description

Per [my article posted this morning](http://jamonholmgren.com/rubymotion-react-pattern/), I'd like to discuss bringing in a React-style `set_state` method on `PM::Screen` and providing a `render` (or `layout`) method in the RMQ stylesheet.

Other things to discuss:
- **View hierarchy diffing** -- is it worthwhile from a performance standpoint? Updating UI elements in RMQ is super fast, so it might not make sense.
- **Components** -- should we have some analog to React.js components?
- **Table screens / collection screens** -- this should be easy(ish) with `update_table_data` and the like, but we should discuss.
- **Animations** -- animating between state changes

Lastly, I have to thanks @twerth for building RMQ -- makes this sort of thing so easy. :-)

Contributor guide

Open the contributing guide

Research direction

Start by reading the linked article and the existing PM::Screen and RMQ stylesheet APIs, including update_table_data. The issue is a discussion of state updates, rendering, diffing, components, tables, and animations; it is done only when the intended scope and design are agreed.

Written by the indexing model from the issue text.

Assessment

Tech stack
react, ruby
Domain
frontend, mobile
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.