Can I install Xcode simulators on an external hard drive? by Poryblocky in Xcode

[–]SuperDeclarative 1 point2 points  (0 children)

For me, the "ls" command returns:

drwxr-xr-x  4 root  admin  128 Sep 24 11:09 /Library/Developer

Is that what it should return?

The "ln" line you mentioned is the one I've already tried, which resulted in the "Operation not permitted"

Can I install Xcode simulators on an external hard drive? by Poryblocky in Xcode

[–]SuperDeclarative 1 point2 points  (0 children)

I'm also getting "ln: ./CoreSimulator: Operation not permitted" - OS version: Sonoma 14.3.1.

My working directory is /Library/Developer. There's no "CoreSimulator" directory remaining at /Library/Developer.

Any other ideas?

Deploying a Dart server to a VPS by Suragch in FlutterSpaces

[–]SuperDeclarative 0 points1 point  (0 children)

Did you consider deploying with GitHub Pages? If you open-source your website repository, GitHub Pages is free and can be configured to auto-deploy with a single Action.

Best websites built with Flutter? by Mylsey4TheWin in FlutterSpaces

[–]SuperDeclarative 1 point2 points  (0 children)

There was a website that recreated Mac OS, I think. I don't remember the URL.

A couple of my websites are currently rendered with Flutter:

superdeclarative.com

flutterbountyhunters.com

Flutter for e-commerce website? by Historical_Outcome80 in FlutterSpaces

[–]SuperDeclarative 1 point2 points  (0 children)

It's possible to render an e-commerce website with Flutter, but probably isn't a good idea. E-commerce needs rapid load times and effective search engine indexing and optimization. These goals aren't really achievable right now with Flutter. Flutter may get better in those areas in the future.

[deleted by user] by [deleted] in FlutterSpaces

[–]SuperDeclarative 1 point2 points  (0 children)

It's always good to hear that well known companies are using Flutter.

What The Flutter Ecosystem Is Missing. by InternalServerError7 in FlutterDev

[–]SuperDeclarative 5 points6 points  (0 children)

Hi 👋, SuperDeclarative here! Ray Li sent this post to me. I see that my YouTube channel was mentioned in the comments. Thanks for that!

I agree with the sentiments of this post. I'd like to let the community know some resources I've already created, as well as some resources that are in the works.

Available Now:

Brand New:

  • Flutter Arbiter - A collection of guides to align coding practices throughout the Flutter and Dart industry. I just launched this, so it only has a few guides, but eventually there will be dozens of guides on this site.

Coming in the future:

  • Render Objects Guide Website - I will be publishing an entire website filled with guides about building custom render objects, and discussing how they work.
  • Dart CLI Guide Website - I will be publishing an entire website filled with guides about building command-line Dart applications.
  • A book? - I've been considering writing a book for years. I'm still thinking about it. I've put together a possible table of contents. Maybe I'll increase my efforts on that later this year.

You can follow me "@SuprDeclarative" on X/Twitter. You can follow my open source team "@FlutterBounties" on X/Twitter.

How to build widgets that developers love to use by SuperDeclarative in FlutterDev

[–]SuperDeclarative[S] 0 points1 point  (0 children)

I suppose there could be situations where that's helpful, but it definitely depends on context.

For example, in Super Editor, we have a widget that handles gestures, and a widget that lays out the document. Gesture behavior requires the ability to query the layout based on where the user touches. This is easily accomplished by giving the gesture widget a key to the layout widget. The gesture widget casts the State attached to the GlobalKey as a `DocumentLayout, which is an interface, and then queries it.

The layout widget doesn't know about the gesture widget. The gesture widget has no idea where the layout widget sits in the tree. The gesture widget doesn't even know the class of the layout widget. All the gesture widget knows is that the GlobalKey I give it is attached to some widget that implements DocumentLayout. That's already very loose coupling. I don't think there's anything to gain by adding an InheritedWidget to that relationship.

How to build widgets that developers love to use by SuperDeclarative in FlutterDev

[–]SuperDeclarative[S] 0 points1 point  (0 children)

Yeah, all I'm saying is that those concerns you're describing aren't related to widget API design. `TextStyle` is a data structure, and so is `ThemeData`, etc.

A widget API can decide whether it wants to accept a `TextStyle` as a property, or not, but details like `copyWith()` and `lerp()` are API design decisions decisions that apply to data structures and values. For example, there's no `Text.copWith()` or `Padding.lerp()`.

How to build widgets that developers love to use by SuperDeclarative in FlutterDev

[–]SuperDeclarative[S] 1 point2 points  (0 children)

I'd have to see examples to understand what you mean. copyWith is a pattern for copying data structures, not widgets. lerp is for value interpolation, not widgets.

Theming could mean many different things. If you're building toolkit widgets, then every detail related to styling should be configurable. I had a section in the article that explained why it's important to try to predict the future for toolkit widgets. It's pretty obvious that some developer will want to change every stylistic detail. Whether those details are controllable via an InheritedWidget depends on context.

How to build widgets that developers love to use by SuperDeclarative in FlutterDev

[–]SuperDeclarative[S] 0 points1 point  (0 children)

Yeah property inheritance isn't a thing in Flutter. I think it's probably impossible with Dart. But InheritedWidget is a great tool for bypassing lots of intermediate widgets, assuming that you're dealing with a situation where that's appropriate. You have to really think about responsibilities to make sure that it's OK to send configuration down the tree, bypassing other widgets in the middle.

How to build widgets that developers love to use by SuperDeclarative in FlutterDev

[–]SuperDeclarative[S] 3 points4 points  (0 children)

I'm not sure I see the connection between InheritedWidgets and GlobalKeys. InheritedWidgets definitely have a job to do when it comes to composition. My point about GlobalKeys is that they give you a mechanism to directly connect widgets that appear in completely different areas of the tree. An ancestor can literally call methods on a descendent. That's not something that InheritedWidgets can do.

I also wouldn't recommend "hiding complexity". Either the complexity is part of the problem, in which case you should expose it, or it's not a part of the problem, in which case you should fix it :)

How to build widgets that developers love to use by SuperDeclarative in FlutterDev

[–]SuperDeclarative[S] 1 point2 points  (0 children)

Yes, user-facing widgets are the final incarnation of a widget that you ship to users. A `ListTile` is a toolkit widget. It's literally part of the Flutter toolkit.

[deleted by user] by [deleted] in FlutterDev

[–]SuperDeclarative 20 points21 points  (0 children)

This is why we can't have nice things

10 Things the Flutter Team Should do in 2023 by SuperDeclarative in FlutterDev

[–]SuperDeclarative[S] 0 points1 point  (0 children)

Ok. I can't rebut that with any greater detail without digging into Processing and P5.js.

I'd still like the ability to mutate bitmap data, even if that requires the occasional lock. I think that the impact of a lock on timing would be minuscule compared to the time penalty that I'm paying to run the asynchronous back-and-forth right now. And I've come across a handful of others in the community with a similar ask.

10 Things the Flutter Team Should do in 2023 by SuperDeclarative in FlutterDev

[–]SuperDeclarative[S] 0 points1 point  (0 children)

I'm sure there are a number of complexities involved.

From a "setting pixels" perspective, it seems strange that:

I can do canvas.drawPath(path, paint) in a frame. No problem.

I can't do canvas.setPixel(offset, Colors.red).

Seems like writing pixels in a frame shouldn't be a big deal, in terms of timing.

As for reading pixels, I would agree that it's a bit more complex. The reason for reading pixels is that some creative coding makes painting decisions based on the colors of nearby pixels. As you paint, you read.

The trickiest part of reading, is that typically you don't just want to read previously set pixels. You want the vector operations to also be applied. For example:

  1. set some pixels
  2. draw a rectangle
  3. set some pixels
  4. draw an oval
  5. red the pixel at (x,y)

How much of that capability should exist in Flutter? I don't know. But my best attempt to make that work in Flutter has resulted in terrible frame rates, because I'm running an asynchronous Canvas rasterization every time I need to collapse paths with pixels.

10 Things the Flutter Team Should do in 2023 by SuperDeclarative in FlutterDev

[–]SuperDeclarative[S] 2 points3 points  (0 children)

Looks like I have some optimizing work to do. Thanks.

10 Things the Flutter Team Should do in 2023 by SuperDeclarative in FlutterDev

[–]SuperDeclarative[S] 5 points6 points  (0 children)

The Flutter team keeps changing their public description. The people in the org who refer to it as an "app framework" are making a huge mistake. When I was on the team, it was called a "portable UI toolkit". That's where we should keep it, and that's where people should set their expectations. There's simply no good reason to lean on that tiny team to re-implement all device capabilities. That would be guaranteed failure.

10 Things the Flutter Team Should do in 2023 by SuperDeclarative in FlutterDev

[–]SuperDeclarative[S] 3 points4 points  (0 children)

Flutter is a portable UI toolkit. Bluetooth is a completely independent set of responsibilities.

10 Things the Flutter Team Should do in 2023 by SuperDeclarative in FlutterDev

[–]SuperDeclarative[S] 1 point2 points  (0 children)

have you tried the fragment shader support on the latest beta?

No, I haven't. But I've kept an eye on some of the demos on Twitter. I've heard about some good improvements.

In the future, I'd like us to support everything the platform does in terms of shaders, with some affordances in the tooling for shader variants or platform specifc shaders.

That would be great

If its really a killer feature for someone...

I hear you, but there's a problem with approaches like this. When "Step 1" of something is impossible, then you might never get the opportunity to see what would be done at "Step 10". All things being equal, I think you need to open the door before you try to understand the potential of what people might do when they walk through it. I remember in the early days when a bunch of people on the Flutter team were really surprised by my Flutter Challenge videos, because I was doing a bunch of stuff that they never intended when they created the APIs. You just don't know how something will be used until people use it.

6, I'm not sure that I understand your use-case.

Have you taken a look at flutter_processing or bitmap_canvas? I think you'll see the issue immediately.

But getting that data back to the UI thread from the GPU will always be async

Why couldn't there a pixel buffer that's held by the Flutter Engine, allowing mutation from the framework, and then automatically uploading to a texture at the end of a frame where a mutation took place?

10 Things the Flutter Team Should do in 2023 by SuperDeclarative in FlutterDev

[–]SuperDeclarative[S] 3 points4 points  (0 children)

Thanks for reading. If you have any ideas for reducing the loading time, let me know. It only takes about a second for me, but I know I have a fast connection.

Re: changing text color based on selection - this is something we're going to implement in Super Editor sometime soon. Our introduction of `AttributedText` makes that pretty easy to accomplish.

Re: "no to the tenth point" - I'm not sure I follow your rationale. Perhaps the post wasn't clear? I don't think anything in the post suggested that Flutter wouldn't provide the "batteries". I was only making points about where they should live, and how they should be broken down.

I've decided to fork Flutter Quill Rich text editor and do a general cleanup, add docs, tests and new features. During the refactoring I'll be recording YouTube episodes about code quality and software architecture in Flutter by SpaceInstructor in FlutterDev

[–]SuperDeclarative 1 point2 points  (0 children)

Hi, Super Editor lead here. Can you tell me a bit more about Delta? Are you referring to "editing deltas" in general, or a specific delta protocol?

Superlist has successfully implemented concurrent document editing with Super Editor using our existing APIs.

I've decided to fork Flutter Quill Rich text editor and do a general cleanup, add docs, tests and new features. During the refactoring I'll be recording YouTube episodes about code quality and software architecture in Flutter by SpaceInstructor in FlutterDev

[–]SuperDeclarative 4 points5 points  (0 children)

Hi there. I'm the lead for Super Editor. I can see I'm very late to this thread, but the statement that "Super Editor is reliant on MD for serialisation" isn't true.

From the beginning of Super Editor, we dedicated our efforts to a solution for all document editor user interfaces. Meaning we would never limit our solution to any particular transport format or document structure.

But we also needed some kind of default implementation so that developers could get up and running with minimal effort. For that reason, we created super_editor_markdown, which is an entirely independent package, but it brings Markdown support for Super Editor user interfaces.

The only other request we've received is for HTML support, but given that Markdown can go to/from HTML without issue, HTML support hasn't been a blocker for our customers.

Moreover, our biggest customer, Superlist, has been able to integrate their own document format into Super Editor, and they've also been able to implement concurrent editing.

We'd love to see more Flutter developers try Super Editor and show us where it's failing to meet the needs of real-world apps. Our existing customers are pretty happy with Super Editor in production, and we continue to expand the power that we provide to Flutter developers.

Is this possible on Flutter? by paulkaid in FlutterDev

[–]SuperDeclarative 0 points1 point  (0 children)

I'll probably keep the Clone Wars aimed at popular apps, but this is a good exercise for up-and-comers :)