jasonelle-archive / jasonelle-v2

🛸 🏘️ Jasonelle issues, releases, discussions and wiki repository.
https://jasonelle.com
Mozilla Public License 2.0
422 stars 58 forks source link

Animated everything #96

Closed dumblob closed 3 years ago

dumblob commented 3 years ago

Is your feature request related to a problem? Please describe.

Apps created with Jasonelle are cool, but "static". Anything dynamic (i.e. animations) is either very limited or very complex (or often impossible) to do.

Describe the solution you'd like

I'd like to integrate with JSON standard for animations - dotLottie (see specification and an example player implementation).

Describe alternatives you've considered

  1. Leaving Jasonelle static without animations.
  2. Implementing some Jasonellle-specific minimal support for basic animations (imagine CSS animations).
  3. Implementing platform-specific animations ad-hoc.

First option would kill Jasonelle (which already nowadays might sometimes feel a bit dated). Second option would be lots of work for very tiny benefit (if any - as such tiny animations cover maybe up to 5% of the whole spectrum needed in modern and future applications). Third option wouldn't be maintainable, would destroy multiplatformity of Jasonelle, and would suffer from similar issues as the second option.

Identify which component would benefit from this feature

Additional context

N/A

clsource commented 3 years ago

Thanks for taking the time to write this. I feel that this should not be on the core, but instead inside an extension which provides the lottie parser and implement such animations.

Currently, the option available is using the lottie animation engine inside a webview and provide such animations at least as an eye candy 👍

dumblob commented 3 years ago

Hm, I'd say this shall stay open until Jasonelle supports animations. Currently they're not supported and widgets and their transitions & states are not being animated at all which is the primary issue I've described above.

Note, that dotLottie animations were just a recommendation (as they're JSON based very modern building upon many years of experience from industry leading products & services), but in no way the point of this issue. This issue is not about dotLottie, but about animations which are an essential part of today's and tomorrows UIs.

Therefore I'm certain this issue should stay open until Jasonelle gets animations.

clsource commented 3 years ago

Thanks, I see that animations are prominent in modern apps. But they will add bloat if they are added to the core.

I find best that external components for example: AnimatedButton, AnimatedLabel. Would be created as an extension rather than being part of the core. That means easier way of implement different animation engines "lottie" or "custom". each one with specific options and syntax tailored for each use case.

dumblob commented 3 years ago

I find best that external components for example: AnimatedButton, AnimatedLabel. Would be created as an extension rather than being part of the core. That means easier way of implement different animation engines "lottie" or "custom". each one with specific options and syntax tailored for each use case.

This seems to be the misunderstanding. What you're describing is exactly the alternative (2) from my description above.

Proper animation must not be constrained to specific parts, but rather holistic. I.e. not a property/attribute/... of a piece_of_UI/widget/part (i.e. these must not be anything like AnimatedButton nor AnimatedLabel), but rather orthogonal - that's why I referenced dotLottie as additional JSON data e.g. at the very end of the current Jasonelle JSON (as a side effect this shouldn't bloat the core).

Could we reopen this issue to track related ideas and any other progress?