ton-community/wallet-contest

Preferred tech stack for iOS app Build-System and UI

Sina-KH opened this issue · 2 comments

Hi.
I've been reviewing the source code of both Toncoin Wallet App and Telegram iOS App.
I couldn't decide on what tech stack I should use for build-system and UI implementation, as we have two good options for each one; so I'm here to kindly ask yourself for help.

The Bazel build system is now being used to manage and compile the source code and dependencies, I'm just confused to decide, what build system if preferred for you? I can manage the code and dependencies by chunking them into Modular Xcode projects in a workspace, and also It's possible to do the same as you did before using Bazel.
Maybe Bazel is better in long-term, but also makes the project harder and more time-consuming to setup and upgrade. (By upgrade, I mean updating Xcode/Bazel. Like what we have to do now, that takes some effort to upgrade)
Also Modular Xcode projects, are easier to setup and maintain by many developers, but can be slower and have some issues in long-term and CI/CD, later.
So, which one is preferred for the contest? :)

For UI implementation, We can use Texture library as it's used in current version (I think it's a copy of the awesome Telegram UI-Components, but many of the code is not being used, btw) and on the other hand, we have good-old UIKit (Maybe UIKit+nib files or UIKit with programmatically created views?)
Texture is great, but It has many open issues on GitHub, and the Telegram implementation is also fully customized and I couldn't find a (clear/easy to go) documentation for that. So using it may be better on long-term, but it's like Bazel, needs much effort, and maybe we can just have 60fpm performance and easy to develop/maintain code using UIKit+nib files also.
Which UI implementation strategy is preferred for contest? Texture or UIKit? Are nibs acceptable?

If I know the answers, maybe I can do my best in the competition.
Thanks for your help.

Hi!

We don't have any preferences on build system, so its up to you.
On UI side i guess best option will be to stick with UIKit/SwiftUI
Texture is useful for complex UIs with large lists, i guess wallet is not the case

Thanks for your response. It's great.