kraken
language
Our great sponsors
kraken | language | |
---|---|---|
8 | 146 | |
4,913 | 2,521 | |
0.2% | 1.7% | |
0.0 | 8.9 | |
about 1 year ago | 7 days ago | |
TypeScript | TeX | |
Apache License 2.0 | GNU General Public License v3.0 or later |
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.
kraken
-
It probably has been done before. No shame on chrumium, it's good browser, but come one people, skins are not separate browsers
There's also stuff like Kraken, whatever SerenityOS is doing for its web browser and what I hope takes over very soon - Servo.
-
what do you think about alternative browser engines?
Once there was Kosmonaut and Kraken, now there is WebF (Web on Flutter).
-
Write in JavaScript, Render in Flutter
As a Flutter developer, "Write in JavaScript, Render in Flutter" is vague.
It's "Write Flutter apps in Javascript". Flutter is not a "renderer", Flutter is a framework + engine. "Kraken" literally builds widgets for you when you write Javascript code, Flutter is doing a lot more than "rendering".
"Kraken" is like React Native, but instead of talking to the host platform, it uses Flutter. Flutter is already cross platform, so the only benefit here is to write in Javascript. However, you would probably inherit some costs similar to React Native: communication between a Javascript Engine/ interpreter and a AOT compiled application. This time, you don't get to use the react-native-plugin NPM packages, because you'd need kraken-flutter-plugins.
The biggest concern I have is usability. How will I use popular Flutter packages, from Javascript? The "Kraken" community is very small. Even worse, the community seems purely based in China.
It's very difficult to understand the health of the codebase with all these github issues written in Mandarin Chinese: https://github.com/openkraken/kraken/issues?q=is%3Aissue+is%...
-
【New flutter plugin】A high-performance, web standards-compliant rendering engine based on Flutter.
Github: https://github.com/openkraken/kraken
language
-
Dart 3.1 and a retrospective on functional style programming in Dart
Current syntax is not all that bad if you are going to do OO and add various helper methods on `Message` and its subclasses, but if you just want to define your data and no behavior / helpers - then it is exceedingly verbose.
-
HTML template languages?
A future version of Dart will probably support macros which should make this all a bit easier to use, similar to how Swift 5.9 works which makes already fantastic use of its new macro capabilities by integrating mobx (or solidjs) like reactivity into SwiftUI by a harmlessly looking @Obervable annotation.
-
Build clean & concise UI components with Flutter similar to styled-components in React Native
Yes, that needs a bit of boilerplate for the constructor declaration and the extra build method, but I personally don't mind and with implicit constructors this will become much easier. Also, you get a performant UI as Flutter knows to not redraw widgets that didn't change.
-
Why is Swift so slow (timeout) in compiling this code?
I implemented a prototype version of the algorithm in that paper when exploring exhaustiveness checking for pattern matching in Dart.
I found it pretty easy to understand, but also really easy to get it to generate huge combinatorially large spaces. Some careful memoization and deduplication helped, but even so I never got the performance to a state I considered acceptable.
Instead, I went with Luc Maranget's classic approach and figured out a way to adapt it to a language with subtyping (with a ton of work from Johnni Winther to figure out all of the hard complex cases around generics):
https://github.com/dart-lang/language/blob/main/accepted/fut...
The performance (in the prototype!) was dramatically better. You can always make pattern matching go combinatorial, but I haven't seen any real-world switches get particularly slow with our approach yet, and we have some fairly large tests of matching on tuples of enums.
-
Dart 3: 100% null-safe, records, pattern matching and class modifiers
We are working on a proposal to add macros to the language for sophisticated compile-time metaprogramming. But the goal is more for larger-scale uses of metaprogramming—synthesizing entire new declarations—and not really about extending the syntax.
-
Confirmed. Dart 3 on May 10th
Looked at, never gonna happen (says https://github.com/dart-lang/language/issues/69). The language would have to have been designed for that from the beginning, and now there are too many constructs that would require too much "guessing" to get proper syntax right.
-
Compile-time Dependency Injection for Dart and Flutter
However, I'm super stoked to see the community pushing forward. I think when/if metaprogramming becomes available (https://github.com/dart-lang/language/issues/1482), similar magical experience would be possible in Dart everywhere. Consider following that issue and providing feedback. IIRC the champion of that feature (https://github.com/jakemac53) would like to make DI frameworks one of the key use-cases for the language feature, and will appreciate your thoughts on what primitives you'd need.
-
Dart 4.0 vs a new language
Dart is openly developed. If you want to know what Dart 4.0 will bring browse the Github (https://github.com/dart-lang/language).
Macros: https://github.com/dart-lang/language/issues/1482
Not sharing memory between threads was a deliberate choice and I think it saves us from a lot of bugs. Especially race conditions in multi threaded code can be a pain to debug. But more you read a long discussion here: https://github.com/dart-lang/language/issues/333
What are some alternatives?
sdk - The Dart SDK, including the VM, dart2js, core libraries, and more.
freezed - Code generation for immutable classes that has a simple syntax/API without compromising on the features.
quicktype - Generate types and converters from JSON, Schema, and GraphQL
Flutter - Flutter makes it easy and fast to build beautiful apps for mobile and beyond
gallery - Flutter Gallery was a resource to help developers evaluate and use Flutter
conduit - Dart HTTP server framework for building REST APIs. Includes PostgreSQL ORM and OAuth2 provider.
awesome-flutter - An awesome list that curates the best Flutter libraries, tools, tutorials, articles and more.
ClojureDart - Clojure dialect for Flutter and Dart
serverpod - Serverpod is a next-generation app and web server, explicitly built for the Flutter and Dart ecosystem.
riverpod - A reactive caching and data-binding framework. Riverpod makes working with asynchronous code a breeze.
jinja.dart - Jinja2 template engine port for Dart.
Ionic Framework - A powerful cross-platform UI toolkit for building native-quality iOS, Android, and Progressive Web Apps with HTML, CSS, and JavaScript.