I'm literally working on a lib to solve this right now, specifically to be used with react-router. If you want I can contact you when finished and you can give it a whirl.
Implementation will look something like <TransitionGroupRoutes><CSSTransitionRoute path="..."/><CSSTransitionRoute path="..."/></TransitionGroupRoutes>
Transitions are fine, I'm more worried about how to give an indication that a panel has been open or similar.
I'll check it out, though! If you have a mailing list feel feel to add me: me@nbrogi.com
:-)
EDIT: I think your comment below is too deeply nested and it doesn't let me reply. However: I think a mailing list is useful even for personal project. In the event that the project gets traction, it would allow you/motivate you to keep working on it and improve it (I'm a professional side project creator).
As for nested animations, it might make sense to chain them..? Not sure.
Good advice, I'll set it up. The problem I ran into with react-router-redux was the requirement of using location to provide the value for a key on CSSTransition. I had to use this implementation to solve the problem of the missing exit animation. https://reacttraining.com/react-router/web/example/animated-...
This uncovered a new problem for nested animations. The high-level page transition animation occurs even when the url root does not change. So I need to be able to ignore animations on Route components located high in the VirtualDOM, and apply animations (sometimes different animations) on Route components located further down.
Maybe you already know of an elegant solution to solve this problem? If so let me know! In the meantime, I'll keep bang'n on this.
Edit:
Concerning giving an indication that a panel has been opened, I'd just use CSSTransition wrapped around whatever element that is going to be introduced to show that it has been opened. Then define your 'enter' animation in css.
If that seems like overkill, and you can't use did mount to determine if the animation should be applied, then I'd just add a css className to your element to introduce some animation defined in CSS.
Obviously, I may be misunderstanding your use cases here. The above are just knee-jerk thoughts on it.
Sure! Will do. Honestly, I was just building it for myself, so no mailing list. But I'd be excited to see how you like it.
The problem I'm aiming to solve is nested route animations, and allowing for different animations to be applied depending upon the previous route in history.
I agree. Coding is not fun because writing a command that a machine can compute is inherently enjoyable. Coding is fun because you can manipulate a machine and build something you want that didn't exist before.
I downloaded GameSalad one weekend. My 6-year-old son and I ran through the tutorial which took about an hour. Part way through he got distracted. He spent about 20 minutes changing movement speed properties, object colors, & sizes. I was happy to see him get engaged and just start experimenting. While he did not learn how to code, the seed was planted that creating mobile games is something within his reach.
You have to take into account a person's expectations of themselves as well as the scope of what they are trying to learn. If your expectations are overly ambitious, it's hard. If you are trying to learn to code some narrowly scoped solution, then its simple.
It appears to me that this is a tool to identify a market / need that is not being met.
There are people who simply want a product/service, no desire for ownership. They post what they'd be will to pay for it, as a customer, and you decide if it is worth your time to build it.
First, I think this is a great idea. People have problems they think might be solved / automated. But I agree it definitely needs some language clarity.
Businesses: have a problem you need solved with software? Post your problem!
Programmers: looking for a challenging project with identified customers? Apply to solve a problem!
As far as I have observed, the only thing people consistently respond to is pain. This can be done through the introduction / removal / or threat of pain. It'd be nice if we all empathized more with other people's pain, but that doesn't appear to be the culture that we live in. Maybe there are cultures that do elsewhere, but I am unaware of them.
But I do have a question for you, when the interests of those with influence align with the ignored, why would your initial reaction be a negative one?
For me, it's fear, fear of being dependent upon an economic/labor system that does not favor labor. If you are not an owner, and make a living selling your time, you are threatened by both outsourcing and automation.
As a programmer / engineer / whatever label you want to give, it is a little easier for us to adjust to changing labor conditions because our careers, as long as not overly specialized, require constant learning.
But I'd prefer not to live a life competing with people all over the globe, or being blindsided by some tech that can execute a majority of my responsibilities as an employee.
"This might be controversial, but I don't think you get to be a half decent developer without being a reasonable sysadmin."
Couldn't this argument be applied to any developer for any discipline/speciality?
Sure, more knowledge/context is always better if reasonable to attain, but my experience suggests that your above concerns could also be addressed via team organization rather than expecting all developers to know all things.