-
Notifications
You must be signed in to change notification settings - Fork 10
wip: very much not done #293
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There for sure is something here, just need to drag it across the finish line.
--- | ||
|
||
# Impeller for Flutter and why it matters | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Probably need some kind of preamble here instead of just going into another heading. A lead in saying why this is a current conversation topic maybe.
false choice. | ||
|
||
<img | ||
src=https://www.commitstrip.com/wp-content/uploads/2014/08/Strip-dileme-appli-mobile-650-Finalenglish3.jpg |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should make this a local image with the link back to the source (which you have below)
|
||
# Impeller for Flutter and why it matters | ||
|
||
## Lessons from JavaScript |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Feels like this heading is off. It's more about why Flutter started.
|
||
Flutter’s ambition was to take the portability of the web, but mix it with the | ||
quality of mobile frameworks. We succeeded, but had to move off the web’s | ||
language (javascript) in the process and move from on-device, just-in-time (JIT) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
language (javascript) in the process and move from on-device, just-in-time (JIT) | |
language (JavaScript) in the process and move from on-device, just-in-time (JIT) |
compilation to ahead-of-time (AOT) compilation to do so. | ||
|
||
A similar story has been playing out since in graphics. Modern graphics use | ||
programs called “shaders” that run on the GPU. Like the rest of the app, these |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
programs called “shaders” that run on the GPU. Like the rest of the app, these | |
programs called “[shaders](https://en.wikipedia.org/wiki/Shader)” that run on the GPU. Like the rest of the app, these |
|
||
### Why is all this so hard? | ||
|
||
You might ask yourself, why is all this so hard? Why do apps don’t have to think |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You might ask yourself, why is all this so hard? Why do apps don’t have to think | |
You might ask yourself, why is all this so hard? Why do apps have to think |
device, thus removing this source of stalls. This “ahead of time” compilation | ||
of shaders matches what other mobile frameworks, like UIKit do. | ||
|
||
### Why is all this so hard? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
### Why is all this so hard? | |
### Portability is complicated |
If you want access to graphics/compute accelerators on the device, you need to | ||
go through a client API like Vulkan, OpenGL, Metal, DirectX, etc. Rendering | ||
engines like Impeller, Skia, Rive, ThreeJS all have the same concern. The client | ||
APIs are extremely low-level, not particularly platform agnostic and difficult |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
APIs are extremely low-level, not particularly platform agnostic and difficult | |
APIs are extremely low-level, not particularly platform agnostic, and difficult |
|
||
## Flutter and 3d | ||
|
||
In my opinion, the most pressing issue today is that there is no way to create a |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this is the right point of view, I. There is a lot of "we" in the previous few paragraphs which I can't tell if you are talking about the community, the flutter team, or shorebird.
about it not because it’s not possible to write those bindings, but because the | ||
developer experience in the best case would be meh. | ||
|
||
### Impeller Rollout |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wondering if this section should move up before the "why is this so hard section". Feels like your talking about the state of things and then can get into the alternatives, pros/cons, etc
Attempting to write a post about impeller, why the team did it, what the current status is, etc.
This is a bunch of intro from me, some content of a (partially edited) email from Chinmay. Still needs a lot of work.