swift-composable-architecture
swiftui-introspect
Our great sponsors
swift-composable-architecture | swiftui-introspect | |
---|---|---|
59 | 29 | |
11,018 | 5,104 | |
2.8% | 3.5% | |
9.6 | 8.3 | |
4 days ago | about 1 month ago | |
Swift | Swift | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
swift-composable-architecture
-
Kaleidoscope of iOS app architectures
TCA for short. Very scalable, quite promising, quite popular. A decent alternative for MVVM enhanced by the Clean Architecture. You can learn more about it in a Point-Free tutorial and on GitHub.
-
Koji je vas odnos prema alternativnim hype-ovanim paradimama programiranja, frameworcima i tehnologijama?
Razliciti alternativni frameworci i arhitekture - Recimo, na pamet mi padaju Composable Architecture (https://github.com/pointfreeco/swift-composable-architecture) i RIBs arhitektura (https://github.com/uber/RIBs). Ok, ove arhitekture resavaju neke probleme. Ali da li problemi koje te arhitekture resavaju solidan developer ne moze sam da resi bez vendor locka za kreatore tih arhitektura. Jesu one open-source, ali meni je rizik da se vezujem za bilo sta sto sutra moze da prestane da se odrzava.
-
What is a piece of code (or Framework, extension, etc.) that you add in every new project?
At a minimum, Composable Architecture, and now Dependencies from Point-Free.
-
Ideal architecture for an app entirely in SwiftUI? Example code repo would be great
I’ve built a couple of apps with this framework: https://github.com/pointfreeco/swift-composable-architecture
-
Trouble building for ios device
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") http_archive( name = "com_github_buildbuddy_io_rules_xcodeproj", sha256 = "564381b33261ba29e3c8f505de82fc398452700b605d785ce3e4b9dd6c73b623", url = "https://github.com/buildbuddy-io/rules_xcodeproj/releases/download/0.9.0/release.tar.gz", ) http_archive( name = "cgrindel_rules_spm", sha256 = "03718eb865a100ba4449ebcbca6d97bf6ea78fa17346ce6d55532312e8bf9aa8", strip_prefix = "rules_spm-0.11.0", url = "https://github.com/cgrindel/rules_spm/archive/v0.11.0.tar.gz", ) load( "@cgrindel_rules_spm//spm:defs.bzl", "spm_pkg", "spm_repositories", ) load( "@cgrindel_rules_spm//spm:deps.bzl", "spm_rules_dependencies", ) spm_rules_dependencies() load( "@com_github_buildbuddy_io_rules_xcodeproj//xcodeproj:repositories.bzl", "xcodeproj_rules_dependencies", ) xcodeproj_rules_dependencies() load( "@build_bazel_rules_apple//apple:repositories.bzl", "apple_rules_dependencies", ) apple_rules_dependencies() load( "@build_bazel_rules_swift//swift:repositories.bzl", "swift_rules_dependencies", ) swift_rules_dependencies() load( "@build_bazel_rules_swift//swift:extras.bzl", "swift_rules_extra_dependencies", ) swift_rules_extra_dependencies() load( "@build_bazel_apple_support//lib:repositories.bzl", "apple_support_dependencies", ) apple_support_dependencies() spm_repositories( name = "swift_pkgs", platforms = [ ".macOS(.v10_15)", ], dependencies = [ spm_pkg( url = "https://github.com/apple/swift-log.git", exact_version = "1.4.2", products = ["Logging"], ), spm_pkg( url = "https://github.com/pointfreeco/swift-composable-architecture.git", exact_version = "0.43.0", products = ["ComposableArchitecture"], ), spm_pkg( name = "Bow", url = "https://github.com/bow-swift/bow.git", exact_version = "0.8.0", products = ["Bow", "BowEffects", "BowOptics"], ), spm_pkg( url = "https://github.com/grpc/grpc-swift.git", exact_version = "1.7.3", products = ["GRPC"], ), spm_pkg( url = "https://github.com/hyperoslo/Cache", exact_version = "6.0.0", products = ["Cache"], ), ], )
-
What SwiftUI architecture are you all using?
I’m fairly exclusive to https://github.com/pointfreeco/swift-composable-architecture. There is a learning curve to get started but I really enjoy working with it.
-
What apps should I make to get hired?
Look into some of the architectural patterns out there, find one that makes sense to you, and use that to build your app. For example, check out the Composable Architecture, Clean Architecture, VIPER, MVVM.
-
From Flutter development to iOS native development
You can find out more about it here.
-
SwiftUI for Mac 2022
If you're interested in SwiftUI and care about feature composability, decent test coverage, dependency injection, isolated side effects, functional core and being able to use live previews properly, take a look at: https://github.com/pointfreeco/swift-composable-architecture
Been using it at work for a moderately complex app (not a toy app by any means) and it's been fantastic. We're 7 months in and haven't hit any gotchas, but the learning curve can be a bit steep, especially for more junior iOS devs.
Helps that they have a full video series taking you through the library and how they built it: https://www.pointfree.co/collections/composable-architecture
swiftui-introspect
-
Is it possible to make this kind designs with UIKit?
That's inaccurate. It's built on top of UIKit, at least at the moment, or this kind of project would not be possible. https://github.com/siteline/SwiftUI-Introspect
-
In general, how "safe" is SwiftUI introspect?
Curious if an iOS version bump has ever led to introspect not working and/or crashing.
-
Why is the scroll indicator not at the edge of the screen when in left landscape mode (iPhone 13 mini)?
The scroll indicator insets are not exposed to SwiftUI, as far as I know, but you could use something like SwiftUI-Introspect to get access to the underlying UIScrollView and then set the verticalScrollIndicatorInsets
-
Open source as-you-type formatting and value binding in SwiftUI.
I use https://github.com/siteline/SwiftUI-Introspect
-
What is your favorite SwiftUI library?
Introspect https://github.com/siteline/SwiftUI-Introspect. I've hit problems which become excessively complex in SwiftUI and being able to adjust the underlying UIKit classes solved it without having to rebuild everything from scratch.
-
Any advice to go for SwiftUI on a new production project?
I'd recommend Composable Navigator for navigation & deep linking, as well as Introspect for the times when you need to make minor changes to the UIKit components that back some SwiftUI components (without needing to fully wrap UIKit for SwiftUI).
-
HighlightedTextEditor is an awesome open source SwiftUI view with powerful new features for its 2.0 release
I just released 2.0, which adds a powerful new feature. HLTE works by wrapping a UITextView, which you can now directly access. It’s inspired by SwiftUI Introspect, a great little library.
-
Has SwiftUI changed since WWDC2020?
https://github.com/siteline/SwiftUI-Introspect for the cases when you do want to access that UIKit/AppKit property not exposed by SwiftUI
What are some alternatives?
Clean Architecture for SwiftUI + Combine - SwiftUI sample app using Clean Architecture. Examples of working with CoreData persistence, networking, dependency injection, unit testing, and more.
redux - Predictable state container for JavaScript apps
tca-swiftui-navigation-demo - Demo project that shows how to implement navigation in SwiftUI iOS application using Swift Composable Architecture
SwiftUIX - An exhaustive expansion of the standard SwiftUI library.
iOS-Viper-Architecture - This repository contains a detailed sample app that implements VIPER architecture in iOS using libraries and frameworks like Alamofire, AlamofireImage, PKHUD, CoreData etc.
GRDB.swift - A toolkit for SQLite databases, with a focus on application development
TCA-tutorial
MVVM.Demo - This is a demo application used to educate and interview iOS Engineers.
VIPER Module Generator - A Swift 4.2 VIPER Module Boilerplate Generator with predefined functions and a BaseViewProtocol.
Tempura - A holistic approach to iOS development, inspired by Redux and MVVM
Recombine
ReSwift - Unidirectional Data Flow in Swift - Inspired by Redux