sentry-native
sentry-dart
sentry-native | sentry-dart | |
---|---|---|
2 | 2 | |
374 | 723 | |
2.9% | 1.4% | |
8.1 | 9.5 | |
2 days ago | 5 days ago | |
C | Dart | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
sentry-native
-
Luau Goes Open-Source
I understand what C bindings means - hence my comment about the lowest common denominator. I'm not deeply familiar with the Lua api so I don't feel comfortable commenting on it, but the sentry C api is a prime example. Yes you can use this API from many different languages, including C++, but you end up writing code like this. You almost always lose type safety, RAII, and introduce error prone, verbose code, such as: sentry_value_t debug_crumb = sentry_value_new_breadcrumb("http", "debug crumb"); sentry_value_set_by_key( debug_crumb, "category", sentry_value_new_string("example!")); sentry_value_set_by_key( debug_crumb, "depth", sentry_value_new_int32(11)); sentry_value_set_by_key( debug_crumb, "level", sentry_value_new_string("debug")); sentry_add_breadcrumb(debug_crumb);
-
Goodbye C++, Hello C
> Put another way, I'd rather fix relatively simple C (which also tends to be simpler code in general) than the monsters created by "modern C++" because they thought the "added safety" would mean they could go crazy with the complexity without adding bugs.
It's completely possible to write C++ code without it being a mess of a template mostrosity and massively overloaded function names. People who write C++ like that would write C filled with macros, void pointers and all the other footguns that C encourages you to use instead.
I've been working with the sentry-native SDK recently [0] which is a C api. It's full of macros, unclear ownership of pointers (in their callback, _you_ must manually free the random pointer, using the right free method for their type, which isn't type checked), custom functions for working with their types (sentry_free, sentry_free_envelope), opaque data types (everythign is a sentry_value_t created by a custom function - to access the data you have to call the right function not just access the member, and this is a runtime check).
Compare [1] (their C api example)
[0] https://github.com/getsentry/sentry-native
sentry-dart
-
What Are My Options for Cross-Platform (Mobile & Desktop) Crash Logging?
The issue in Sentry has been resolved: https://github.com/getsentry/sentry-dart/issues/590
-
Four Metrics Every Mobile Developer Should Care About
To learn more, check out our docs for Apple, Android, and React-Native and give automatic performance instrumentation on mobile a try. Watch out for beta releases of the Flutter GitHub repo. We have plans to add these features to Flutter soon.
What are some alternatives?
breakpad - Mirror of Google Breakpad project
dio - A powerful HTTP package for Dart/Flutter, which supports Global settings, Interceptors, FormData, Aborting and canceling a request, Files uploading and downloading, Requests timeout, Custom adapters, etc. [Moved to: https://github.com/cfug/dio]
GSL - Guidelines Support Library
dio - A powerful HTTP client for Dart and Flutter, which supports global settings, Interceptors, FormData, aborting and canceling a request, files uploading and downloading, requests timeout, custom adapters, etc.
cJSON - Ultralightweight JSON parser in ANSI C
plugins - Plugins for Flutter maintained by the Flutter team
score-simple-api-2
talker - ☎️ Advanced error handler and logger for dart and flutter apps
tl - The compiler for Teal, a typed dialect of Lua
flutter_architecture_samples - TodoMVC for Flutter
CppCoreGuidelines - The C++ Core Guidelines are a set of tried-and-true guidelines, rules, and best practices about coding in C++
spotter - 🔭 Productivity tool to launch everything