tqtuan1201.github.io/tags/ttbaseuikit

📝 From the Author's Blog

In-depth articles by Tuan Truong on building iOS apps with TTBaseUIKit — from framework origins to SwiftUI integration, UI debugging, and package management.

10 Articles
5 Categories
5+ Years Writing
🏗️ Foundation

TTBaseUIKit — Framework to Build UI Programmatically

The origin story. After 2+ years building Swift apps, Tuan created TTBaseUIKit to eliminate boilerplate and speed up iOS development. This post covers the framework's core philosophy, how to set it up, base component architecture (TTBaseUILabel, TTBaseUIButton, TTBaseUIView), and the programmatic-first approach used in production apps like 12Bay and AiHealth.

🎨 SwiftUI

SwiftUI Series — Updating TTBaseUIKit to Support SwiftUI

The series kick-off: a deep dive into integrating SwiftUI into TTBaseUIKit. Covers imperative vs declarative programming paradigms, when and why to adopt SwiftUI, reusable composable views, and live-coding the bus booking feature in the 12Bay application — completely in SwiftUI.

🎨 SwiftUI v2.1.0

TTBaseUIKit Has Been Integrated with SwiftUI Since Version 2.1.0

Major milestone: TTBaseUIKit v2.1.0 delivers full SwiftUI support targeting iOS 14+. Introduces the new SwiftUI foundation — BaseSUIView, BaseSUIButton, BaseSUIText, BaseSUIStack — and an updated TTBaseUIKitExample that runs side-by-side UIKit and SwiftUI components. Setup guide for UIKit-only and mixed-mode projects included.

🎨 SwiftUI Production

Rebuilding Train Booking Feature by SwiftUI in 12Bay — Design

A real-world case study on redesigning the train booking feature of the 12Bay production app using SwiftUI and TTBaseUIKit. Focus is on the design-first approach: how the team decomposed screens into reusable SwiftUI components, handled navigation flows, and managed state — all without a storyboard.

🎨 SwiftUI Production

12Bay Integrated SwiftUI — No StoryBoard, No XIB, No CocoaPods

How the 12Bay bus booking feature was fully rebuilt using SwiftUI + TTBaseUIKit — eliminating all Storyboards, XIBs, and CocoaPods dependencies. This post documents the migration strategy, the benefits gained (faster build, cleaner diffs, Xcode Previews), and pitfalls to avoid when going full SwiftUI in a production codebase.

🛠️ Tools v2.2.1

New Feature: UI Debugging in TTBaseUIKit Since Version 2.2.1

Introducing TTBaseDebugKit — a built-in UI debugging toolkit activated with a single line. Features: triple-tap layout inspector to visualize constraints, API response log viewer for request/response data, screen capture with annotations, and a developer settings panel. Reduces debugging time dramatically for both solo and team projects.

🛠️ Tools v2.2.2

New Feature: Smart New Version Check & UIKit Previews Since Version 2.2.2

v2.2.2 ships two productivity boosters: (1) Auto version-check — the app automatically checks the App Store for a newer version and prompts users to update; (2) PreviewProvider bridge — lets UIKit developers preview UIViews, ViewControllers, and Cells directly in Xcode Canvas without running the simulator, cutting the feedback loop significantly.

🖌️ Design

How to Design the Food Selection in a Mobile Application

A practical UI/UX guide to designing a food selection screen for mobile apps, using the 12Bay application as a real-world example. Covers component hierarchy, data-driven list rendering, visual hierarchy for menu items, and how TTBaseUIKit's base collection cells were used to bring it to life fast without sacrificing quality.

📦 Packages

How to Update Your Cocoapod Library to Support SwiftPM

A step-by-step guide to migrating a CocoaPods library to also support Swift Package Manager — the exact process followed when TTBaseUIKit was updated to support SPM. Covers creating a Package.swift, configuring source files, handling resource bundles, solving common pitfalls (No such module PackageDescription, podspec validation errors), and publishing the dual-mode package.

📦 Packages

Swift Package Manager (SwiftPM) vs CocoaPods

A comprehensive comparison of the three main iOS dependency managers: Swift Package Manager, CocoaPods, and Carthage. Covers setup complexity, build time impact, Xcode integration, version resolution, and real-world recommendations for choosing or migrating between them — from the perspective of a developer who has used all three on production iOS teams.

✍️

More on the Author's Blog

Tuan Truong writes regularly about iOS development, Swift, architecture patterns, AI-assisted coding, and career growth. Explore the full blog for more in-depth content.