Lightning

screenshot of Lightning

Lightning provides components to make Swift development easier.

Overview

Lightning is a Swift development framework that provides components to make Swift development easier. It offers various features and tools such as property wrappers, string formatters, atomic containers, timer controllers, weak object references, activity tracking, collection change encapsulation, and extensions on known types.

Features

  • Property Wrapper: @Stored is a property wrapper that enables read/write values using an internal key-value store.
  • Channel: A communication channel that is now a part of Rasat.
  • StringFormatter: A utility for formatting strings.
  • StringMask: A utility for masking strings.
  • Atomic: A thread-safe container for values.
  • TimerController: A wrapper around Timer that simplifies the implementation of countdowns.
  • Weak & WeakArray: Wrappers for referencing objects weakly.
  • ActivityState: A component used to track live activities, often used for showing/hiding loading views.
  • CollectionChange: An enum that encapsulates changes in a collection and can be used to model UITableView/UICollectionView changes.
  • Extensions: Lightning provides extensions on known types such as String, Dictionary, and Int.

Using CocoaPods

Add the following line to your Podfile:

pod 'Lightning'

Using Carthage

Add the following line to your Cartfile:

github "Lightning/Lightning"

Manual Installation

Drag and drop the Sources folder from the Lightning framework into your project.

Please note that it is highly recommended to use a dependency manager like CocoaPods or Carthage for installation.

Summary

Lightning is a Swift development framework that offers various features to make Swift development easier. It provides components such as property wrappers, string formatters, atomic containers, timer controllers, weak object references, activity tracking, collection change encapsulation, and extensions on known types. Installation can be done via CocoaPods, Carthage, or manual installation.