Skia
flutter_platform_widgets
Our great sponsors
Skia | flutter_platform_widgets | |
---|---|---|
55 | 4 | |
8,614 | 1,532 | |
2.2% | 1.2% | |
9.9 | 8.0 | |
5 days ago | 2 months ago | |
C++ | Dart | |
BSD 3-clause "New" or "Revised" License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Skia
-
Skia VS nitro-gl - a user suggested alternative
2 projects | 21 Aug 2023
- The Future of the Web Is VNC
- Cairo – Open-Source 2D Graphics Layer/API with Fonts and Many Back-Ends
-
Lottie under the hood
Actually, that's not entirely accurate. The lottie-web library itself doesn't support rendering to WebGL. However, there is a package called canvaskit-wasm that wraps Skia (a graphics engine) with WebAssembly (wasm). This package includes a module called skottie which supports rendering animations into a WebGL surface. However, there is a drawback with this approach: using wasm requires loading a relatively large package, and it's uncertain whether all features are supported correctly, as the official compatibility table that tracks lottie support on different platforms does not include skottie.
-
Widely-used graphics library
Skia is pretty great if you can get it running.
- Vivaldi 6.0 Web Browser Introduces Tab Workspaces and Custom Icons
-
Due to popular demand, here’s part 2
The imgs are mainly used by Tencent QQ and Baidu Tieba users. QQ and Tieba compress imgs by default, so the popular imgs (in China we call them "屌图" or "表情包") would be compressed million of times during the spreading, causing the super low quality. These APPs on Android are using Skia for image processing, which suffering from a legendary bug: result would be more green. The bug was fixed in 2016: https://github.com/google/skia/commit/c7d01d3e1d3621907c27b283fb7f8b6e177c629d
- Leveraging Rust and the GPU to render user interfaces at 120 FPS
- How important is avoiding Blink/Chromium to you? And if not at all, why?
-
Graphic Library for C
There’s also Skia by Google. Used by Android and Google Chrome.
flutter_platform_widgets
-
The different strategies to building a cross-platform app
Full control of rendering. Optimizes for consistent UI cross-platform, at expense of platform-specific capabilities and look-and-feel (that users on each platform might be more familiar with). But has Cupertino widgets for iOS look-and-feel, to alleviate that. (Android uses Material UI widgets). Could also use flutter_platform_widgets that automatically selects the UI widget's look-and-feel according to the mobile platform (iOS or Android).
-
Using Flutter to build a native-looking desktop app for macOS and Windows
OP here!
It wasn't that hard to handle the conditional logic for the UI components. It can also be encapsulated in a separate package, something that is already available for Flutter on mobile (iOS and Android UI): https://github.com/stryder-dev/flutter_platform_widgets
I could also not strive to make it look native, but go with the default UI (Google's Material UI). As I explained in the post, I decided to take some extra steps and use the two UI packages (macos_ui and fluent_ui), to make it adapt to the platform.
Please bear in mind that I am a single developer, with ~1 year of working with Flutter and Dart, and my main background is web development. I think that teams with more members and experience can certainly do this for even larger in scope apps.
- Do all Flutter Apps look similar?
What are some alternatives?
bgfx - Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library.
styled_widget - Simplifying widget style in Flutter.
nanovg - Antialiased 2D vector drawing library on top of OpenGL for UI and visualizations.
Flutter - Flutter makes it easy and fast to build beautiful apps for mobile and beyond
GLFW - A multi-platform library for OpenGL, OpenGL ES, Vulkan, window and input
Flutter-Neumorphic - A complete, ready to use, Neumorphic ui kit for Flutter, 🕶️ dark mode compatible
Atomic Game Engine - The Atomic Game Engine is a multi-platform 2D and 3D engine with a consistent API in C++, C#, JavaScript, and TypeScript
Windows UI Library - Windows UI Library: the latest Windows 10 native controls and Fluent styles for your applications
Ogre 3D - scene-oriented, flexible 3D engine (C++, Python, C#, Java)
react-native-web - Cross-platform React UI packages
imgui - Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies
dap - Experimental Dart-based package manager for dahliaOS