I'm building some personal projects and I need a website and mobile apps.

If I didn't thought that PWA will replace native apps, I would definitely learn Dart because of Flutter. Or if Flutter/dart would have first citizen support for exporting the projects as a web app I would totally let go of JS/CSS ecosystem.

It's worth mentioning that Dart can be used to build PWAs. Heres their HackerNews implementation as a PWA. Dart 2.0 brought massive improvements on the tooling for client-side development. I built a memory game using these tools and here's the source. Perhaps in a future post I will cover this in detail.

I would also suggest looking into the BLoC pattern by the Dart team if you need to be able to share code between a web app and mobile.

I saw those methods, but they are not viable from my point of view, is just a way to share some business logic and maybe models, you still need to recreate the views, double the work, you still have to fix CSS issues and browser inconsistencies, and so on. On top of it you have to learn an enterprise-level framework (angular) and flutter.

For me is just a hack. I'm waiting for the day when I can export the same project in android, iOS and web, until then, PWA is the fastest way to 3 markets, with limited development resources.

I only mentioned the BLoC pattern for sharing code between web app and a native mobile application. I understand now that it may not be relevant to your use case since the PWA utilises the mobile browser. There are other frameworks options like OverReact and wui_builder if you'd rather not use Angular.