flutter-embedded-linux
couchbase-lite-C
Our great sponsors
flutter-embedded-linux | couchbase-lite-C | |
---|---|---|
4 | 1 | |
1,138 | 111 | |
2.5% | 1.8% | |
7.3 | 6.4 | |
12 days ago | 6 days ago | |
C++ | C++ | |
BSD 3-clause "New" or "Revised" License | Apache License 2.0 |
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.
flutter-embedded-linux
-
Native Swift BasicMessageChannel
You can just write a swift wrapper over FlutterDesktopMessenger but you'll also need to write message codec implementation in swift.
-
My Return to Desktop Applications
I'm curious which operating systems people are still waiting for. We have delivered Windows, macOS and Linux on stable as of Flutter 3. We don't have plans to add more, but people in the community are working on things like embedded Linux: https://github.com/sony/flutter-embedded-linux
Disclosure: I'm a Developer Relations Engineer for Flutter
-
Qt Creator 7 Released
Oh that sucks. Yeah Qt has gotten really aggressive with their licensing headaches. They broke so many of our CI scripts when they made it mandatory for you to log in to use their Qt installer even for online version.
And yep. Relying on just Google can be a death sentence. I was hoping to use Android things for a quick demo last month only to find out that it is discontinued. What made me look at flutter was because companies like Sony are driving forward it's development on embedded space ( https://github.com/sony/flutter-embedded-linux ). Tbh I am still looking for something that was as nice as QtQuick on embedded devices, but with a permissive license.
So other than electron, what options do you see moving forward? All i see is slint ( https://github.com/slint-ui/slint/ ).
-
Coinbase’s successful transition to React Native
In no particular order:
- The type system was essentially like java but perhaps even worse -- in a world with Rust, Haskell, Julia, Kotlin, Scala, and even Golang this seemed egregious. No algebraic data types, inheritance, nullable values, lack of errors-as-values approach. I know they worked hard on the language, but it's like they ignored all the progress in PL over the last like decade+.
- JSON serialization/deserialization[1] was like the worst parts of Go and the worst parts of Java (again this has to
- SQLite driver[0] couldn't be used off device. I found this out while trying to write tests that ran off-device. Now there's sqlite3[1] so maybe it's no longer an issue
- Dart2 was a played down rewrite of Dart1, with JS interop removed. Typescript is a better language than Dart.
- BloC is overcomplicated and was rolled out poorly at the time (this has more to do with Flutter than Dart). The state management patterns felt like unbaked react (flux pattern) v1.
All this said, Dart will probably be around for a very long time. Fuschia makes a LOT of sense for Google to continue pursuing, which uses Flutter. Dart could be worse, and I think it's good enough for a bunch of usecases. If it were me, I wouldn't even choose it over Nativescript.
The Boring Flutter Development Show[3] was/is fantastic, I watched it religiously when I was learning and trying out Flutter -- having a big backer like google means there are always going to be dedicated resources and smart people behind Flutter which honestly probably matters more in the long run than Dart being a shit language. As Golang has shown us, you can just iterate to having a good language.
Seeing Sony embrace flutter for embedded things is pretty big as well[4]. Sony has a surprisingly strong track record of making technologically competent products:
- PS Vita (generally regarded as ahead of it's time)
- Sony SmartWatch 1 & 2 (I owned both, they were ahead of their time, and were very good quality, easily hackable)
- Sony XPeria phones & tablets (embraced open source and easy bootloader unlock, I own a tablet that I'm extremely happy with)
[0]: https://pub.dev/packages/sqflite
[1]: https://pub.dev/packages/json_serializable
[2]: https://pub.dev/packages/sqlite3
[3]: https://www.youtube.com/watch?v=qXAUNLWdTcw&list=PLjxrf2q8ro...
[4]: https://github.com/sony/flutter-embedded-linux
couchbase-lite-C
-
My Return to Desktop Applications
> But what’s also important is decoupling the mechanism of distributing or syncing the data (for access from different locations/clients) from actually working with the data. Basically, this is the separation between file system and application.
Is there any good FOSS middleware to handle this? CoreData (based on sqlite) can sync data to an iCloud CloudKit container[1]. Firebase can do this[2]. And Couchbase-lite-C can do it with JSON documents[3].
Couchbase is the only system I know of that does this transparently and is open source across the board. But for some reason no one seems to be using it.
[1] https://developer.apple.com/documentation/coredata
[2] https://en.wikipedia.org/wiki/Firebase
[3] https://github.com/couchbase/couchbase-lite-C
What are some alternatives?
react-native - A framework for building native applications using React
tauri - Build smaller, faster, and more secure desktop applications with a web frontend.
flutter-elinux - Flutter tools for embedded Linux (eLinux)
ui-mock
fastotv_pl - IPTV/OTT Solution
cargo-bundle - Wrap rust executables in OS-specific app bundles
flutter_native_opencv - Using OpenCV natively in C++ in a Flutter app with Dart FFI
neovide - No Nonsense Neovim Client in Rust
flutter_everywhere - Template Flutter Project for iOS, Android, Fuschica, MacOS, Windows, Linux, Web, Command Line, Chrome Extension
couchbase-lite-core - Cross-platform C++ core library for Couchbase Lite
wide-integer - Wide-Integer implements a generic C++ template for uint128_t, uint256_t, uint512_t, uint1024_t, etc.
TiddlyWiki - A self-contained JavaScript wiki for the browser, Node.js, AWS Lambda etc.