I create my first OSS repository, NSPageControl!

Recently I develop iOS/Mac apps for my company, and I have to use component like UIPageControl in Mac.
But Cocoa framework doesn't supply component like it, so I create named NSPageControl.
I share the benefit from creating OSS.

Why I create OSS

At first, I searched library around Github, and tried BFPageControl and so on via CocoaPods, but I stop searching and start to create library by following reasons.

  • Build error occurs during App build.
  • Interaction differ from my expectation.
  • There is no component written with Swift.
  • Component is not so huge.

Benefit from creating OSS

  • Better understanding for CocoaPods, Carthage
  • improve design
  • Stock reusable component
  • Learn how to use Travis CI
  • Chance to shorten build duration

Better understanding for CocoaPods, Carthage

We have to create .podspec file, register our OSS to CocoaPods/Specs and so on to publish our library.
So we cultivated better understanding for them naturally than as a user of them.

improve design

If you change component into library, you can only access properties/methods with public accessor.
So your app architecture tends to become loose coupling.

Stock reusable component

If you carve out generic code snippet from your project, you can reuse your source code more widely and efficiently.

Learn how to use Travis CI

We can use Travis CI for free about OSS.
Thus we can learn how to use Travis CI via our OSS projects.

Chance to shorten build duration

If you write OSS with Swift, and import it into your project via Carthage, you may shorten build duration of your project.

My Opinion

It's first time to create OSS, but I enjoyed it because I can cultivated better understanding about CocoaPods Carthage.
I recommend you to create your OSS or contribute OSS which you'll use.