TCA showcase #1145
Replies: 34 comments 15 replies
-
here is my own two app you can |
Beta Was this translation helpful? Give feedback.
-
I've scanned through Github and here's a list of open sourced apps that uses TCA: Puffery App store: https://apps.apple.com/de/app/puffery/id1508776889 |
Beta Was this translation helpful? Give feedback.
-
Our App is still in the making but it's SwiftUI + TCA. https://github.com/zcash/secant-ios-wallet I've developed one of the first SwiftUI apps in the crypto space back in 2019 when SwiftUI was a mere beta. I can tell you that Vanilla Swift UI doesn't work for not even for "the Fruta App" applications. You need more tools. TCA is not a silver bullet but a very flexible tool that provides a framework that a team can use to build an application that uses unidirectional data driven flow to drive SwiftUI's DSL. My main concern when evaluating TCA for building secant, was the learning curve. If your project is a fully open, everyone can contribute freely kind of project, TCA could be either: 1) a very attractive honey pot to get developers the TCA crave they were seeking, or 2) a contributor barrier. Only time will tell, currently is a coin-toss. If your project is closed-source and 9-to-5 coding. Your team will be very happy of learning new stuff. Every new hire of the future will benefit of having a clear onboarding route already created for you by the pointfree dudes. What I can say about my experience so far: The CONs:
The PROs:
other comments: How I approached it: The way I found to approaching TCA is actually subscribing to pointfree.co content and study it. Try to rely on people that has experience on it to help your team gain traction and experience. If not, create study groups and dedicate time of your day into absorbing the content generated by the authors. You won't be able to absorbe more than 45 minutes of content a day. Since there are many concepts that are covered throughout the episodes and in the end the only way to learn them fully is to apply them. If you have an urge, try to find contractors that are very familiar with it and let them help you ease the curve. |
Beta Was this translation helpful? Give feedback.
-
We're big fans of TCA at @withprimer :) There is definitely a learning curve for new engineers, but the pros far outshine the cons:
You can download the Primer app here. We also have a second smaller app, Zines, that is also built with TCA (and free to use, so it's probably more useful to check out). |
Beta Was this translation helpful? Give feedback.
-
We're using TCA in the new how-to app for kids at The New York Times. We're loving the increased testability it affords. |
Beta Was this translation helpful? Give feedback.
-
I'm using TCA for my two apps Handla and Plantry. The latter is only partly converted thus far. The former was built from the ground up using TCA. Converting an old codebase has been pretty straightforward, started at the leaf nodes and new features. Working my way inwards. Building a new app from scratch with TCA was a total joy! Even when building with UIKit I was able to get up and running quickly because it makes mocking data and functionality so easy! Every time I work on an app that doesn't use TCA I miss it! |
Beta Was this translation helpful? Give feedback.
-
I’ve used TCA for a bunch of different apps. My latest one is called Effekt, built on TCA + UIKit + Metal: |
Beta Was this translation helpful? Give feedback.
-
The upcoming 2.0 release of my app Series is TCA + SwiftUI. It's in TestFlight now, happy to add you. I've been using TCA for just about a year now, I converted a client's app from vanilla SwiftUI and then decided to use it for my own app rewrite. Overall it's saved me way more headaches than its created. When I follow the patterns things tend to go very well. In that spirit, my 2c on making TCA more accessible is to define and document common patterns for using it. For me, the hardest part is designing for composition and composing state (sharing state, delegating effects to parent). There's so much knowledge in the Point Free videos, isowords and the case studies but it's hard to get a quick tip when you're up against a new problem. |
Beta Was this translation helpful? Give feedback.
-
We are using TCA @ Exer Labs- its the basis of our 2.0 Gait Application. |
Beta Was this translation helpful? Give feedback.
-
My budgeting app, Money Flow, was re-written from MVVM to TCA for iOS 15 - https://www.moneyflow.app |
Beta Was this translation helpful? Give feedback.
-
Our app PDB is building entirely on TCA + UIKit. |
Beta Was this translation helpful? Give feedback.
-
We just got approval for our new app that uses TCA + SwiftUI. It is really a personal data management app (starting with the Contacts domain). The user interface is completely content-agnostic and everything from the user interface perspective is a graph of propositions you can interact with based on each proposition's type. https://apps.apple.com/app/id1638189843 Manage and present your contacts with the Belua app. Features:Organise
Search
The app also features privacy built-in from the start, so you can feel confident that your information is safe. |
Beta Was this translation helpful? Give feedback.
-
The Trading.com app (https://apps.apple.com/app/id1576478434 - US only) is built entirely using TCA and UIKit. Initially it was developed using the ReactiveSwift fork of TCA as we were targeting iOS 12 as a minimum. However that changed during development and the code was re-factored to use the "real" TCA and Combine. An interesting point is that the Android version of the app was also developed using an in-house Kotlin port of TCA. It's a pretty complex app with a lot of real time information streams and continuous UI updates. If you have access to the US App Store you can try it out without having do any real trading by using a demo account with fake money. Since then I moved on to work at Argent and the iOS app is mostly TCA, although there is some older code using an in-house redux style architecture. Right now I can't imagine myself working on any iOS app not using TCA. The difference it makes is really immense. |
Beta Was this translation helpful? Give feedback.
-
I've rebuild the app I'm in charge at Ver de Terre Digital using TCA and I'm really happy with the result. The development is more flexible, I can easily add new features, tests them, create preview apps to live test them, and simulate screen state to generate my AppStore screenshots using fastlane snapshot ! I highly recommend it ! 💚 |
Beta Was this translation helpful? Give feedback.
-
Tokopedia: Indonesia Ecommerce app Really enjoy using the TCA, highly recommended! |
Beta Was this translation helpful? Give feedback.
-
I have built a music player app Music Rover with TCA. Like many music player apps, it requires complex navigation back and forth between albums, playlists, and artists, so I used TCACoordinators. I usually use Next.js and Redux for web development, and TCA + SwiftUI is great because it is easy to learn and develop in a similar way to them. One thing I could not figure out how to do is to send actions from multiple functions to a specific function. |
Beta Was this translation helpful? Give feedback.
-
We have an app that's been built with TCA, SwiftUI and MapKit since the beginning. Unfortunately it's only usable in Sweden. |
Beta Was this translation helpful? Give feedback.
-
Hello 👋 I have created a Life Progress app with help of The Composable Architecture (TCA). It uses the latest ReducerProtocol and many other cool things 🙌 Feel free to check out the repository and let me know what do you think about it 🙂 🔗 Here's the link: |
Beta Was this translation helpful? Give feedback.
-
Hi all 👋🏼 I have created a NBA teams and players list app with The Composable Architecture (TCA). 🔗 Here's the link: |
Beta Was this translation helpful? Give feedback.
-
Currency exchange app written in TCA. https://github.com/akashsoni01/currency_exchange_app |
Beta Was this translation helpful? Give feedback.
-
Hi all, I'm currently launching an engaging icebreaker game app called "Check-in Box" using TCA and currently supports Traditional Chinese only. This app sparks conversations through specific topics and fosters closer connections between you and your friends. 🧋 https://github.com/Echim2016/check-in-box-ios |
Beta Was this translation helpful? Give feedback.
-
Hi, |
Beta Was this translation helpful? Give feedback.
-
I migrated a simple app to entirely use TCA, and with strict-concurrency fully enabled too: it's a super simple app (it cleans up your photo library), but still, migrating to TCA is fun :) |
Beta Was this translation helpful? Give feedback.
-
We use TCA for the biggest & most complex parts of Butterfly iQ, which is a FDA-approved medical ultrasound that plugs into a iPhone/iPad. We rewrote our whole exam screen (the central & most complex part of our app) in TCA way back in 2020, and since then most new code is written using TCA. So: it’s not just for word games and to-do apps! 😜 I would be remiss in not mentioning that we won an Apple Design Award in 2019 😏 |
Beta Was this translation helpful? Give feedback.
-
geoguessr - for old photos in tca |
Beta Was this translation helpful? Give feedback.
-
My very first app using TCA – Bible Reader |
Beta Was this translation helpful? Give feedback.
-
An Audio Player in TCA |
Beta Was this translation helpful? Give feedback.
-
https://apps.apple.com/us/app/sprigling/id6569230006 -100% TCA uses firebase auth, Firestore, Apple Subscriptions, Swift 6 Also started a youtube channel going over the features and how I did them in TCA. - https://www.youtube.com/@ThicketStudios |
Beta Was this translation helpful? Give feedback.
-
https://github.com/github/CopilotForXcode is using TCA, it's a very well written extension btw! |
Beta Was this translation helpful? Give feedback.
-
Hello,
One of the data point we are missing during TCA evaluation is existing apps that are built with TCA so we can try them out and see their complexity and user experience. This will make us more confident about using TCA for our future and current (long term large scale) apps.
TCA Authors: Do we have such a list?
Developers: If you have built apps with TCA and can include the name and link to App Store in the discussion below that would be greatly appreciated
Thank you
Beta Was this translation helpful? Give feedback.
All reactions