Skip to content

Removed unnecessary dependencies ( SnapKit ) #5

Closed
wants to merge 1 commit into from
Closed

Removed unnecessary dependencies ( SnapKit ) #5

wants to merge 1 commit into from

Conversation

SashaZolotarev
Copy link

Proposal:
The best way for project example:

  1. The user download a ZIP
  2. The user does not need to install 'cocoapods'
  3. The user run .xcodeproj file without ‘pod install'
    3.1) or run .xcworkspace file with ‘Development Pods’ in project.
  4. ???????
  5. PROFIT

Changes:
Removed unnecessary dependencies ( SnapKit ) for reduce entry in an architecture.
The SnapKit was replaced by a layout anchors.

…rchitecture.

The SnapKit was replaced by a layout anchors.
@xzeror
Copy link
Contributor

xzeror commented Dec 21, 2017

@SashaZolotarev the reason we used SnapKit for layout in views is we wanted to show you cleaner and more concise code and SnapKit is one of the best libraries for making layout in your code (of course you can do it in xib or use other libraries etc.). But views themselves are on the peripheral of VIP triangle and are not main part of this project.
Secondly, SnapKit removal doesn't remove other pods that are necessary for tests. And one of the reasons this architecture was created is high testability. And we provide test samples in the project written using Quick+Nimble. Following your proposal we should rewrite those tests in XCTest way. But would you able to read and understand them. I think it would be way to hard to do it. And we wanted to show that TDD is possible and is not so hard when you know how to do it and/or have good examples. So same applies to tests. We used Quick+Nimble to show you clean and concise tests for our architecture.
So why to remove SnapKit while preserving Quick + Nimble?

But you proposal has reasonable workflow. I think that we could commit our dependencies as we anyway do in our projects, so you could just download zip, open workspace and press Cmd-R/U and view results. What do you think of it?

@SashaZolotarev
Copy link
Author

SashaZolotarev commented Dec 21, 2017

@xzeror
Your workflow is cool.
But...
The user ( programmer ) comes to you for fast review your architecture.
He does not know 'SnapKit'.
He does not know 'SwiftLint' ( magic errors for him ).
He does not know 'Quick' and 'Nimble'.
He does not have 'cocoapods'...
You show testability of your architecture.
it’s really cool, it’s really works.
But compare the audience "Quick" and "XCTest".
For example: I'm not familiar with "Quick" and it was difficult for me.
it's just proposal, that’s all.

Copy link
Contributor

@iltsarev iltsarev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Resolved by #8

@iltsarev iltsarev closed this Dec 25, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants