izeni-team / retrolux

The all in one networking solution for iOS.
MIT License
30 stars 3 forks source link

Retrolux v1.0 #27

Open cbh2000 opened 6 years ago

cbh2000 commented 6 years ago

Retrolux v1.0 is currently being designed and prototyped. It's primary goals are:

  1. Use Swift 4's Codable protocols instead of the pre-1.0 "Serializer" concept
  2. Use Swift 4's built-in JSONEncoder and JSONDecoder classes
  3. Enable extensible support for reactive frameworks (i.e., ReactiveCocoa)
  4. Simplify the code base by removing the complex BuilderArg logic
  5. Provide in-depth documentation and examples
  6. Further minimize the core of Retrolux, moving even more items and core functionality into plugins
  7. Simplify common workflow annoyances that we've encountered while using pre-1.0
  8. Make unit testing easier, and built-in instead of a duct-taped add-on like it was in pre-1.0

Currently, we are working on redesigning the Builder API towards accomplishing goals 3, 4, 6, 7, and 8.

cbh2000 commented 6 years ago

The purpose of this issue is to decide upon the scope of v1.0. It should not be used to discuss progress towards implementation.

cbh2000 commented 6 years ago

An in-progress requirements document for Retrolux 1.0 lives here: https://goo.gl/6f1fqf

mitch10e commented 6 years ago

@cbh2000 Are there still plans to move this project forward, or has it been abandoned?

cbh2000 commented 6 years ago

@mitch10e I paused development while I considered future options. I think it's still on, but I'm mostly hesitant about whether or not someone else will be able to maintain it when I'm gone. I'll wait until I know when I'm leaving to decide, but I think it's still on. There are no technical hurdles to overcome as far as Retrolux itself is concerned, I think it's just time to develop it that's needed at this point. I think that making Retrolux strictly an API wrapper and workflow around existing frameworks may be a good way to increase the chances of this being a successful project.