UIUNIVERSALS

WHAT IS UIUNIVERSALS?

UIUniversals is a collection of custom swift & swiftUI views, viewModifiers, and extensions. They are designed to be functional and styled views out of the box, however they boast high customization and flexibility to fit into a variety of apps and projects.

ROLES & RESPONSIBILITIES

I independently developed this project, from problem identification, project brainstorming, and development, to testing, release, and marketing. More than most projects, this package represents my flexibility and craftsmanship as an iOS developer.

Promo

UIUniversals: Perfecting the utility, style, and consistency of SwiftUI.

Metadata

swift & swiftUI Package

2023 > PRESENT

Tags

swift Swift, SwiftUI, iOS Development, App Development, Package

ALL ABOUT UIUNIVERSALS

UIUniversals extends the core swift & swiftUI framework with additional Views & viewModifiers, utilities, and extensions. UIUniversals offers several categories of views: Utility views, Style Views, and ViewModifiers. Utility Views do not have a body, but instead provide many feature not built into native SwiftUI. These can be different CollectionViews, sequence loaders, async handlers, or scroll readers. Style Views extend basic components in SwiftUI, with a default style that can be customized through viewModifiers or built-in args. They are meant to be flexible in terms of utility and esthetic to fit a variety of projects. Lastly the viewModifiers provided by UIUniversals offer the granular tools to construct the pre-baked Views in the rest of the package, as well as reduce the amount of code needed to accomplish common effects, such as switching foregroundColor depending on iOS Device ColorScheme.

UIUniversals also focuses on making writing SwiftUI more functional and consistent with built-in utilities. It provides several classes that contain vars such as pointSizing and Colors, alongside a number of accessor and manipulative methods, that makes using different colors, styles, fonts, and sizing consistent across your entire app, without the need for additional code. All these systems are built to encourage customization, so users can personalize their apps while still getting the benefits of the package.

UIUniversals also offers many extensions to core types in swift, such as Date, String, and Int that reduces the amount of boilerplate users must write.

UIUniversals was initially a collection of internal and separate components that I copied over from one project to another. With each project I worked on demanding new styles, tools, and extensions, I tweaked those core views to be more flexible and reliable; as I released more products, the collection of assets become more robust and more foundational. In the iOS development ecosystem, there is a real lack of consistent, stylized, and easy-to-invoke views. Because SwiftUI components are so flexible in terms of utility and customization, often developers either turn away and create a plain, stripped down, unexciting app, or they layer dozens of viewModifiers on every view in the hierarchy and create an unmaintainable code base and an inconsistent app. After a couple of years iterating on these components in my own projects, I understood that they were becoming capable of solving this major problem for dozens of other iOS developers.

In December of 2023, I began collecting every utility, view, viewModifier, and extension I had used in my projects into one package. I went through each, adding customizable arguments, testing them across different devices and scales, and extending their functionality in any way I could imagine them being used, to transform the collection of assets that had helped me for some many years, into a polished package that could do the same for the larger iOS dev community. Finishing with extensive documentation and a comprehensive example repo, I published UIUniversals to be the perfect dynamic yet consistent foundation for swift & swiftUI apps.

PROBLEM IDENTIFICATION & DESIGN PROCESS