I will admit I am very biased as a contributor to Thunder. I’m not an expert on all clients but Thunder has some super cool features.
- Really good markdown rendering (I’ve seen it render things that the other “big” apps miss.
- The agility to post and (soon) comment as any of your logged-in accounts.
- Notifications for inbox messages, soon to be integrated with UnifiedPush.
- Really good Lemmy link parsing and in-app navigation.
- Ability to favorite communities.
- Customizable swipe gestures, username and community name formatting and coloring, action colors, etc.
And these are just some of the recent things on the top of my head! I’m sure others can chime in with things I missed!
As one of the Thunder devs, I can say there are markdown libraries. Thunder is written in Dart/Flutter and there is a great library that we use.
https://pub.dev/packages/flutter_markdown
That said, and as others have mentioned, markdown is not as well standardized and it seems like just about every site renders it differently, so there are a lot of edge cases to handle. Lemmy also has several unique implementations of things, such as spoilers, superscript/subscript, and the ability to tag users/communities without a hyperlink.
In fact, one of the things Thunder failed on (table alignment) is a known bug in the markdown library we use. :-)
https://github.com/flutter/flutter/issues/109487