ProtoKit is a collection of protocols and extensions that make prototyping faster and easier with Swift programming language
ProtoKit is structured as a Package (Swift Package Manager, SPM), each swift file contains a specific feature / functionality.
Current features are:
- SwiftUI Views
- Arrow
- Line
- CircleShape (can be animated)
- ProgressText (can be animated)
- SwiftUI Extensions
- uiHostingController
- uiView
- anyView
- UIKit Extensions
- Bundle
- CGRect
- UIApplication
- UICollectionView
- UIColor
- UIImage
- UIImageView
- UILabel
- UIStoryboard
- UITableView
- Closurable (UIControl, UIButton, UIBarButtonItem, UIPageControl, UIGestureRecognizer)
- Configurable
- CoreDataStack
- SourcedError (Custom ErrorType)
- KVO
- NotificationService / TypedNotification (way to pass data via observing/notifying)
- SegueHandlerType
- SelfPresentable (casting as Self)
- Unified Collection (factory and related methods for creating UITableViewDataSources and UICollectionViewDataSources)
ProtoKit version 6.0 and later requires:
- iOS 13+ or tvOS 13+ or MacOS 10.15+
- Xcode 11.2 (Swift 5.1)
- watchOS is not supported
Protocol types and naming conventions used in this framework:
- Can do => -able => Hashable, RawRepresentable, Equatable
- Is a => -Type => CollectionType, SequenceType, ErrorType
- Can be => -Convertible => FloatLiteralConvertible, CustomStringConvertible
Created and maintained by @moximillian.
Unified Collection inspired by
ProtoKit
is released under an MIT License. See LICENSE
for details.
Copyright © 2019-present Mox Soini.
Please provide attribution, it is greatly appreciated.