GithubHelp home page GithubHelp logo

futuredapp / funtastykit Goto Github PK

View Code? Open in Web Editor NEW
30.0 8.0 12.0 243 KB

A collection of Swift utilities and protocols used in our projects

License: MIT License

Ruby 4.72% Swift 95.28%
ios utilities architecture protocol uikit swift

funtastykit's Introduction

FuntastyKit logo

FuntastyKit

Cocoapods Cocoapods platforms License

The FuntastyKit for iOS contains:

  • MVVM-C architecture used at Futured, the template for this architecture can be found at https://github.com/futuredapp/MVVM-C-Templates.
  • Some regularly used UIKit extensions.
  • Protocols for simple initialization from XIB files, storyboards and for handling keyboard.
  • Hairline constraint for one-pixel designs.

Installation

If you want to use CocoaPods for dependency management, add following line to your Podfile:

pod 'FuntastyKit', '~> 2.3'

If you also want to use IBInspectable extensions also add:

pod 'FuntastyKit', '~> 2.3', subspecs: ['IBInspectable']

When using Swift package manager add following line to your Package.swift file or add the repository using Xcode:

.package(url: "https://github.com/futuredapp/FuntastyKit.git", from: "2.3.0")

Note on the name

The name of the framework comes from the name of our company before rebranding, Funtasty. Now, we are called Futured, but FuturedKit will be very probably based on SwiftUI instead of UIKit.

Contributors

If you have any questions or issues, please contact the current maintainer:

Over the years many inside and outside contributors made improvements to this library, namely:

License

FuntastyKit is available under the MIT license. See the LICENSE file for more info.

funtastykit's People

Contributors

adamsalih avatar bezoadam avatar dependabot[bot] avatar erde33 avatar michalsrutek avatar mikolasstuchlik avatar mkj-is avatar mpinka avatar mstana avatar patrez avatar romanpodymov avatar tomasbabulak avatar zvonicek avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

funtastykit's Issues

Promising coordinator

We have several implementation of guaranteeing/promising cvoordinator which is returning value during stop.

A subspec with dependency on PromiseKit was proposed and I personally agree this is a good idea and could help to add more PromiseKit related architecture components to FuntastyKit.

Example implementation on which can we build upon can be taken from here:

https://github.com/thefuntasty/kartel-ios/pull/40

Show view controller memory leak

Show view controller, when used in split view controller, causes memory leak due to strong reference between sourceViewController (UIViewController) of detail view controller and viewController (UISplitViewController) of master view controller.

Potential reference cycle in PushCoordinator

In few our projects we noticed whole VC hierarchies can leak.

Typical use-case is when we want to change full hierarchy/window (deep link etc.) If all the push coordinators aren't popped then the navigation controller with whole stack of pushed view controllers is leaked.

We should make the navigation controller on push coordinator weak. Be aware, it is breaking change.

Add subspec for IBInspectable

IBInspectable extensions are crashing Interface builder. A proposed solution is to add a subspec for the extensions so it is easy to disable them.

Deprecate current version of ServiceHolder

We currently do not prefer using service holder provided in FuntastyKit and use simple struct or final class instead. We could deprecate or even remove the ServiceHolder in the next release.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.