reference-types
DISCONTINUED
Flutter
Our great sponsors
reference-types | Flutter | |
---|---|---|
8 | 1198 | |
151 | 160,819 | |
- | 0.8% | |
5.3 | 10.0 | |
over 2 years ago | 6 days ago | |
WebAssembly | Dart | |
GNU General Public License v3.0 or later | BSD 3-clause "New" or "Revised" 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.
reference-types
-
Bring garbage collected programming languages efficiently to WebAssembly
AFAIK GC is irrelevant for "direct DOM access", you would rather want to hop into the following rabbit hole:
- reference types: https://github.com/WebAssembly/reference-types/blob/master/p...
- interface types (inactive): https://github.com/WebAssembly/interface-types/blob/main/pro...
- component model: https://github.com/WebAssembly/component-model
If this looks like a mess, that's because it is. Compared to that, the current solution to go through a Javascript shim doesn't look too bad IMHO.
-
Extism: Make all software programmable with WebAssembly
[1]: https://github.com/WebAssembly/proposals
A glance of the overview and spec seems to indicate that WASM will provide some primitive data types, and any GC language can build their implementation on top of it. As I understand it, it's heavily based on Reference Types[3], which allows acting on host-provided types, and is already considered part of the spec [4]. It doesn't remove the need for the 5 different runtimes to have their own GC, but it lowers the bulk that the runtimes need to carry around, and offloads some of that onto the WASM runtime instead.
[3]: https://github.com/WebAssembly/reference-types/blob/master/p...
-
Struggling to find yew benchmarks
They've talked about interface types, and added reference types, which is a stepping stone toward the GC extension proposal, which would be a stepping stone toward manipulating the DOM from the WebAssembly side, but their official roadmap page is more short-term.
-
FFmpeg for browser and node, powered by WebAssembly
> And there's been talk of exposing the JS GC to wasm for a few years. Hopefully when that stuff lands, it'll get easier to marshal objects across the gap.
You don't need a Wasm GC to do this. If you only need js objects to pass on to, say, the host's function or check is null or not, then reference types that are opaque external references: https://github.com/WebAssembly/reference-types/blob/master/p...
You can even do many more things if you export `Reflect` to WebAssembly: https://github.com/AssemblyScript/assemblyscript/blob/main/t...
Reference Types are available almost everywhere already (In Safari will be available after 15.0): https://webassembly.org/roadmap
- WebContainers: Run Node.js natively in the browser
-
Cranelift, Part 3: Correctness in Register Allocation
Re: GC -- yes, indeed, the whole business with safepoints arose from the need to support Wasm reference types as a backend for Wasmtime or Firefox. No safepoints are needed for Rust (or other C-like) code.
-
Wasmer 1.0 released, the fastest WebAssembly VM, cross-compilation, headless, native object engine, AOT compilers and more!
Reference Types,
Flutter
-
React Native and Flutter: A Developer's Dilemma
You can find the React Native documentation here and Flutter Documentation here.
- Ente: Open-Source, E2E Encrypted, Google Photos Alternative
-
React Labs: What We've Been Working On – February 2024 – React Compiler
> There is actually a great issue thread on the Flutter GitHub that explains exactly why other solutions do not work correctly when compared to hooks [0]
Interesting. I assume you are referring to this comment in particular -> https://github.com/flutter/flutter/issues/51752#issuecomment... ?
-
Mastering Responsive UIs in Flutter: The Full Guide
By default, Flutter Widget Test assumes a physicalSize of Size(2400.0, 1800.0) and a devicePixelRatio of 3.0, calculating the actual display size as physicalSize / devicePixelRatio. To test layouts under different conditions, we manually adjust these values and ensure we reset the test view after each test case to avoid unintended carry-over effects. For more details on managing test window settings, refer to this Flutter issue.
-
In-Depth Perspective on Flutter: A Comprehensive Analysis and Practice Guide
Download the Flutter SDK: Visit the Flutter official website (https://flutter.dev/), click "Get Started", select the download link suitable for your operating system, and download the Flutter SDK zip file.
-
Open source Spotify client that doesn't require Premium nor uses Electron
Flutter, from experience, works really well on Android. Unfortunately the same cannot be said about the web (see for example [1]).
I think that if these performance issues were to be solved, Flutter would see a bigger adoption. In any case IMHO Flutter >>>>> Electron
-
Supercharge Your Mobile Dev Skills: 10 Essential Tools for Max Efficiency
Flutter: Google's UI toolkit that can compile to iOS and Android platforms from a single codebase.
-
Write your business logic with Rust, Empowered by Rinf for Native Performance Apps
What’s the rationale on using protobuf for messages? IIRC Pigeon chose not to use that as their message definition language (they chose Dart) for reasons: https://github.com/flutter/flutter/issues/60758.
-
Top 10 Mobile App Development Tools: Building Apps Made Easy
Flutter is an open-source UI software development kit (SDK) created by Google. It allows developers to build natively compiled applications for mobile, web, and desktop platforms from a single codebase. Flutter uses the Dart programming language, which is designed to be easy to learn and offers features like hot reload for faster development iterations.
-
Building Responsive UIs in Flutter: A Short Guide
MacOS Í(Designed for iPad): Optimize your app for both iOS and MacOS with the ‘My Mac (Designed for iPad)’ target in Xcode. This special build allows you to create an iOS-optimized app that functions seamlessly on MacOS. It behaves like a native MacOS app while maintaining compatibility with libraries used in the iOS version. This approach offers a unified development process for both platforms, ensuring that your app delivers a consistent experience across Apple devices. There is still some work to set it up properly. See this issue.
What are some alternatives?
Introducing .NET Multi-platform App UI (MAUI) - .NET MAUI is the .NET Multi-platform App UI, a framework for building native device applications spanning mobile, tablet, and desktop.
flet - Flet enables developers to easily build realtime web, mobile and desktop apps in Python. No frontend experience required.
WPF - WPF is a .NET Core UI framework for building Windows desktop applications.
Uno Platform - Build Mobile, Desktop and WebAssembly apps with C# and XAML. Today. Open source and professionally supported.
kivy - Open source UI framework written in Python, running on Windows, Linux, macOS, Android and iOS
Quasar Framework - Quasar Framework - Build high-performance VueJS user interfaces in record time
svelte-capacitor - Build hybrid mobile apps using Svelte and CapacitorJS with live reloading on Android and iOS!
Maui - The .NET MAUI Community Toolkit is a community-created library that contains .NET MAUI Extensions, Advanced UI/UX Controls, and Behaviors to help make your life as a .NET MAUI developer easier
Svelte - Cybernetically enhanced web apps
capacitor - Build cross-platform Native Progressive Web Apps for iOS, Android, and the Web ⚡️
Avalonia - Develop Desktop, Embedded, Mobile and WebAssembly apps with C# and XAML. The most popular .NET Foundation community project.
fyne - Cross platform GUI toolkit in Go inspired by Material Design