Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Road to a Swift only SDK #3780

Open
philipphofmann opened this issue Mar 21, 2024 · 0 comments
Open

Road to a Swift only SDK #3780

philipphofmann opened this issue Mar 21, 2024 · 0 comments

Comments

@philipphofmann
Copy link
Member

philipphofmann commented Mar 21, 2024

Description

With 8.21.0, we changed our SDK setup to mix Swift and ObjC code in our code base. For more details check our internal develop docs and a decision log entry.

While we don't have a major refactoring plan for converting all ObjC code to Swift, we try to convert ObjC to Swift on the go and write new code in Swift when possible. Certain features, such as SentryCrash, profiling, our swizzling code, and more, aren't easily convertible to Swift or impossible to convert. With the Swift foundation project and other projects such as Swift Vapor, it makes sense to drive our SDK towards offering a Swift-only SDK with a limited feature set. A lightweight SDK with only a client, hub, and transport to capture errors, maybe spans, and transactions could be enough. To make this happen, we could split up the SDK into a core Swift package and one to multiple other packages. The default sentry-cocoa SDK could still have the full feature set.

Another big advantage of using Swift over ObjC is that Swift is designed for safety, so it should increase the stability of the SDK in the long run.

Please upvote if you would like to have a Sentry Swift-only SDK.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Backlog
Development

No branches or pull requests

1 participant