{"comment":{"url":"https://api.github.com/repos/optimizely/nuclear-js/comments/9213691","html_url":"https://github.com/optimizely/nuclear-js/commit/b6ac63f13a4a53ef88189eca20e0e1804469745c#commitcomment-9213691","id":9213691,"user":{"login":"jordangarcia","id":454066,"avatar_url":"https://avatars.githubusercontent.com/u/454066?v=3","gravatar_id":"","url":"https://api.github.com/users/jordangarcia","html_url":"https://github.com/jordangarcia","followers_url":"https://api.github.com/users/jordangarcia/followers","following_url":"https://api.github.com/users/jordangarcia/following{/other_user}","gists_url":"https://api.github.com/users/jordangarcia/gists{/gist_id}","starred_url":"https://api.github.com/users/jordangarcia/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jordangarcia/subscriptions","organizations_url":"https://api.github.com/users/jordangarcia/orgs","repos_url":"https://api.github.com/users/jordangarcia/repos","events_url":"https://api.github.com/users/jordangarcia/events{/privacy}","received_events_url":"https://api.github.com/users/jordangarcia/received_events","type":"User","site_admin":false},"position":null,"line":null,"path":"","commit_id":"b6ac63f13a4a53ef88189eca20e0e1804469745c","created_at":"2015-01-09T04:55:52Z","updated_at":"2015-01-09T04:55:52Z","body":"@tomconroy the action layer is something that should be opt-in and NuclearJS shouldn't be prescriptive of how people want to dispatch actions.\r\n\r\nAt Optimizely we are adopting the idea of a Flux Module which contains the getters, actions and any other functions for a specific domain of the application.  Modules can require other modules and compose getters together to create new getters specific to a certain implementation.\r\n\r\nWe've found that this abstraction works well since we develop at such large scale with dozens of developers all working out of the codebase.  This level of abstraction and misdirection might not be desired for people writing smaller apps with NuclearJS thus the action layer was taken out.\r\n\r\nIn my opinion action layer of misdirection is always a good thing, it allows you to create semantic functions that anyone can call and not worry about the implementation of whats going on under the hood or that it's a flux system for that matter.  The other benefit is it allows you to create actions that are composed of other actions, there is nothing wrong with having an action that calls two or more actions from other parts of the system.\r\n\r\n"}}