this post was submitted on 03 Dec 2024
20 points (95.5% liked)
Arctic
443 readers
1 users here now
Arctic is a Lemmy client for iOS built on pure Swift. It currently supports iOS 15+ and Lemmy v0.17+
Get the latest version on TestFlight, or check it out on the AppStore.
If you would like to support Arctic’s development, feel free to Buy Me A Coffee
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Open source is absolutely in the roadmap for Arctic.
Arctic is 100% free and always will be, there are no paid or premium features. In app purchases are solely for the purpose of supporting development, and ongoing server costs for push notifications.
Why is Arctic closed source? Well, Arctic started out as a small personal project for myself. I did not have any idea the project would grow so big. I did not choose the best architecture for the project (MVC) and over time its become a bit unruly. I do not want to open source the project in its current state. I’m working on migrating to MVVM which will vastly improve readability, and overall code quality.
I’ve also been working on modularizing a lot of the larger components of Arctic into packages in an effort to clean up the core project. The project is built using UIKit instead of SwiftUI, thus the custom UI components such as the Markdown rendering system are cumbersome and complicated. Moving components such as this out of the core project into manageable dependencies is a major step towards open sourcing. Of course, all these packages will be open sourced along the way.
In the end, what I may end up doing is similar to mlem. Starting the project fresh, open source from the start, and based on a more sustainable pattern. I’ve leaned a ton while working on Arctic, and I have a much more concise view of the end product I want to build now. I think this would actually be an easier feat than refactoring the entire project. All that has been stopping me from doing so, is it would force Arctic to take several steps backwards in order to move forward.
Anyway, yes I am working to open source Arctic, and I am very excited to do so. I’m still working out the details on how I want to achieve this step.
I’m really glad to hear that. Thank you! This is definitely the best Lemmy app on iOS even with the architecture mistake you mentioned.
I’d also recommend looking into the FRP paradigm for the front end with a purely Functional back end. Even though swift doesn’t have currying anymore, you may be able to REALLY elegantly architect it using that style.
Anyway, when you do, LMK. I’d LOVE to help.