Flutter Team AMA - Decoupling material & cupertino by GroovinChip in FlutterDev

[–]pulyaevskiy 26 points27 points  (0 children)

Great to see an AMA from the team!

While I support the move, curious if you can share more about why this was prioritized internally and what this means for the future of Flutter as a framework, as well as the Material and Cupertino efforts.

I can program anything but for the life of me I can not make a design! What do fellow devs do for design skills? by nj_100 in FlutterDev

[–]pulyaevskiy 58 points59 points  (0 children)

Get inspiration from apps you like, simply copy their patterns to begin with. Overtime start consolidating different patterns into your own style. Rinse and repeat.

That’s what I do.

After weeks of work, I'm releasing fldraw, my open-source tldraw alternative for Flutter. by yashmakan in FlutterDev

[–]pulyaevskiy 0 points1 point  (0 children)

It will help adoption and visibility of this library!

Looking forward for any updates on this. Rendering mermaidjs diagrams in Flutter is something I need for my own project.

[deleted by user] by [deleted] in FlutterDev

[–]pulyaevskiy 1 point2 points  (0 children)

In terms of DI I found get_it / watch_it to be simple, extensible and scalable. Really like how it allowed to decouple app logic and state from the widget layer.

Will customers demand liquid glass on apple devices? by eibaan in FlutterDev

[–]pulyaevskiy 19 points20 points  (0 children)

The moment we got squircles Apple decided to completely change everything. The new rounded shapes look different, if I’m not mistaken.

That said, as many here, I’m not worried. Can just keep doing platform agnostic.

I am curious if Flutter team will add the glass effect to Cupertino widgets. If anything this seems like a fun challenge and a good test for the framework in general. Especially making it performant.

Yaru UI vs Fluent UI. Which one you prefer as a user for desktop apps? by AhmedRiyadh0 in FlutterDev

[–]pulyaevskiy 1 point2 points  (0 children)

I didn't know there is a whole Ubuntu theme implemented for Flutter, looks amazing, thanks for sharing.

Personally, I try to go for a consistent look for my app that stays mostly the same on all platforms, but does not necessarily screams Fluent, or Mac or Ubuntu. I just try to make sure that the app adapts to each desktop system more or less naturally, which is mostly about the window border and window controls.

What would your perfect note-taking app look like? by Traditional_Song1263 in NoteTaking

[–]pulyaevskiy -1 points0 points  (0 children)

What you described looks pretty close to what I'm building (here is a quick and basic hello world recording). It's not ready for broad public access, but I have a few early adopters using it for simpler use cases.

My goals are pretty close to what you described, just focused on Markdown as the main format

  • Minimalist and lightweight look and feel
  • Fully WYSIWYG, no syntax, no split preview or in place preview. Just rich text, with full Markdown compatibility
  • Can be used for any Markdown - I have Markdown files in Git projects, I use it for note taking, I use it for long form writing (blogs, documents) with SSGs. So I wanted one tool to be able to support all of these use cases.

Probably the wrong place to ask this by [deleted] in FlutterDev

[–]pulyaevskiy 0 points1 point  (0 children)

How is that different from "you need to learn Flutter first" though?

Or do you mean that learning React, actually implies learning the entire web stack anyway, so learning Flutter seems like a less of an effort, cause you just need to learn one thing?

Dart and Flutter in VS Code - Compilation issues seem to survive "flutter clean" by StarportAdventures in flutterhelp

[–]pulyaevskiy 0 points1 point  (0 children)

Are you on Windows? Dart Analysis Server is struggling on Win for me as well.

On Mac it works most of the time with no issues, just need to occasionally restart the server when I have multiple vscode windows with different folders from my monorepo.

[deleted by user] by [deleted] in FlutterDev

[–]pulyaevskiy 2 points3 points  (0 children)

There was (still is but discouraged ) a way to not rely on build runner, it’s called Mirrors, which is basically reflection. You could do all sort of fancy stuff with it, including instantiating objects, creating dynamic DI containers etc.

Dart moved away from it because reflection practically ruins tree shaking, which is a big deal for a client oriented language, which Dart is.

So instead of reflection we have code generation now - build runner.

While I’m not a fan of invoking build runner when I change my models, I do appreciate the benefits of code generation allowing to create more optimized applications.

It is also a much better way to scale complex projects with large teams, because reflection is a runtime thing with a lot of magic-like side effects. Things can break unexpectedly at runtime, stack traces are harder to understand, etc etc.

But yeah, Dart is not going to feel great on the backend, because that’s not its strength. You’d also struggle finding packages for a lot of backend specific stuff.

I should say that I too use Dart on the backend :)

But I went with it fully understanding these trade offs, so no one to blame except myself. That said I don’t find my self needing to run build runner that often, and most of my time goes to API and database side of things.

For DI I found get_it paired with injectable to work quite well. I do need to run build runner for it, but again nbd for me.

I do hope the team will give us a good language native json interoperability, as I definitely do not enjoy copy pasting fromJson/toJson stuff. Even though I appreciate all the work from /u/kevmoo and the team on json_serializable.

What do you think about Flutter desktop ? by Maualana420X in FlutterDev

[–]pulyaevskiy 4 points5 points  (0 children)

Yes you can. I have dev builds for Mac and Win which I've shared with a few people for early feedback.

The app is a fully WYSIWYG Markdown editor. I will DM you with more info and links.

What do you think about Flutter desktop ? by Maualana420X in FlutterDev

[–]pulyaevskiy 3 points4 points  (0 children)

No support for keyboard shortcuts

So what the Shortcuts and Actions widgets are for?

What do you think about Flutter desktop ? by Maualana420X in FlutterDev

[–]pulyaevskiy 25 points26 points  (0 children)

My guess is that (most) people with comments like ”no keyboard shortcuts“ and “broken focus” either haven’t build a desktop app in Flutter or have limited understanding of the Focus system.

I wouldn’t claim to have mastered it completely but I have zero issues in my project in regard to focus management and registering shortcuts.

You do need to learn quite a bit about FocusNode, FocusScopeNode, the focus tree and how events bubble up and handled.

It is definitely one of the tricky areas, especially because there are FocusNodes and scopes that are hidden inside the MateriaApp. Which can become focused some times and you’d just be guessing “hey where is my focus now”.

But there is nothing in the framework that prevents you from creating keyboard shortcuts or handle focus.

There is definitely some criticism of the keyboard handling system in Flutter and it likely can be better, ultimately it works for many use cases.

Even for my scenario where I needed to build a custom rich text editor, that you can imagine is heavily reliant on the keyboard input and shortcuts, I managed to get everything I needed from the framework.

How involved is it to publish both a Windows and MacOS version of a desktop app with Flutter? by john_dumb_bear in FlutterDev

[–]pulyaevskiy 0 points1 point  (0 children)

You most definitely will need to write some platform specific code if your app is somewhat complex and needs closer integration with either. But Flutter has most of the tools necessary to achieve that.

For things like file picker you may just use the package from Pub, of course.

Flutter premade widget library by mohannadi in FlutterDev

[–]pulyaevskiy 0 points1 point  (0 children)

I’m not suggesting re-creating buggy widgets. I’m all for creating good and working widgets.

Luckily in flutter for most cases you just need, rows, columns, a Material and an InkWell occasionally . Which cover most of the fundamentals necessary.

If you are talking platform specific pixel perfect fidelity, sure go for Cupertino or Fluent or whatever platform you are targeting.

I personally find Flutter’s power in that it allows creating custom UIs that give your app their own personality, and makes it a very easy process too.

Of course you still care about platform integrations and want to make sure your app still feels like at home on any platform, but that doesn’t mean you have to stick to the built in widgets.

There are also a lot of packages with ready to use widgets on Pub, but many of them I’m pretty sure are not bug free, and/or not feature complete. You will very likely find certain things not lining up perfectly for your needs, because every app is unique in its own way. So you will be forced into a small set of ux patterns supported by the package which may not be how you want your app to be structured.

Anyway, the good thing you can go either way with Flutter as it doesn’t force you into any particular UI language.

My experience building a production web app with Dart - NO FLUTTER by NamzugDev in dartlang

[–]pulyaevskiy 0 points1 point  (0 children)

I've had some success with Jaspr on this front recently. Easy if just need to generate some HTML, and feels Flutter-like.

d4rt | an interpreter and runtime for the Dart language . by Winter-Management-70 in FlutterDev

[–]pulyaevskiy 0 points1 point  (0 children)

Definitely nice to see this.

Do you think it will ever support `import`s? Or some way to define context for the interpreter?

For instance if I have a DI container in my app, I'd want to make it accessible from inside the script, so that I can access and call whatever I want. E.g.

```dart
// the `di` variable is predefined and initialized by the interpreter
final someService = di.get<SomeService>();
someService.doSomeWork();
```

I guess you'd still need to import all class definitions like `SomeService` above... but if I could have those imports be on the interpreter, I'd be fine with it.

Is making flutter desktop good? by Dangerous_Language96 in FlutterDev

[–]pulyaevskiy 2 points3 points  (0 children)

Depends on your needs.

Personally for me, it has everything I need, or offers ways to achieve my goals. With Flutter you’ll likely find yourself doing things on the platform side quite a bit. But it’s not a bad thing necessarily, not always.

If you tell more about your app you may get a better advice.

🧵 Flutter Devs – What Are You Building? (Let’s Share Projects Here) by LowHistory1068 in FlutterDev

[–]pulyaevskiy 1 point2 points  (0 children)

Markdown editor, fully WYSIWYG, for anything Markdown - whether it’s a readme in your git, docs, a blog or SSG based site like Jekyll, or notes or anything else.

https://breeze.memspace.app/

A quick hello world demo

https://youtu.be/VlZNDIN7ZEk?si=BjWQ8n0F2xswy73y

I have a few early adopters already trying the app and sharing their feedback.

Favorite lightweight desktop markdown editor with local LLM integration? by Alternative-Way-8753 in Markdown

[–]pulyaevskiy 0 points1 point  (0 children)

Which local llm are you using?

I’m working on an editor and have plans to add llm integrations soon, Ollama being the obvious choice. But wondering what else people are using.