carbonara, (edited )

In my company we use Ionic, it uses a native WebView to render websites code.

The fact I can use html/css/js to do everything I want is great. But having to rely on third-party Capacitor plugins to use native features really sucks. Ionic provides custom html components with native look, and this is great, exept for the fact it still uses MD2 for Android.

Implementing MD3 all by myself has been a painful experience, only because default components style is so baked in, that you have to use ionic custom css variable to even change the background.

Back in the days, we were just 2 developer for 2 apps and a Website, and Ionic build all 3 of them with just one codebase

LilDestructiveSheep,
@LilDestructiveSheep@lemmy.world avatar

Vue in general is the most interesting for me. Still a learner.

The way I can easily implement it like jQuery or code the whole thing for example. I like it.

nyoooom,

Been using Flutter for a while, hybrid frameworks are great for small teams, as you only have to make one app.

I think they’re good enough for most cases, just like with most tools it’s what you make out of it that will make it good or not, it’s easy to make a shitty native app.

For Flutter I would only say that it’s finally starting to be mature for stuff like navigation and state management.

Keep in mind that each solution has benefits and drawbacks, it’s all about tradeoffs.

HarryOru,

I can’t speak about Flutter or React Native, but what I can say is DON’T use Xamarin Forms/MAUI. As a native Android developer I had to start using Xamarin after changing jobs and it’s been one of the biggest regrets of my career, honestly. Literally nothing works like you would expect it to. I understand the idea of writing the same code twice is intimidating, but trust me, nothing beats native development. Nothing. Writing the same app natively for Android AND iOS may seem intimidating, but I can say with 99.9% certainty, you will regret not going with native if (or when) your app requires any vaguely complex feature to be implemented into it. Swift and Kotlin are similar enough that you can literally write the same app natively for both platforms faster than it would take you to write them in any cross platform framework (or at least Xamarin/MAUI), unless you’re making an extremely simple app with no customizations whatsoever.

anoop_V1,

I absolutely agree with this. I’ve used the former and the experience is exactly the same. Neither Flutter nor React Native support any remotely complex features from individual platforms. Breaking layouts and abysmal memory usage is a cherry on top.

mihies,

Yep, I have been using Forms for a little while (I was invited to first beta, mind you), gave up. Not worth it in longer term, probably not even in short term. I guess MAUI is more or less similar. Perhaps the working compromise is Xamarin native, where you can share code between the two platforms and write native UI and interact with native libraries. It works as long as libraries have bindings (a lot of them have, if they don't you can still create them yourself, but that's not trivial), but you still have friction and additional problems, such as handling different application lifetimes. Also tried flutter, which suffers from similar problems, though bindings are done in different way, perhaps more natural.
TL;DR; A lot has changed since I've tried crossplatform, Jetpack Compose/Kotlin and Swift/Swift UI happened. And they both have superior design time features and are great in many aspects. I'd go with native today.

smitty825,

I mostly have the same experience. I did a Xamarin.Mac app to port some windows code to the Mac. In some senses, it was amazing, because most of the business logic just worked and that saved a bunch of time. The UI was app kit, but with c# to obj-c bindings. That also mostly worked, however, when something broke, it really broke and was incredibly difficult to debug.

There are some use cases I’d recommend Xamarin for still, but the majority of cases are probably best solved by writing native code directly. (Or at least using a portable language such as C, C++ or Rust for cross platform business logic)

  • All
  • Subscribed
  • Moderated
  • Favorites
  • random
  • [email protected]
  • uselessserver093
  • Food
  • aaaaaaacccccccce
  • test
  • CafeMeta
  • testmag
  • MUD
  • RhythmGameZone
  • RSS
  • dabs
  • oklahoma
  • feritale
  • KamenRider
  • KbinCafe
  • Ask_kbincafe
  • TheResearchGuardian
  • Socialism
  • SuperSentai
  • All magazines