Modern Digital Website Security: Prepare to face any form of malicious web activity and enable your sites to optimally serve your customers.
Low-Code Development: Learn the concepts of low code, features + use cases for professional devs, and the low-code implementation process.
Software Engineer at Canoo Engineering AG
Basel, CH
Joined Sep 2009
About
Michael is a user interface creator by passion. He is convinced: no matter which technology and which device, if it has a screen, one can build a truly amazing experience. And pure magic. Michael works at the Canoo Engineering AG as a software engineer on next generation user interfaces. Before that, he was responsible for performance optimizations in JavaFX Mobile at Sun Microsystems and later became the technical lead of the JavaFX core components at Oracle. Michael loves to spend time with his family and cooking. You can find him on Twitter @net0pyr and occasionally he blogs at http://blog.netopyr.com.
Stats
Reputation: | 168 |
Pageviews: | 165.8K |
Articles: | 2 |
Comments: | 2 |
Articles
Refcards
JavaFX 8
Comments
Oct 19, 2016 · Duncan Brown
If MVC simply means “you gotta split data, view, and logic” then I agree with you.
But if you go slightly more into the details, you will notice quite a few differences that have a significant impact. Most obviously, MVC is an object-oriented-pattern while the approach explained in the article fosters functional programming. This by itself is a huge difference.
It is really hard to make definite statements about MVC, because it is so vaguely defined. But I will try anyway. :)
Let us start with the model. Often, when we talk about the model in MVC, we actually just mean the domain model. I.e. the model usually does not contain UI state. In this new approach the whole state is in one place which has interesting consequences, for example when testing.
The View in MVC is typically a collection of components. They have internal state and methods that one can call to interact with the internal state. The View()-component in the approach explained in the article is a pure function. It does not have any state and it does not contain a collection of methods that one can call. Except for the name, I do not see much similarity.
To summarize, in my opinion state is not equal to the model in MVC, the View()-function is not the same as the view-components in MVC, and the controller also works differently. I am afraid, I do not see how this is still MVC.
Oct 19, 2016 · Duncan Brown
Sorry for joining the discussion so late. I got a notification from Dzone that my blog post was republished, but I did not expect it to become so popular and did not notice the comments.
I like Cycle.js and enjoyed all articles I read from Andre Medeiros with one exception and that is the “MVI is just reactive MVC” idea. It confused me more than it helped. I tried several new frameworks in the past two years or so and Cycle.js was the one I struggled with the most. In hindsight a large part of the problem was, that I made assumptions that are valid in an MVC-applications, but do not hold if using Cycle.js. The M and V look very different in MVC- vs. MVI-applications. I think in this case it is much easier to try to forget everything you know for a while and start to learn with an empty mind.
As for the Drama, do you think you would have read the article, if there was less Drama? ;)