TCA showcase #1145
Replies: 38 comments 15 replies
|
here is my own two app you can |
|
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 |
|
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. |
|
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). |
|
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. |
|
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! |
|
I’ve used TCA for a bunch of different apps. My latest one is called Effekt, built on TCA + UIKit + Metal: |
|
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. |
|
We are using TCA @ Exer Labs- its the basis of our 2.0 Gait Application. |
|
My budgeting app, Money Flow, was re-written from MVVM to TCA for iOS 15 - https://www.moneyflow.app |
|
Our app PDB is building entirely on TCA + UIKit. |
|
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. |
|
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. |
|
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 ! 💚 |
|
Currency exchange app written in TCA. https://github.com/akashsoni01/currency_exchange_app |
|
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 |
|
Hi, |
|
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 :) |
|
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 😏 |
|
geoguessr - for old photos in tca |
|
An Audio Player in TCA |
|
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 |
|
https://github.com/github/CopilotForXcode is using TCA, it's a very well written extension btw! |
|
Here is one more: https://github.com/Saik0s/Whisperboard 😊 |
|
Caliverse - calisthenics and bodyweight fitness app rewritten from Flutter to Swift + SwiftUI using TCA. |
|
I built an app that is arguably 20 years late to the market: Meet Of course built using TCA (second time of using in in an app that I actually shipped, again thoroughly enjoyed it). I have some light usage of As is typical for me being a "I enjoy the developing part, not so much the marketing part:, market research and investment into publicizing it are at a low bar 😆 I also tried my best to ship it early, so I'm not yet proud of my creation. Bugs and warts can be found! |












Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
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
All reactions